diff --git a/asuzr/.views.py.kate-swp b/asuzr/.views.py.kate-swp new file mode 100644 index 0000000..1a8ec4a Binary files /dev/null and b/asuzr/.views.py.kate-swp differ diff --git a/asuzr/models.py b/asuzr/models.py index 30bead2..006eb4a 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -63,18 +63,30 @@ class Order(models.Model): delivery = models.BooleanField(default=False) #доставка lifting = models.BooleanField(default=False) #подъем paid = models.DecimalField(max_digits=12, decimal_places=2) #оплачено - approved = models.DateTimeField(null=True, blank = True) #согласовано + approved = models.DateTimeField(null=True, blank = True) #согласовано executor = models.ForeignKey(User, related_name='+') #id исполнителя is_done = models.BooleanField(default=False) #сдан - calls = models.TextField(null=True, blank = True) #обзвон - contact = models.CharField(max_length=150, null=True, blank = True) #контактное лицо - phone_num = models.CharField(max_length=150,null=True, blank = True) #контактный телефон + calls = models.TextField(null=True, blank = True) #обзвон + contact = models.CharField(max_length=150, null=True, blank = True) #контактное лицо + phone_num = models.CharField(max_length=150,null=True, blank = True) #контактный телефон cancelled = models.BooleanField(default=False) #отменен + @property + def date_dmy(self): + return self.date.strftime("%d/%m/%Y") + @property def deadline_dmy(self): return self.deadline.strftime("%d/%m/%Y") + @property + def approved_date(self): + return self.approved.strftime("%d/%m/%Y") + + @property + def ostatok(self): + return self.price-self.paid + #Эскизы class Sketch(models.Model): sketch_file = models.FileField(upload_to = 'sketches') #путь к файу diff --git a/asuzr/models.pyc b/asuzr/models.pyc index 9685f45..4e5cf7c 100644 Binary files a/asuzr/models.pyc and b/asuzr/models.pyc differ diff --git a/asuzr/views.py b/asuzr/views.py index 2bb9b65..a8fee6d 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -20,39 +20,6 @@ def prod_detail(request, prod_id): return HttpResponse("This is %s" % prod_id) -def attend_table(request, year, month): - attend_list = Attendance.objects.all().order_by('date') - filtered_list=[] - for a in attend_list: - a_date = a.date - if a_date.strftime('%m/%Y') == month+'/'+year: - filtered_list.append(a) - - sum_calls = sum(l.calls for l in filtered_list) - sum_visits = sum(l.visits for l in filtered_list) - sum_orders = sum(l.order_count for l in filtered_list) - sum_price = sum(l.orders_price for l in filtered_list) - t = loader.get_template('asuzr/attendance.html') - c = Context({ - 'attend_list': filtered_list, - 'sum_calls': sum_calls, - 'sum_visits': sum_visits, - 'sum_orders': sum_orders, - 'sum_price': sum_price, - }) - return HttpResponse(t.render(c)) - -def orders_table(request, year, month, day): - p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y') - order_list = Order.objects.filter(date=p_date).order_by('id') - sum_price = sum(l.price for l in order_list) - t = loader.get_template('asuzr/orders.html') - c = Context({ - 'order_list': order_list, - 'sum_price': sum_price, - }) - return HttpResponse(t.render(c)) - def get_filtered_list(p_list, year, month): filtered_list=[] for a in p_list: @@ -66,35 +33,6 @@ def get_orders_by_date(dt): order_list = Order.objects.filter(date=dt).order_by('id') return order_list -def attend_order_table(request, year, month): - attend_list = Attendance.objects.all().order_by('date') - filtered_attend_list=get_filtered_list(attend_list, year, month) - - order_list = Order.objects.all().order_by('id') - filtered_order_list = get_filtered_list(order_list, year, month) - - plan = OrderPlan.objects.all() - filtered_plan = get_filtered_list(plan, year, month) - - sum_calls = sum(l.calls for l in filtered_attend_list) - sum_visits = sum(l.visits for l in filtered_attend_list) - sum_orders = sum(l.order_count for l in filtered_attend_list) - sum_price = sum(l.orders_price for l in filtered_attend_list) - - sum_order_price = sum(l.price for l in filtered_order_list) - - t = loader.get_template('asuzr/attend_order.html') - c = Context({ - 'attend_list': filtered_attend_list, - 'order_list': filtered_order_list, - 'sum_calls': sum_calls, - 'sum_visits': sum_visits, - 'sum_orders': sum_orders, - 'sum_price': sum_price, - 'sum_order_price': sum_order_price, - 'plan': filtered_plan[0], - }) - return HttpResponse(t.render(c)) def main(request, day, month, year): attend_list = Attendance.objects.all().order_by('date') @@ -130,6 +68,13 @@ def main(request, day, month, year): 'd_date': d_date, }) return HttpResponse(t.render(c)) - + +def orders (request): + order_list = Order.objects.filter(is_done=False).order_by('-id') + t=loader.get_template('asuzr/orders.html') + c=Context({ + 'order_list': order_list, + }) + return HttpResponse(t.render(c)) diff --git a/asuzr/views.pyc b/asuzr/views.pyc index edad42c..7833b76 100644 Binary files a/asuzr/views.pyc and b/asuzr/views.pyc differ diff --git a/db.sqlite3 b/db.sqlite3 index 879ba87..5d8328c 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/record/urls.py b/record/urls.py index ec4e03e..c5b0f89 100644 --- a/record/urls.py +++ b/record/urls.py @@ -9,9 +9,7 @@ urlpatterns = patterns('', # url(r'^blog/', include('blog.urls')), url(r'^product/$', 'asuzr.views.prod_list'), url(r'^product/(?P\d+)/$', 'asuzr.views.prod_detail'), - url(r'^attendance/(?P\d+)/(?P\d+)/$', 'asuzr.views.attend_table'), url(r'^main/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.main', name='asuzr-main'), - url(r'^orders/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.orders_table'), - url(r'^attend_order/(?P\d+)/(?P\d+)/$', 'asuzr.views.attend_order_table'), + url(r'^orders/$', 'asuzr.views.orders'), url(r'^admin/', include(admin.site.urls)), ) diff --git a/record/urls.pyc b/record/urls.pyc index 4566253..306caf3 100644 Binary files a/record/urls.pyc and b/record/urls.pyc differ diff --git a/sketches/front_view.PDF b/sketches/front_view.PDF new file mode 100644 index 0000000..523275a Binary files /dev/null and b/sketches/front_view.PDF differ diff --git a/sketches/top_view.PDF b/sketches/top_view.PDF new file mode 100644 index 0000000..9b48588 Binary files /dev/null and b/sketches/top_view.PDF differ diff --git a/templates/asuzr/attend_order.html b/templates/asuzr/attend_order.html index 30014c2..304d0ea 100644 --- a/templates/asuzr/attend_order.html +++ b/templates/asuzr/attend_order.html @@ -2,7 +2,7 @@ {% include 'asuzr/attendance.html' %} - {% include 'asuzr/orders.html' %} + {% include 'asuzr/orders_detail.html' %} {% include 'asuzr/plan_balance.html' %} \ No newline at end of file diff --git a/templates/asuzr/orders.html b/templates/asuzr/orders.html index 8ebb8bf..b6cdab8 100644 --- a/templates/asuzr/orders.html +++ b/templates/asuzr/orders.html @@ -1,41 +1,50 @@ - Заказы + -

Заказы на {{ d_date }}

+

Таблица выхода заказов

{% if order_list %} -
    +
- - - - + + + + + + + + + + + + {% for order in order_list %} - - - - - - - + + + + + + + + + + + + + + + {% endfor %} - - - - - - - - + {% else %} -

Список заказов пуст

+

Список заказов пуст

{% endif %} -
НаименованиеСтоимостьАдресДизайнерДата Срок сдачиНаименованиеДоставкаПодьемАдресСтоимостьОплаченоОстатокСогласованоЭскизИсполнительСдан
{{ order.product.name }}{{ order.price }}{{ order.address }}{{ order.designer.first_name }}{{ order.deadline_dmy }}
{{ order.date_dmy }}{{ order.deadline_dmy }}{{ order.product.name }}{%if order.delivery%} Да {% else %} Нет {% endif %} {%if order.lifting%} Да {% else %} Нет {% endif %}{{ order.address }}{{ order.price }}{{ order.paid }}{{ order.ostatok }}{%if order.approved%} {{ order.approved_date }} {%else%} Нет {% endif %}{{order.sketch.sketch_file}}{{ order.executor.first_name }}{%if order.is_done%} Да {%else%} Нет {% endif %}
ИТОГО:{{sum_price}}
+ \ No newline at end of file diff --git a/templates/asuzr/orders_detail.html b/templates/asuzr/orders_detail.html new file mode 100644 index 0000000..8ebb8bf --- /dev/null +++ b/templates/asuzr/orders_detail.html @@ -0,0 +1,41 @@ + + + Заказы + + + + +

Заказы на {{ d_date }}

+ + {% if order_list %} +
    +
+ + + + + + + {% for order in order_list %} + + + + + + + + {% endfor %} + + + + + + + + + {% else %} +

Список заказов пуст

+ {% endif %} +
НаименованиеСтоимостьАдресДизайнерСрок сдачи
{{ order.product.name }}{{ order.price }}{{ order.address }}{{ order.designer.first_name }}{{ order.deadline_dmy }}
ИТОГО:{{sum_price}}
+ + \ No newline at end of file