Forráskód Böngészése

Реализовано добавление заказов

Anastasia 10 éve
szülő
commit
a06f51f26a
5 módosított fájl, 31 hozzáadás és 5 törlés
  1. 8 0
      asuzr/forms.py
  2. 13 3
      asuzr/views.py
  3. 1 0
      record/urls.py
  4. 2 2
      templates/asuzr/base.html
  5. 7 0
      templates/asuzr/table2.html

+ 8 - 0
asuzr/forms.py

@@ -1,7 +1,9 @@
 # -*- coding: utf-8 -*-
 from django import forms
+from django.forms import ModelForm
 from datetime import date
 from django.contrib.admin.widgets import AdminDateWidget
+from asuzr.models import Order
 
 class DateForm (forms.Form):
   date = forms.DateField(widget = AdminDateWidget, label = u'Дата', initial = date.today)
@@ -9,3 +11,9 @@ class DateForm (forms.Form):
 class DiapDateForm (forms.Form):
   sdate = forms.DateField(widget = AdminDateWidget, label = u'С', initial = date.today)
   edate = forms.DateField(widget = AdminDateWidget, label = u'по', initial = date.today)
+
+class OrderForm(ModelForm):
+  class Meta:
+    model = Order
+    fields = ['product', 'price', 'paid', 'address', 'deadline', 'delivery', 'lifting']
+  

+ 13 - 3
asuzr/views.py

@@ -117,6 +117,8 @@ def visit_view(request):
 
   orders_table = get_day_orders_table(curr_date, 'orders-')
   RequestConfig(request).configure(orders_table)
+  
+  order_form = OrderForm()
 
   title = 'Таблица посещаемости на %s' % curr_date.strftime('%B %Y г')
   return render(request, 'asuzr/table2.html', {
@@ -124,7 +126,9 @@ def visit_view(request):
                                                'table2': orders_table,
                                                'additional_info': add_info,
                                                'title': title,
-                                               'form': form})
+                                               'dateform': form,
+                                               'order_form': order_form
+                                               })
 
 @login_required 
 def main(request, day, month, year):
@@ -213,6 +217,12 @@ def sketches(request, order_id):
                                                  'sketch_list': sketch_list, 
                                                  'title': 'Эскизы заказа: %s' % curr_order})
 
+def add_order(request):
+  new_order = Order(date=date.today(), designer = request.user)
+  form = OrderForm(request.POST, instance = new_order)
+  form.save()
+  return redirect(visit_view)
+
 def delete_sketch(request):
   pk = request.GET.get('pk', -1)
   sketch = get_object_or_404(Sketch, pk = pk)
@@ -241,7 +251,7 @@ def desreport(request):
   title = u'Отчет по дизайнерам за '+' - '.join((start_date, end_date))
   form = DiapDateForm({'sdate': sdate, 'edate': edate})
   RequestConfig(request).configure(table)
-  return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'form': form})
+  return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'dateform': form})
 
 @login_required
 def production_table(request, order_id):
@@ -277,7 +287,7 @@ def prod_plan_view(request):
   title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y'))
   form = DateForm({'date':curr_date})
   RequestConfig(request).configure(table)
-  return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'form': form})
+  return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'dateform': form})
 
 @login_required
 def log_view(request):

+ 1 - 0
record/urls.py

@@ -16,6 +16,7 @@ urlpatterns = patterns('',
     url(r'^product/(?P<prod_id>\d+)/$', 'asuzr.views.prod_detail'),
     url(r'^main/?(?P<day>\d+)?/?(?P<month>\d+)?/?(?P<year>\d+)?/$', 'asuzr.views.main', name='asuzr-main'),
     url(r'^visits/$', 'asuzr.views.visit_view'),
+    url(r'^order/add/$', 'asuzr.views.add_order', name = 'add-order'),
     url(r'^orders/(?P<archive>\d+)/$', 'asuzr.views.orders',name='asuzr-orders'),
     url(r'^desreport/$', 'asuzr.views.desreport'),
     url(r'^production_table/(?P<order_id>\d+)/$', 'asuzr.views.production_table'),

+ 2 - 2
templates/asuzr/base.html

@@ -72,9 +72,9 @@
 
 
 {% block controls %}
-{% if form %}
+{% if dateform %}
 <form  id='dateform' method="get">
-    {{ form }}
+    {{ dateform }}
     <input type="submit" value="OK" />
 </form>
 {% endif %}

+ 7 - 0
templates/asuzr/table2.html

@@ -5,6 +5,13 @@
 {% block page %}
   <div class="inline"><div><h3>{{ table1.verbose_name }}</h3></div>{% render_table table1 %}</div>
   <div class="inline"><div><h3>{{ table2.verbose_name }}</h3></div>{% render_table table2 %}</div>
+  {% if order_form %}
+  <form action="{% url 'add-order' %}" method="POST" >
+  {% csrf_token %}
+  {{order_form}}
+  <input type="submit" text="Добавить заказ">
+  </form>
+  {% endif %}
   {% if additional_info %}
    <div>
     <hr>