Skip to content
Snippets Groups Projects
Commit ca24a30e authored by Johannes Raggam's avatar Johannes Raggam
Browse files

finalize form with date/time submission functionality

parent 40c628c4
Branches
Tags
No related merge requests found
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<script type="text/javascript"><!-- <script type="text/javascript"><!--
$(document).ready(function() { $(document).ready(function() {
$(":date").dateinput({ $("#nop_date").dateinput({
format: 'yyyy-mm-dd', format: 'yyyy-mm-dd',
firstDay: 1 firstDay: 1
}); });
$("#time").AnyTime_picker({ $("#nop_time").AnyTime_picker({
format: "%H:%i", format: "%H:%i",
labelTitle: "Zeit", labelTitle: "Zeit",
labelHour: "Stunde", labelHour: "Stunde",
...@@ -27,10 +27,25 @@ ...@@ -27,10 +27,25 @@
<body> <body>
<div id="content-main" class="show-detail"> <div id="content-main" class="show-detail">
<input type="date" id="date" class="date" value="" /> <form action="" method="post">{% csrf_token %}
<input type="text" id="time" class="date" value="" /> {{ form.as_table }}
<input type="submit" value="senden" />
</form>
{% if nowplaying %}
<ul>
{% for track in nowplaying %}
<li>
<small>{{track.datetime}}:</small>
<strong>{{track.artist}}</strong> -
{{track.title}} -
{{track.album}}
in der Sendung <em>{{track.showtitle}}</em>
</li>
{% endfor %}
</ul>
{% endif %}
</div> </div>
</body> </body>
</html> </html>
from django.views.generic import simple from django.core.context_processors import csrf
from django.shortcuts import render_to_response
from django.http import HttpResponse from django.http import HttpResponse
from django import forms
from models import Master from models import Master
import json import json
import time import time
from datetime import datetime
class NopForm(forms.Form):
date = forms.DateField(
required=True,
initial=datetime.date(datetime.now()),
widget=forms.DateInput(
format='%Y-%m-%d',
attrs={'id':'nop_date', 'class':'date'})
)
time = forms.TimeField(
required=True,
initial=datetime.time(datetime.now()),
widget=forms.TimeInput(
format='%H:%M',
attrs={'id':'nop_time', 'class':'date'})
)
def get_current(request):
def _current():
#current = int(time.time())*1000000 #current = int(time.time())*1000000
#time.gmtime(Master.objects.using('nop').all()[6000].timestamp//1000000) #time.gmtime(Master.objects.using('nop').all()[6000].timestamp//1000000)
# select all where timestamp < givenTS, get most recent one -> order DESC # select all where timestamp < givenTS, get most recent one -> order DESC
# reverse sorted. get the first object = last played # reverse sorted. get the first object = last played
result = Master.objects.using('nop').all()[0] result = Master.objects.using('nop').all()[0]
response = json.dumps({'artist': result.artist, 'title': result.title}) return {'artist': result.artist, 'title': result.title}
#return HttpResponse(response, mimetype='application/json')
return HttpResponse(response, mimetype='text/plain')
def get(request, year=None, month=None, day=None, hour=None, minute=None):
def _bydate(year=None, month=None, day=None, hour=None, minute=None):
try: try:
# tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst # tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst
ts = int(time.mktime(( ts = int(time.mktime((
...@@ -29,19 +44,40 @@ def get(request, year=None, month=None, day=None, hour=None, minute=None): ...@@ -29,19 +44,40 @@ def get(request, year=None, month=None, day=None, hour=None, minute=None):
int(minute),0,0,0,-1))) * 1000000 int(minute),0,0,0,-1))) * 1000000
result = Master.objects.using('nop').filter(timestamp__lt=ts)[:5] result = Master.objects.using('nop').filter(timestamp__lt=ts)[:5]
response = json.dumps( return [{'artist': item.artist, 'title': item.title, 'album': item.album,
[{'artist': item.artist, 'title': item.title, 'album': item.album, 'datetime': time.strftime('%Y-%m-%d %H:%M',
'datetime': time.strftime('%Y-%m-%d %H:%M', time.localtime(item.timestamp//1000000)),
time.localtime(item.timestamp//1000000)), 'showtitle': item.showtitle} for item in result]
'showtitle': item.showtitle} for item in result])
except: # all errors except: # all errors
response = '' return None
def get_current(request):
response = json.dumps(_current())
#return HttpResponse(response, mimetype='application/json')
return HttpResponse(response, mimetype='text/plain')
def get(request, year=None, month=None, day=None, hour=None, minute=None):
response = json.dumps(_bydate(year, month, day, hour, minute))
#return HttpResponse(response, mimetype='application/json') #return HttpResponse(response, mimetype='application/json')
return HttpResponse(response, mimetype='text/plain') return HttpResponse(response, mimetype='text/plain')
def nop_form(request): def nop_form(request):
extra_context = {'year':None, 'month':None, 'day':None, 'hour':None, 'minute': None} context = {}
if 'year' in request.GET: context.update(csrf(request))
pass if request.method == 'POST':
return simple.direct_to_template(request, extra_context=extra_context, template='nop/nop_form.html') form = NopForm(request.POST)
if form.is_valid():
date = form.cleaned_data['date']
time = form.cleaned_data['time']
else:
form = NopForm()
date = datetime.date(datetime.now())
time = datetime.time(datetime.now())
result = _bydate(date.year, date.month, date.day, time.hour, time.minute)
context['nowplaying'] = result
context['form'] = form
return render_to_response('nop/nop_form.html', context)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment