From d56fc92cdb585bccea9a28484fc8f6081db28b03 Mon Sep 17 00:00:00 2001 From: mitri4 Date: Mon, 20 Mar 2017 15:42:33 +0300 Subject: [PATCH] refactor profile and clientspage --- project/customer/forms.py | 14 +- project/static/css/style.css | 30 +++- project/static/js/client.commons.js | 6 +- project/static/js/dialogs.js | 59 +++++++- project/templates/base.html | 5 + project/templates/customer/clients/form.html | 41 ++++-- project/templates/customer/clients/list.html | 138 ++++++++++++++++--- project/templates/customer/profile/edit.html | 71 ++++------ 8 files changed, 273 insertions(+), 91 deletions(-) diff --git a/project/customer/forms.py b/project/customer/forms.py index 8035eab..e7ef9d8 100644 --- a/project/customer/forms.py +++ b/project/customer/forms.py @@ -228,10 +228,10 @@ class ClientForm(forms.ModelForm): ) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) widgets = { - #'name': _textarea, - #'address': _textarea, - 'bank_name': _textarea, - #'contact_other': _textarea, + 'bank_bik': forms.HiddenInput(), + 'bank_name': forms.HiddenInput(), + 'short_name': forms.HiddenInput(), + 'bank_korr_account': forms.HiddenInput(), } def __init__(self, *args, **kwargs): @@ -240,9 +240,9 @@ class ClientForm(forms.ModelForm): self.fields['kpp'].widget.attrs.update(_numeric(self.fields['kpp'])) self.fields['ogrn'].widget.attrs.update(_numeric(self.fields['ogrn'])) self.fields['okpo'].widget.attrs.update(_numeric(self.fields['okpo'])) - self.fields['bank_bik'].widget.attrs.update(_numeric(self.fields['bank_bik'])) - self.fields['bank_korr_account'].widget.attrs.update(_numeric(self.fields['bank_korr_account'])) - self.fields['bank_account'].widget.attrs.update(_numeric(self.fields['bank_account'])) + # self.fields['bank_bik'].widget.attrs.update(_numeric(self.fields['bank_bik'])) + # self.fields['bank_korr_account'].widget.attrs.update(_numeric(self.fields['bank_korr_account'])) + # self.fields['bank_account'].widget.attrs.update(_numeric(self.fields['bank_account'])) class ClientAdminForm(ClientForm): diff --git a/project/static/css/style.css b/project/static/css/style.css index caeb50b..e30efdd 100644 --- a/project/static/css/style.css +++ b/project/static/css/style.css @@ -258,10 +258,11 @@ h2 {font-weight: normal;font-size:24px;font-family:"Arial Narrow", Arial, sans-s .client-edit-form_dlg .ui-dialog-buttonpane { background:none!important; border:0; - position:absolute; - bottom:0; - right:100px; - padding:15px 0; + /*position:absolute;*/ + /*bottom:0;*/ + /*right:100px;*/ + /*padding:15px 0;*/ + margin-top: -56px; } ul.messagelist { padding: 0 0 5px 0; margin: 0; } @@ -732,4 +733,23 @@ a.popup-unreg {background:url(../img/popup-trash.png) no-repeat 3px center;} .bank-account-label { padding: 0 15px 0 40px; -} \ No newline at end of file +} + +.search__label { + padding-left: 13px; +} + +.search__input_long, +#searchClientInput, +#searchClientBankInput { + width: 556px; + height: 32px; +} + +#client-edit-form #address .field { + +} + +#client-edit-form #id_address { + width: 550px; +} diff --git a/project/static/js/client.commons.js b/project/static/js/client.commons.js index 5298d0e..fd6c975 100644 --- a/project/static/js/client.commons.js +++ b/project/static/js/client.commons.js @@ -39,7 +39,6 @@ function setup_client_edit_links(form, reload_on_success) { $('table#clients td a.client.edit-link').each(function() { $(this).on('click', function() { var link = $(this); - var form_action = link.attr('href') + 'ajax/'; // url to post form if (typeof(reload_on_success)!=='undefined' && reload_on_success) form_action += '?reload_on_success'; @@ -48,12 +47,10 @@ function setup_client_edit_links(form, reload_on_success) { form.clearForm(); clear_form_errors(form); - var get_url = link.attr('href').replace('edit/', 'get/ajax/'); // url to fetch client fields var obj_values = fetch_data(get_url); - update_form_fields(form, obj_values); - + fillResultSearchBankTemplate(obj_values); form.dialog('open'); return false; }); @@ -98,6 +95,7 @@ function setup_client_add_link(form, reload_on_success) { form.clearForm(); clear_form_errors(form); + clearResultSearchDiv($("#searchBankResult")); form.dialog('open'); return false; diff --git a/project/static/js/dialogs.js b/project/static/js/dialogs.js index b6c17bc..316214f 100644 --- a/project/static/js/dialogs.js +++ b/project/static/js/dialogs.js @@ -144,7 +144,6 @@ function update_form_fields(form, obj_values) { var input_type = input.attr('type'); if (input_type == 'checkbox' || input_type == 'radio') { - // console.log("---- value", value); input.prop('checked', value); } else { input.val(value); @@ -154,9 +153,67 @@ function update_form_fields(form, obj_values) { } } + +//------------------------------------------------------- + +function expandObject(obj, width, align) { + obj["templateColWidth"] = width; + obj["templateColAlign"] = align; + + return obj +} + function clearResultSearchDiv(div) { if ($(div).html().trim() !== '') { div.html(''); } +} + +function clearSearchInputs(input) { + + if (input instanceof Array) { + var index, len; + for (index = 0, len = input.length; index < len; ++index) { + var item = input[index]; + item.val(''); + } + } else { + input.val(''); + } + +} + +function join(arr) { + var separator = arguments.length > 1 ? arguments[1] : ", "; + return arr.filter(function(n){return n}).join(separator); +} + +function fillResultSearchBankTemplate(obj) { + + var bankResultDiv = $("#searchBankResult"); + var templateBank = $("#resultSearchBankTemplate").html(); + var template = Handlebars.compile(templateBank); + var newObj = {}; + newObj['name'] = {}; + + if (obj.hasOwnProperty('bik')) { + + newObj["bic"] = obj.bik; + newObj["name"]["full"] = obj.name; + newObj["name"]["payment"] = obj.short_name; + newObj["correspondent_account"] = obj.korr_account; + obj = newObj; + } + + if (obj.hasOwnProperty('bank_bik')) { + + newObj["bic"] = obj.bank_bik; + newObj["name"]["full"] = obj.bank_name; + newObj["name"]["payment"] = obj.bank_name; + newObj["correspondent_account"] = obj.bank_korr_account; + obj = newObj; + } + + bankResultDiv.html(template(obj)); } \ No newline at end of file diff --git a/project/templates/base.html b/project/templates/base.html index 964ee31..4859cf5 100644 --- a/project/templates/base.html +++ b/project/templates/base.html @@ -166,6 +166,11 @@ {% include 'autocomplete_light/static.html' %} + {% endblock %} {% block js %}{% endblock %} diff --git a/project/templates/customer/clients/form.html b/project/templates/customer/clients/form.html index 2968e1d..ff0e2cf 100644 --- a/project/templates/customer/clients/form.html +++ b/project/templates/customer/clients/form.html @@ -7,6 +7,17 @@
{% csrf_token %} +
+
+
+ Поиск реквизитов: +
+
+ +
+
+
+
{% for hidden in form.hidden_fields %} {{ hidden }} @@ -71,20 +82,31 @@
-
+
Юр. адрес{% if form.address.field.required %}*{% endif %}:
-
+
{{ form.address }} {% if not is_ajax %}{{ form.address.errors }}{% endif %}
-
Банковские реквизиты
- +
+
+
+ Поиск банка: +
+
+ +
+
+
+
+ {% if not form.bank_bik.is_hidden %}
+
БИК{% if form.bank_bik.field.required %}*{% endif %}:
@@ -94,7 +116,8 @@
- + {% endif %} + {% if not form.bank_name.is_hidden %}
Наименование банка{% if form.bank_name.field.required %}*{% endif %}: @@ -105,7 +128,7 @@
- + {% endif %} {% comment %}
@@ -118,18 +141,20 @@
{% endcomment %} - + {% if not form.bank_korr_account.is_hidden %}
+
К/сч.{% if form.bank_korr_account.field.required %}*{% endif %}:
+
{{ form.bank_korr_account }} {% if not is_ajax %}{{ form.bank_korr_account.errors }}{% endif %}
- + {% endif %}
Р/сч.{% if form.bank_account.field.required %}*{% endif %}: diff --git a/project/templates/customer/clients/list.html b/project/templates/customer/clients/list.html index 729bcba..0332f24 100644 --- a/project/templates/customer/clients/list.html +++ b/project/templates/customer/clients/list.html @@ -53,29 +53,63 @@ + + +{# TODO: to carry out #} + +{% verbatim %} + +{% endverbatim %} {% endblock %} diff --git a/project/templates/customer/profile/edit.html b/project/templates/customer/profile/edit.html index e2f21ac..653161a 100644 --- a/project/templates/customer/profile/edit.html +++ b/project/templates/customer/profile/edit.html @@ -551,9 +551,25 @@ - + + {# TODO: to carry out #} {% verbatim %} {% endverbatim %} - {% endblock js %} \ No newline at end of file