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.
 
 
 
 

78 lines
3.9 KiB

# -*- coding: UTF-8 -*-
from django.conf.urls import *
from .views import (InvoiceViews, AktRabotViews, AktSverkiViews, DoverViews, PlatejkaViews, NakladnViews, FakturaViews)
from .views import getview, index, get_pair, get_invoices, get_tbl_items, get_client_by_invoice
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),
url(r'^ajax_get_pair/(?P<model>\w+)/(?P<param1>\w+)/(?P<param2>\w+)/(?P<val1>\w+)/$', get_pair, name='ajax_get_pair'),
url(r'^ajax_get_invoices/$', get_invoices, name='ajax_get_invoices'),
url(r'^ajax_get_invoices/(?P<client_id>\d+)/$', get_invoices, name='ajax_get_invoices'),
url(r'^ajax_get_tbl_items/(?P<invoice_id>\d+)/$', get_tbl_items, name='ajax_get_tbl_items'),
url(r'^ajax_get_client_by_invoice/(?P<invoice_id>\d+)/$', get_client_by_invoice, name='ajax_get_client_by_invoice'),
)
# доп. обработчики: создать Документ по Счету
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'),
)