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
No related branches found
No related tags found
No related merge requests found
......@@ -10,11 +10,11 @@
<script type="text/javascript"><!--
$(document).ready(function() {
$(":date").dateinput({
$("#nop_date").dateinput({
format: 'yyyy-mm-dd',
firstDay: 1
});
$("#time").AnyTime_picker({
$("#nop_time").AnyTime_picker({
format: "%H:%i",
labelTitle: "Zeit",
labelHour: "Stunde",
......@@ -27,10 +27,25 @@
<body>
<div id="content-main" class="show-detail">
<input type="date" id="date" class="date" value="" />
<input type="text" id="time" class="date" value="" />
<form action="" method="post">{% csrf_token %}
{{ 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>
</body>
</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 import forms
from models import Master
import json
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
#time.gmtime(Master.objects.using('nop').all()[6000].timestamp//1000000)
# select all where timestamp < givenTS, get most recent one -> order DESC
# reverse sorted. get the first object = last played
result = Master.objects.using('nop').all()[0]
response = json.dumps({'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):
return {'artist': result.artist, 'title': result.title}
def _bydate(year=None, month=None, day=None, hour=None, minute=None):
try:
# tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst
ts = int(time.mktime((
......@@ -29,19 +44,40 @@ def get(request, year=None, month=None, day=None, hour=None, minute=None):
int(minute),0,0,0,-1))) * 1000000
result = Master.objects.using('nop').filter(timestamp__lt=ts)[:5]
response = json.dumps(
[{'artist': item.artist, 'title': item.title, 'album': item.album,
'datetime': time.strftime('%Y-%m-%d %H:%M',
time.localtime(item.timestamp//1000000)),
'showtitle': item.showtitle} for item in result])
return [{'artist': item.artist, 'title': item.title, 'album': item.album,
'datetime': time.strftime('%Y-%m-%d %H:%M',
time.localtime(item.timestamp//1000000)),
'showtitle': item.showtitle} for item in result]
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='text/plain')
def nop_form(request):
extra_context = {'year':None, 'month':None, 'day':None, 'hour':None, 'minute': None}
if 'year' in request.GET:
pass
return simple.direct_to_template(request, extra_context=extra_context, template='nop/nop_form.html')
context = {}
context.update(csrf(request))
if request.method == 'POST':
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.
Finish editing this message first!
Please register or to comment