diff --git a/asuzr/common.py b/asuzr/common.py index d1d14ba..e581596 100644 --- a/asuzr/common.py +++ b/asuzr/common.py @@ -14,10 +14,9 @@ class custom_date(date): def weekday_color(self): return self.day_colors[self.weekday()] - @property - def date_dd_mm_yy(self): - return self.strftime('%d/%m/%Y') - @property def is_weekend(self): return self.weekday() >= 5 + + def __format__(self): + return self.strftime('%d.%m.%Y') diff --git a/asuzr/models.py b/asuzr/models.py index 032bad1..4c920fc 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -108,6 +108,13 @@ class Order(models.Model): return need_color + def save(self, *args, **kwargs): + super(Order, self).save(*args, **kwargs) + cost_items = CostItem.objects.filter(default_item = True) + for ci in cost_items: + new_order_cost = OrderCosts(order = self, cost_item = ci, value = 0, formula = '') + new_order_cost.save() + #Эскизы class Sketch(models.Model): def get_sketch_path(self, file_name): diff --git a/asuzr/tables.py b/asuzr/tables.py index 9bb650f..d26c376 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -67,8 +67,8 @@ class ThumbnailColumn(tables.TemplateColumn): super(ThumbnailColumn, self).__init__(template, *args, **kwargs) class OrdersTable(tables.Table): - date = tables.DateColumn('d/m/Y', verbose_name = 'Дата') - deadline = tables.DateColumn('d/m/Y', verbose_name = 'Срок сдачи') + date = tables.DateColumn('d.m.Y', verbose_name = 'Дата') + deadline = tables.DateColumn('d.m.Y', verbose_name = 'Срок сдачи') #product = tables.LinkColumn('asuzr.views.production_table', verbose_name = 'Наименование', args=[tables.utils.A('pk')]) product = StaffLinkColumn(view = 'asuzr.views.production_table', verbose_name = 'Наименование') delivery = EditableColumn('delivery', verbose_name = 'Доставка') @@ -159,6 +159,7 @@ class VisitTable(tables.Table): idx = indexes[s] self.summary[idx] = summaries[s] + def render_orders(self, value, record, column): value = 0 if value == None else value return mark_safe('%s' % ( @@ -201,7 +202,7 @@ class DayOrdersTable(OrdersTable): 'designer', 'deadline', ) - template = 'asuzr/totals_table.html' + template = 'asuzr/table_with_form.html' class ProdPlanTable(tables.Table): date = tables.Column(verbose_name = 'Дата') @@ -215,14 +216,11 @@ class ProdPlanTable(tables.Table): class ProductionTable(tables.Table): cost_item = tables.Column(verbose_name = 'Комплектующие') - value = tables.Column(verbose_name = 'Стоимость') + value = EditableColumn('value', verbose_name = 'Стоимость') summary = ['Итого затрат', 0] balance = ['Прибыль', 0] - def render_value(self, value): - return '%0.2f' % value - def set_summary(self, value): self.summary[1] = value diff --git a/asuzr/views.py b/asuzr/views.py index 7581255..82fe873 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -128,7 +128,7 @@ def visit_view(request): 'additional_info': add_info, 'title': title, 'dateform': form, - 'order_form': order_form + 'model_form': order_form }) @login_required diff --git a/record/settings.py b/record/settings.py index e13cd80..3ce6a50 100644 --- a/record/settings.py +++ b/record/settings.py @@ -107,3 +107,4 @@ from django.utils.safestring import mark_safe INPLACEEDIT_EDIT_EMPTY_VALUE = mark_safe(u'
Редактировать
') ADAPTOR_INPLACEEDIT_EDIT = 'inplaceeditform.perms.AdminDjangoPermEditInline' + diff --git a/templates/asuzr/table2.html b/templates/asuzr/table2.html index 350cf40..962483d 100644 --- a/templates/asuzr/table2.html +++ b/templates/asuzr/table2.html @@ -3,8 +3,8 @@ {% load render_table from django_tables2 %} {% block page %} -

{{ table1.verbose_name }}

{% render_table table1 %}
-

{{ table2.verbose_name }}

{% render_table table2 %}
+

{{ table1.verbose_name }}

{% render_table table1 %}
+

{{ table2.verbose_name }}

{% render_table table2 %}
{% if order_form %}
{% csrf_token %} diff --git a/templates/asuzr/table_with_form.html b/templates/asuzr/table_with_form.html new file mode 100644 index 0000000..f82f136 --- /dev/null +++ b/templates/asuzr/table_with_form.html @@ -0,0 +1,41 @@ +{% extends "asuzr/totals_table.html" %} +{% load django_tables2 %} +{% load i18n %} +{% block table.tbody %} + + {% for row in table.page.object_list|default:table.rows %} {# support pagination #} + {% block table.tbody.row %} + {# avoid cycle for Django 1.2-1.6 compatibility #} + {% for column, cell in row.items %} + {% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %} + {% endfor %} + + {% endblock table.tbody.row %} + {% empty %} + {% if table.empty_text %} + {% block table.tbody.empty_text %} + {{ table.empty_text }} + {% endblock table.tbody.empty_text %} + {% endif %} + {% endfor %} + {% if model_form %} + + {% csrf_token %} + + {{model_form.product}} + {{model_form.price}} + {{model_form.paid}} + {{model_form.address}} + + {{model_form.deadline}} + {{model_form.delivery}} + {{model_form.lifting}} + + + + + +
+ {% endif %} + +{% endblock table.tbody %} \ No newline at end of file