Реализовано добавление статей по умполчанию при создании заказа. Форма создания заказа перенесена в таблицу

This commit is contained in:
Anastasia
2015-07-27 14:57:33 +05:00
parent 03d5bcaa42
commit b20ff6cb46
7 changed files with 60 additions and 14 deletions

View File

@@ -14,10 +14,9 @@ class custom_date(date):
def weekday_color(self): def weekday_color(self):
return self.day_colors[self.weekday()] return self.day_colors[self.weekday()]
@property
def date_dd_mm_yy(self):
return self.strftime('%d/%m/%Y')
@property @property
def is_weekend(self): def is_weekend(self):
return self.weekday() >= 5 return self.weekday() >= 5
def __format__(self):
return self.strftime('%d.%m.%Y')

View File

@@ -108,6 +108,13 @@ class Order(models.Model):
return need_color 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): class Sketch(models.Model):
def get_sketch_path(self, file_name): def get_sketch_path(self, file_name):

View File

@@ -67,8 +67,8 @@ class ThumbnailColumn(tables.TemplateColumn):
super(ThumbnailColumn, self).__init__(template, *args, **kwargs) super(ThumbnailColumn, self).__init__(template, *args, **kwargs)
class OrdersTable(tables.Table): class OrdersTable(tables.Table):
date = tables.DateColumn('d/m/Y', verbose_name = 'Дата') date = tables.DateColumn('d.m.Y', verbose_name = 'Дата')
deadline = 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 = tables.LinkColumn('asuzr.views.production_table', verbose_name = 'Наименование', args=[tables.utils.A('pk')])
product = StaffLinkColumn(view = 'asuzr.views.production_table', verbose_name = 'Наименование') product = StaffLinkColumn(view = 'asuzr.views.production_table', verbose_name = 'Наименование')
delivery = EditableColumn('delivery', verbose_name = 'Доставка') delivery = EditableColumn('delivery', verbose_name = 'Доставка')
@@ -159,6 +159,7 @@ class VisitTable(tables.Table):
idx = indexes[s] idx = indexes[s]
self.summary[idx] = summaries[s] self.summary[idx] = summaries[s]
def render_orders(self, value, record, column): def render_orders(self, value, record, column):
value = 0 if value == None else value value = 0 if value == None else value
return mark_safe('<a href="%s?date=%s">%s</a>' % ( return mark_safe('<a href="%s?date=%s">%s</a>' % (
@@ -201,7 +202,7 @@ class DayOrdersTable(OrdersTable):
'designer', 'designer',
'deadline', 'deadline',
) )
template = 'asuzr/totals_table.html' template = 'asuzr/table_with_form.html'
class ProdPlanTable(tables.Table): class ProdPlanTable(tables.Table):
date = tables.Column(verbose_name = 'Дата') date = tables.Column(verbose_name = 'Дата')
@@ -215,14 +216,11 @@ class ProdPlanTable(tables.Table):
class ProductionTable(tables.Table): class ProductionTable(tables.Table):
cost_item = tables.Column(verbose_name = 'Комплектующие') cost_item = tables.Column(verbose_name = 'Комплектующие')
value = tables.Column(verbose_name = 'Стоимость') value = EditableColumn('value', verbose_name = 'Стоимость')
summary = ['Итого затрат', 0] summary = ['Итого затрат', 0]
balance = ['Прибыль', 0] balance = ['Прибыль', 0]
def render_value(self, value):
return '%0.2f' % value
def set_summary(self, value): def set_summary(self, value):
self.summary[1] = value self.summary[1] = value

View File

@@ -128,7 +128,7 @@ def visit_view(request):
'additional_info': add_info, 'additional_info': add_info,
'title': title, 'title': title,
'dateform': form, 'dateform': form,
'order_form': order_form 'model_form': order_form
}) })
@login_required @login_required

View File

@@ -107,3 +107,4 @@ from django.utils.safestring import mark_safe
INPLACEEDIT_EDIT_EMPTY_VALUE = mark_safe(u'<div class="gray">Редактировать</div>') INPLACEEDIT_EDIT_EMPTY_VALUE = mark_safe(u'<div class="gray">Редактировать</div>')
ADAPTOR_INPLACEEDIT_EDIT = 'inplaceeditform.perms.AdminDjangoPermEditInline' ADAPTOR_INPLACEEDIT_EDIT = 'inplaceeditform.perms.AdminDjangoPermEditInline'

View File

@@ -3,8 +3,8 @@
{% load render_table from django_tables2 %} {% load render_table from django_tables2 %}
{% block page %} {% block page %}
<div class="inline"><div><h3>{{ table1.verbose_name }}</h3></div>{% render_table table1 %}</div> <div class="inline" style="width:38%;"><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> <div class="inline" style="width:20%;"><div><h3>{{ table2.verbose_name }}</h3></div>{% render_table table2 %}</div>
{% if order_form %} {% if order_form %}
<form action="{% url 'add-order' %}" method="POST" > <form action="{% url 'add-order' %}" method="POST" >
{% csrf_token %} {% csrf_token %}

View File

@@ -0,0 +1,41 @@
{% extends "asuzr/totals_table.html" %}
{% load django_tables2 %}
{% load i18n %}
{% block table.tbody %}
<tbody>
{% for row in table.page.object_list|default:table.rows %} {# support pagination #}
{% block table.tbody.row %}
<tr class="{{ forloop.counter|divisibleby:2|yesno:"even,odd" }}"> {# avoid cycle for Django 1.2-1.6 compatibility #}
{% for column, cell in row.items %}
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
{% endfor %}
</tr>
{% endblock table.tbody.row %}
{% empty %}
{% if table.empty_text %}
{% block table.tbody.empty_text %}
<tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
{% endblock table.tbody.empty_text %}
{% endif %}
{% endfor %}
{% if model_form %}
<form action="{% url 'add-order' %}" method="POST" >
{% csrf_token %}
<tr>
<td>{{model_form.product}}</td>
<td>{{model_form.price}}</td>
<td>{{model_form.paid}}</td>
<td>{{model_form.address}}</td>
<td></td>
<td>{{model_form.deadline}}</td>
<td>{{model_form.delivery}}</td>
<td>{{model_form.lifting}}</td>
</tr>
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td><input type="submit" text="Добавить заказ"></td>
</tr>
</form>
{% endif %}
</tbody>
{% endblock table.tbody %}