Merge branch 'master' of ssh://192.168.100.6/repo/record

Conflicts:
	asuzr/common.py
	asuzr/views.py
This commit is contained in:
2015-07-31 23:32:35 +05:00
13 changed files with 138 additions and 25 deletions

View File

@@ -16,15 +16,10 @@ 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 log_view_call(fn):
'''
Wrapper for views log

View File

@@ -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']

View File

@@ -112,6 +112,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):

BIN
asuzr/static/del.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
asuzr/static/rubbish.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

View File

@@ -7,6 +7,17 @@ from django.contrib.admin.models import LogEntry
import django_tables2 as tables
from models import *
class StaffLinkColumn(tables.TemplateColumn):
def __init__(self, view, *args, **kwargs):
template = '''
{{% if request.user.is_staff %}}
<a href={{% url '{view}' record.id %}}>{{{{ record.product }}}}</a>
{{% else %}}
{{{{ record.product }}}}
{{% endif %}}
'''.format(view = view)
super(StaffLinkColumn, self).__init__(template, *args, **kwargs)
class EditableColumn(tables.TemplateColumn):
def __init__(self, field_name, object_name = '', *args, **kwargs):
template = '''
@@ -56,9 +67,10 @@ 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 = 'Срок сдачи')
product = tables.LinkColumn('asuzr.views.production_table', verbose_name = 'Наименование', args=[tables.utils.A('pk')])
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 = 'Доставка')
lifting = EditableColumn('lifting', verbose_name = 'Подъем')
address = tables.Column(verbose_name = 'Адрес')
@@ -147,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('<a href="%s?date=%s">%s</a>' % (
@@ -189,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 = 'Дата')
@@ -203,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

View File

@@ -119,6 +119,8 @@ def visit_view(request):
orders_table = get_day_orders_table(curr_date, 'orders-')
RequestConfig(request).configure(orders_table)
order_form = OrderForm()
title = u'Таблица посещаемости на %s' % dateformat.format(curr_date, 'F Y')
return render(request, 'asuzr/table2.html', {
@@ -126,7 +128,9 @@ def visit_view(request):
'table2': orders_table,
'additional_info': add_info,
'title': title,
'form': form})
'dateform': form,
'model_form': order_form
})
@login_required
def main(request, day, month, year):
@@ -217,6 +221,12 @@ def sketches(request, order_id):
'table': table,
'title': u'Эскизы заказа %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)
@@ -246,7 +256,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})
@log_view_call
@login_required
@@ -282,7 +292,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):