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

Conflicts:
	asuzr/tables.py
	asuzr/views.py
	templates/asuzr/base.html
This commit is contained in:
2015-06-17 00:45:47 +05:00
8 changed files with 55 additions and 6 deletions

View File

@@ -115,6 +115,9 @@ class Sketch(models.Model):
class Action(models.Model):
name = models.CharField(max_length=150) #наименование действия
def __unicode__(self):
return self.name
#Производственный план
class ProdPlan(models.Model):
start_date = models.DateField() #дата начала
@@ -123,6 +126,9 @@ class ProdPlan(models.Model):
executor = models.ForeignKey(User) #id исполнителя
action = models.ForeignKey(Action) #id действия
def __unicode__(self):
return ', '.join((str(self.start_date), self.order.product.name, self.action.name, self.executor.first_name))
#Протокол доступа
class AccessProtocol(models.Model):
time = models.DateTimeField() #время

View File

@@ -97,6 +97,9 @@ class DesignerTable(tables.Table):
def render_sum_price(self, value):
return '%0.1f' % value
class Meta:
attrs = {'class': 'paleblue'}
class Meta:
attrs = {'class': 'paleblue'}
@@ -168,3 +171,13 @@ class DayOrdersTable(OrdersTable):
'deadline',
)
template = 'asuzr/totals_table.html'
class ProdPlanTable(tables.Table):
date = tables.Column(verbose_name = 'Дата')
week_day = tables.Column(verbose_name = 'День недели', accessor = 'date.weekday_name')
executor = EditableColumn('executor', 'prodplan',verbose_name = 'Исполнитель')
order = EditableColumn('order', 'prodplan', verbose_name = 'Заказ')
action = EditableColumn('action', 'prodplan', verbose_name = 'Действие')
class Meta:
attrs = {'class': 'paleblue'}

View File

@@ -8,6 +8,7 @@ from asuzr.models import Attendance
from asuzr.models import Order
from asuzr.models import OrderPlan
from asuzr.models import Schedule
from asuzr.models import ProdPlan
from datetime import datetime, date, timedelta
import calendar
from django.db.models import Count, Sum
@@ -84,6 +85,7 @@ def get_attendance_table(year, month, prefix):
table = VisitTable(month_days.values(), prefix = prefix)
table.verbose_name = 'Сводная информация'
table.set_summaries({
'calls': attend_sum['calls__sum'] or 0,
'visits': attend_sum['visits__sum'] or 0,
@@ -120,6 +122,13 @@ def visit_view(request):
@login_required
def main(request, day, month, year):
if day == None:
day = str(date.today().day)
if month == None:
month = str(date.today().month)
if year == None:
year = str(date.today().year)
d,m,y=int(day),int(month), int(year)
attend_list = Attendance.objects.all().order_by('date')
@@ -221,3 +230,23 @@ def production_table(request, order_id):
'cost_items' : cost_items,
})
return HttpResponse(t.render(c))
@login_required
def prod_plan_view(request):
curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
y,m = curr_date.year, curr_date.month
wd = curr_date.weekday()
sdate = curr_date - timedelta(days = wd)
edate = curr_date + timedelta(days = 6-wd)
week_days = {i: {'date': custom_date(y,m,sdate.day+i)} for i in range(0,7)}
prodplan_list = ProdPlan.objects.filter(start_date__range = (sdate,edate))
for prodplan in prodplan_list:
week_days[prodplan.start_date.weekday()]['prodplan'] = prodplan
table = ProdPlanTable(week_days.values())
title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y'))
RequestConfig(request).configure(table)
return render(request, 'asuzr/table.html', {'table': table, 'title': title})