diff --git a/src/customer/views/clients_ajax.py b/src/customer/views/clients_ajax.py index 98423f8..98a4bab 100644 --- a/src/customer/views/clients_ajax.py +++ b/src/customer/views/clients_ajax.py @@ -30,7 +30,8 @@ def clients_get_ajax(request, id): except AttributeError: fields_list = [] - client = get_object_or_404(models.Client.objects.values(*fields_list), pk=id, company=request.user.profile) + client = get_object_or_404(models.Client.objects.values(*fields_list), pk=id, + company=request.user.profile) return HttpResponse(json.dumps(client), content_type='application/json') @@ -52,11 +53,18 @@ def clients_add_ajax(request): if form.is_valid(): new_client = form.save(commit=False) new_client.company = request.user.profile - new_client_str = new_client.name + # TODO : to common function with __str__ + if new_client.name_short_dadata: + new_client_str = '{}, {}'.format(new_client.name_short_dadata, + new_client.name_short_self) + else: + new_client_str = '{}, ИНН {}'.format(new_client.name, new_client.inn or 'не указан') + new_client.save() new_client_id = new_client.id + # import ipdb;ipdb.set_trace() html = render_to_string('customer/clients/list_item.html', - {'obj': new_client}, RequestContext(request)) + {'obj': new_client}, RequestContext(request)) non_field_errors = form.non_field_errors() if not form.is_valid(): @@ -65,7 +73,7 @@ def clients_add_ajax(request): data = { 'success': form.is_valid(), 'field_errors': form.errors, - 'form_errors': non_field_errors, + 'form_errors': non_field_errors, # ошибки формы 'reload': False, 'id': new_client_id, 'name': new_client_str, @@ -95,14 +103,14 @@ def clients_edit_ajax(request, id): non_field_errors = form.non_field_errors() html = render_to_string('customer/clients/list_item.html', - {'obj': client}, RequestContext(request)) + {'obj': client}, RequestContext(request)) if not form.is_valid(): non_field_errors.append(u'Заполните/исправьте выделенные поля.') data = { 'success': form.is_valid(), - 'field_errors': form.errors, # ошибки полей - 'form_errors': non_field_errors, # ошибки формы + 'field_errors': form.errors, # ошибки полей + 'form_errors': non_field_errors, # ошибки формы 'reload': False, 'id': client.id, 'name': client.name, @@ -127,12 +135,12 @@ def clients_delete_ajax(request, id): client = get_object_or_404(models.Client, pk=id, company=request.user.profile) client_docs = [] doc_list = [(Invoice, u'счета'), (Faktura, u'счета-фактуры'), (Nakladn, u'накладные'), - (AktRabot, u'акты выполненных работ'), (Platejka, u'платёжные поручения'), - (Dover, u'доверенности'), (AktSverki, u'акты сверки')] + (AktRabot, u'акты выполненных работ'), (Platejka, u'платёжные поручения'), + (Dover, u'доверенности'), (AktSverki, u'акты сверки')] for doc in doc_list: docs = doc[0].objects.filter(client=client) if docs: - client_docs.append(doc[1]) + client_docs.append(doc[1]) if not client_docs: client.delete() @@ -141,7 +149,9 @@ def clients_delete_ajax(request, id): del_id = id else: success = True - message = {'title': u'Инфо', 'msg': u'Контрагент не удалён. Есть выписанные документы: %s.' % ','.join(client_docs)} + message = {'title': u'Инфо', + 'msg': u'Контрагент не удалён. Есть выписанные документы: %s.' % ','.join( + client_docs)} del_id = None data = { diff --git a/src/docs/urls.py b/src/docs/urls.py index 3af28ba..2a08638 100644 --- a/src/docs/urls.py +++ b/src/docs/urls.py @@ -42,7 +42,7 @@ for name, klass in klasses: # сохранить в pdf url(r'^%s/(?P\d+)/pdf/$' % name, getview, {'klass': klass, 'oper': 'as_pdf',}, name='docs_%s_pdf' % name), - # показать картинку + # показать картинку url(r'^%s/(?P\d+)/preview/$' % name, getview, {'klass': klass, 'oper': 'as_img',}, name='docs_%s_img' % name), # сохранить в excel @@ -71,10 +71,10 @@ for name, klass in klasses: urlpatterns += patterns('docs.views', # создать по Счету -> Акт вып. работ url(r'^%s/add/by/invoice/(?P\d+)/$' % 'aktrabot', getview, - {'klass': AktRabotViews, 'oper': 'add_by_invoice',}, name='docs_%s_add_by_invoice' % 'aktrabot'), + {'klass': AktRabotViews, 'oper': 'add_by_invoice'}, name='docs_%s_add_by_invoice' % 'aktrabot'), # создать по Счету -> Накладную url(r'^%s/add/by/invoice/(?P\d+)/$' % 'nakladn', getview, - {'klass': NakladnViews, 'oper': 'add_by_invoice',}, name='docs_%s_add_by_invoice' % 'nakladn'), + {'klass': NakladnViews, 'oper': 'add_by_invoice'}, name='docs_%s_add_by_invoice' % 'nakladn'), # создать по Счету -> Счёт-фактуру url(r'^%s/add/by/invoice/(?P\d+)/$' % 'faktura', getview, {'klass': FakturaViews, 'oper': 'add_by_invoice',}, name='docs_%s_add_by_invoice' % 'faktura'), diff --git a/src/dokumentor/static/css/style.css b/src/dokumentor/static/css/style.css index ab8f6e2..d17151d 100644 --- a/src/dokumentor/static/css/style.css +++ b/src/dokumentor/static/css/style.css @@ -787,3 +787,10 @@ P.help-block { color: gray; font-size: 11px; } + +/* Turn Off Number Input Spinners */ +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} diff --git a/src/dokumentor/static/js/dialogs.js b/src/dokumentor/static/js/dialogs.js index 031933f..8a8d757 100644 --- a/src/dokumentor/static/js/dialogs.js +++ b/src/dokumentor/static/js/dialogs.js @@ -2,6 +2,21 @@ $(document).ready(function() { var dlg_msg = $('#dialog-message'); var dlg_django_msg = $('#django-message'); + function clients_edit_del_update() { + var edit_form = $('#client-edit-form'); + if (edit_form) { + setup_client_edit_form(edit_form); + setup_client_edit_links(edit_form, true); + setup_client_add_link(edit_form, true); + } + + var delete_form = $('#client-delete-form'); + if (delete_form) { + setup_client_edit_form(delete_form); + setup_client_delete_links(delete_form, true); + } + } + $('form', '#dialogs').each(function() { var form = $(this); @@ -21,18 +36,23 @@ $(document).ready(function() { /*beforeSend: function() { $('.errors-layout', form).html('').hide(); },*/ + // add client success: function(data) { clear_form_errors(form); if (data.success) { + // console.log('!!!!!!!!!!!!!!!!!!!'); // console.log(data); + if (form[0].id == 'client-edit-form') { $('#id_client_text').hide(); $('#id_client-deck').html( - 'X' + data.name + ''); - + '' + + ''+ + ' ' + + ' ˣ' + + ' ' + data.name + ''); $('#id_client').html(''); $('#id_client').trigger('change'); } @@ -50,14 +70,18 @@ $(document).ready(function() { } } if (data.action){ + // console.log(data.action); if (data.action == 'client-add'){ $(data.row_html).insertAfter('#clients_header_row'); - window.clients_edit_del_update(); + clients_edit_del_update(); $('table#clients').show(); + var autocomplete = $('#id_client-autocomplete'); + if (autocomplete.is(":visible")){autocomplete.hide()} + } if (data.action == 'client-edit'){ $("tr#client_" + data.id).replaceWith(data.row_html); - window.clients_edit_del_update(); + clients_edit_del_update(); } if (data.action == 'client-delete'){ $("tr#client_" + data.id).remove(); diff --git a/src/dokumentor/templates/base.html b/src/dokumentor/templates/base.html index d6509ae..673aff2 100644 --- a/src/dokumentor/templates/base.html +++ b/src/dokumentor/templates/base.html @@ -130,9 +130,7 @@ - - diff --git a/src/dokumentor/templates/customer/clients/list_item.html b/src/dokumentor/templates/customer/clients/list_item.html index 4c308f3..72c11cd 100644 --- a/src/dokumentor/templates/customer/clients/list_item.html +++ b/src/dokumentor/templates/customer/clients/list_item.html @@ -1,3 +1,5 @@ +{% load static %} + @@ -15,12 +17,12 @@ {{ obj.contact_phone }} - Редактировать + Редактировать - + diff --git a/src/dokumentor/templates/docs/aktrabot/form.html b/src/dokumentor/templates/docs/aktrabot/form.html index 34d5f71..12bcf9f 100644 --- a/src/dokumentor/templates/docs/aktrabot/form.html +++ b/src/dokumentor/templates/docs/aktrabot/form.html @@ -13,7 +13,7 @@
{% include 'docs/parts/form_field_client.html' with field=form.client required="True" is_ajax="True" %} - {% include 'docs/parts/form_field.html' with field=form.invoice id="invoice" classes="field" label="Создать акт по счёту" %} + {% include 'docs/parts/form_field.html' with field=form.invoice id="invoice" classes="field hidden" label="Создать акт по счёту" %}
@@ -27,27 +27,3 @@ {% endblock %} -{% block js %} -{% comment %}{% endcomment %} -{% endblock %} diff --git a/src/dokumentor/templates/docs/stub_js.html b/src/dokumentor/templates/docs/stub_js.html index e46896f..50aa662 100644 --- a/src/dokumentor/templates/docs/stub_js.html +++ b/src/dokumentor/templates/docs/stub_js.html @@ -1,13 +1,14 @@ {# заглушка js #}