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.
72 lines
3.3 KiB
72 lines
3.3 KiB
# -*- coding: UTF-8 -*-
|
|
from django.conf.urls import *
|
|
|
|
from .views import (InvoiceViews, AktRabotViews, AktSverkiViews, DoverViews, PlatejkaViews, NakladnViews, FakturaViews)
|
|
from .views import getview, index
|
|
|
|
|
|
urlpatterns = patterns('docs.views',
|
|
url(r'^$', index, name='docs_index'), # страница со ссылками на бух. формы
|
|
)
|
|
|
|
klasses = [
|
|
('invoice', InvoiceViews),
|
|
('aktrabot', AktRabotViews),
|
|
('aktsverki', AktSverkiViews),
|
|
('dover', DoverViews),
|
|
('platejka', PlatejkaViews),
|
|
('nakladn', NakladnViews),
|
|
('faktura', FakturaViews),
|
|
]
|
|
|
|
for name, klass in klasses:
|
|
urlpatterns += patterns('docs.views',
|
|
# список
|
|
url(r'^%s/$' % name, getview, {'klass': klass, 'oper': 'list',}, name='docs_%s_list' % name),
|
|
# список, пагинация
|
|
url(r'^%s/page/(?P<page_num>[0-9]+)/$' % name, getview, {'klass': klass, 'oper': 'list',},
|
|
name='docs_%s_list' % name),
|
|
|
|
# добавить
|
|
url(r'^%s/add/$' % name, getview, {'klass': klass, 'oper': 'add',}, name='docs_%s_add' % name),
|
|
# редактировать
|
|
url(r'^%s/(?P<id>\d+)/edit/$' % name, getview, {'klass': klass, 'oper': 'edit',},
|
|
name='docs_%s_edit' % name),
|
|
# создать копию
|
|
url(r'^%s/(?P<id>\d+)/copy/$' % name, getview, {'klass': klass, 'oper': 'copy',},
|
|
name='docs_%s_copy' % name),
|
|
# удалить
|
|
url(r'^%s/(?P<id>\d+)/delete/$' % name, getview, {'klass': klass, 'oper': 'delete',},
|
|
name='docs_%s_delete' % name),
|
|
|
|
# сохранить в pdf
|
|
url(r'^%s/(?P<id>\d+)/pdf/$' % name, getview, {'klass': klass, 'oper': 'as_pdf',},
|
|
name='docs_%s_pdf' % name),
|
|
# сохранить в excel
|
|
url(r'^%s/(?P<id>\d+)/xls/$' % name, getview, {'klass': klass, 'oper': 'as_xls',},
|
|
name='docs_%s_xls' % name),
|
|
|
|
# отправить pdf/xls на email
|
|
url(r'^%s/(?P<id>\d+)/email/$' % name, getview, {'klass': klass, 'oper': 'email',},
|
|
name='docs_%s_email' % name),
|
|
|
|
# поля документа - AJAX
|
|
url(r'^%s/(?P<id>\d+)/get/ajax/$' % name, getview, {'klass': klass, 'oper': 'get_ajax',},
|
|
name='docs_%s_get_ajax' % name),
|
|
# отправить pdf/xls на email - AJAX
|
|
url(r'^%s/(?P<id>\d+)/email/ajax/$' % name, getview, {'klass': klass, 'oper': 'email_ajax',},
|
|
name='docs_%s_email_ajax' % name),
|
|
)
|
|
|
|
# доп. обработчики: создать Документ по Счету
|
|
urlpatterns += patterns('docs.views',
|
|
# создать по Счету -> Акт вып. работ
|
|
url(r'^%s/add/by/invoice/(?P<invoice_id>\d+)/$' % 'aktrabot', getview,
|
|
{'klass': AktRabotViews, 'oper': 'add_by_invoice',}, name='docs_%s_add_by_invoice' % 'aktrabot'),
|
|
# создать по Счету -> Накладную
|
|
url(r'^%s/add/by/invoice/(?P<invoice_id>\d+)/$' % 'nakladn', getview,
|
|
{'klass': NakladnViews, 'oper': 'add_by_invoice',}, name='docs_%s_add_by_invoice' % 'nakladn'),
|
|
# # создать по Счету -> Счёт-фактуру
|
|
# url(r'^%s/add/by/invoice/(?P<invoice_id>\d+)/$' % 'sfv', getview, {'klass': SfvViews, 'oper': 'add_by_invoice',},
|
|
# name='docs_%s_add_by_invoice' % 'sfv'),
|
|
)
|
|
|