You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
3.1 KiB
71 lines
3.1 KiB
# -*- coding: utf-8 -*-
|
|
import datetime
|
|
|
|
from project.customer.forms import ClientsListForm
|
|
|
|
from ..models import Dover, DoverItem
|
|
from ..forms import DoverForm, DoverItemForm
|
|
from ..filters import DoverFilterSet
|
|
|
|
from .base_views import BaseItemsViews
|
|
|
|
|
|
class DoverViews(BaseItemsViews):
|
|
"""Views для доверенностей на получение ТМЦ."""
|
|
|
|
MODEL = Dover # модель документа
|
|
FORM_CLASS = DoverForm # форма документа
|
|
|
|
ITEM_MODEL = DoverItem # модель табличной части документа
|
|
ITEM_FORM_CLASS = DoverItemForm # форма табличной части документа
|
|
ITEM_FORM_PREFIX = 'dover_items' # префикс формы табличной части
|
|
|
|
# поля, по которым можно сортировать список документов
|
|
ORDER_FIELDS = ('doc_num', 'doc_date', 'doc_expire_date', 'dover_name', 'client__name',)
|
|
|
|
FILTERSET_CLASS = DoverFilterSet # фильтры
|
|
|
|
# префикс именованных урлов этого типа документов, для передачи в шаблон
|
|
URL_PREFIX = 'docs_dover_'
|
|
|
|
# именованные урлы операций
|
|
URL_LIST = 'docs_dover_list'
|
|
URL_EDIT = 'docs_dover_edit'
|
|
|
|
# пути к шаблонам
|
|
TEMPLATE_LIST = 'docs/dover/list.html'
|
|
TEMPLATE_FORM = 'docs/dover/form.html'
|
|
|
|
# для генерации pdf/xls
|
|
PDF_TEMPLATE = 'docs/dover/as_pdf.html'
|
|
XLS_TEMPLATE = 'dover.xls'
|
|
FILENAME = u'Доверенность № %s, %s' # без расширения
|
|
|
|
# --- грамматика для вывода наименований в шаблонах
|
|
PADEJI = {
|
|
'imenit': u'доверенность', # кто? что?
|
|
'rodit': u'доверенности', # кого? чего?
|
|
'dateln': u'доверенности', # кому? чему?
|
|
'vinit': u'доверенность', # кого? что?
|
|
'tvorit': u'доверенностью', # кем? чем?
|
|
'predlojn': u'доверенности', # о ком? о чём?
|
|
}
|
|
|
|
PADEJI_MNOJ = {
|
|
'imenit': u'доверенности', # кто? что?
|
|
'rodit': u'доверенностью', # кого? чего?
|
|
'dateln': u'доверенностям', # кому? чему?
|
|
'vinit': u'доверенности', # кого? что?
|
|
'tvorit': u'доверенностями', # кем? чем?
|
|
'predlojn': u'доверенностях', # о ком? о чём?
|
|
}
|
|
|
|
def update_list_dict(self, dictionary):
|
|
"""Здесь можно изменить словарь параметров перед передачей его в шаблон вывода списка документов."""
|
|
dictionary['clients_form'] = ClientsListForm(self.request.user)
|
|
|
|
def init_form(self):
|
|
"""Начальные значения полей формы документа."""
|
|
initial = super(DoverViews, self).init_form()
|
|
initial['doc_expire_date'] = datetime.datetime.now() + datetime.timedelta(1)
|
|
return initial
|
|
|