Bläddra i källkod

Добавлена пробная форма для ввода даты

Anastasia 10 år sedan
förälder
incheckning
e30d66e502
5 ändrade filer med 42 tillägg och 5 borttagningar
  1. 5 0
      asuzr/forms.py
  2. 23 5
      asuzr/views.py
  3. 1 0
      record/urls.py
  4. 9 0
      templates/asuzr/base.html
  5. 4 0
      templates/asuzr/date_control.html

+ 5 - 0
asuzr/forms.py

@@ -0,0 +1,5 @@
+from django import forms
+from datetime import date
+
+class DateForm (forms.Form):
+  date = forms.DateField(label = 'Date')

+ 23 - 5
asuzr/views.py

@@ -1,7 +1,7 @@
-# -*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
 
 from django.shortcuts import render
-from django.http import HttpResponse
+from django.http import HttpResponse, HttpResponseRedirect
 from django.template import RequestContext, Context, loader
 from asuzr.models import Product
 from asuzr.models import Attendance
@@ -15,6 +15,7 @@ from django.db.models import Count, Sum
 from asuzr.common import custom_date
 from django.contrib.auth.decorators import login_required
 from tables import *
+from forms import *
 from django_tables2 import RequestConfig
 
 @login_required 
@@ -46,6 +47,8 @@ def get_orders_by_date(dt):
 @login_required
 def visit_view(request):
   curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
+  form = DateForm(request.GET, initial = {'date': curr_date})
+  
   y,m = curr_date.year, curr_date.month
   day_in_month = calendar.monthrange(y,m)[1]
   month_days = {i+1: {'date': custom_date(y,m,i+1)} for i in range(day_in_month)}
@@ -62,8 +65,6 @@ def visit_view(request):
   order_list = order_list.values('date')
   order_list = order_list.annotate(Count('product'), Sum('price'))
 
-  print order_sum
-
   for order in order_list:
     month_days[order['date'].day]['order'] = order
 
@@ -85,7 +86,15 @@ def visit_view(request):
                         'cost': order_sum['price__sum'],
                       })
   title = 'Таблица посещаемости на %s г.' % curr_date.strftime('%B %Y')
-  return render(request, 'asuzr/table.html', {'table': table, 'title': title})
+  
+  if request.method == 'POST':
+    form = DateForm(request.POST)
+    if form.is_valid():
+      print form.cleaned_data
+  else:
+    form = DateForm()
+    
+  return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'form': form})
 
 @login_required 
 def main(request, day, month, year):
@@ -217,3 +226,12 @@ def prod_plan_view(request):
   title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y'))
   RequestConfig(request).configure(table)
   return render(request, 'asuzr/table.html', {'table': table, 'title': title})
+
+def get_date(request):
+  if request.method == 'POST':
+    form = DateForm(request.POST)
+    if form.is_valid():
+      HttpResponse("AAA")
+  else:
+    form = DateForm()
+  return render(request, 'asuzr/date_control.html', {'form': form})

+ 1 - 0
record/urls.py

@@ -26,6 +26,7 @@ urlpatterns = patterns('',
     url(r'^accounts/login/$',  login),
     url(r'^accounts/logout/$', logout),
     url(r'^jsi18n$', 'django.views.i18n.javascript_catalog', js_info_dict),
+    url(r'^test/$', 'asuzr.views.get_date'),
 )
 
 if settings.DEBUG:

+ 9 - 0
templates/asuzr/base.html

@@ -53,6 +53,15 @@
 </div>
 {% endblock %}
 
+
+{% block controls %}
+{% if form %}
+<form action="/visits/" method="get">
+    {{ form }}
+    <input type="submit" value="OK" />
+</form>
+{% endif %}
+{% endblock %}
 <div id='content'>
 <H1>{% block title %}{{ title }}{% endblock %}</H1> 
 

+ 4 - 0
templates/asuzr/date_control.html

@@ -0,0 +1,4 @@
+<form action="/curr-date/" method="post">
+    {{ form }}
+    <input type="submit" value="Submit" />
+</form>