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.
82 lines
4.2 KiB
82 lines
4.2 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, toggle_doc_status
|
|
|
|
|
|
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),
|
|
# показать картинку
|
|
url(r'^%s/(?P<id>\d+)/preview/$' % name, getview, {'klass': klass, 'oper': 'as_img',},
|
|
name='docs_%s_img' % 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'),
|
|
url(r'^ajax_toggle_doc_status/(?P<doc_type>\w+)/(?P<doc_id>\d+)/(?P<doc_attr>\w+)/$', toggle_doc_status, 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+)/$' % 'faktura', getview, {'klass': FakturaViews, 'oper': 'add_by_invoice',},
|
|
name='docs_%s_add_by_invoice' % 'faktura'),
|
|
)
|
|
|