|
|
|
@ -12,7 +12,6 @@ from django.template.loader import render_to_string |
|
|
|
from customer import models, forms |
|
|
|
from customer import models, forms |
|
|
|
from docs.models import Invoice, Faktura, AktRabot, AktSverki, Nakladn, Platejka, Dover |
|
|
|
from docs.models import Invoice, Faktura, AktRabot, AktSverki, Nakladn, Platejka, Dover |
|
|
|
from customer.utils import raise_if_no_profile |
|
|
|
from customer.utils import raise_if_no_profile |
|
|
|
from customer.helpers import partner_already_exists |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
@login_required |
|
|
|
@ -46,36 +45,18 @@ def clients_add_ajax(request): |
|
|
|
|
|
|
|
|
|
|
|
raise_if_no_profile(request) |
|
|
|
raise_if_no_profile(request) |
|
|
|
|
|
|
|
|
|
|
|
form_class = forms.ClientForm |
|
|
|
form = forms.ClientForm(request.POST, request=request) |
|
|
|
new_client_str = None |
|
|
|
new_client_str = None |
|
|
|
form = form_class(data=request.POST) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
new_client_id = None |
|
|
|
new_client_id = None |
|
|
|
html = '' |
|
|
|
html = '' |
|
|
|
if form.is_valid(): |
|
|
|
if form.is_valid(): |
|
|
|
# check company has in users clients |
|
|
|
new_client = form.save(commit=False) |
|
|
|
if partner_already_exists(request.user.profile, form.cleaned_data['inn']): |
|
|
|
new_client.company = request.user.profile |
|
|
|
|
|
|
|
new_client_str = new_client.name |
|
|
|
data = { |
|
|
|
new_client.save() |
|
|
|
'success': False, |
|
|
|
new_client_id = new_client.id |
|
|
|
'field_errors': {'inn': []}, |
|
|
|
html = render_to_string('customer/clients/list_item.html', |
|
|
|
'form_errors': ['Контрагент с таким ИНН уже существует.'], |
|
|
|
{'obj': new_client}, RequestContext(request)) |
|
|
|
'reload': False, |
|
|
|
|
|
|
|
'id': None, |
|
|
|
|
|
|
|
'name': None, |
|
|
|
|
|
|
|
'action': 'client-add', |
|
|
|
|
|
|
|
'row_html': '', |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return HttpResponse(json.dumps(data), content_type='application/json') |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
new_client = form.save(commit=False) |
|
|
|
|
|
|
|
new_client.company = request.user.profile |
|
|
|
|
|
|
|
new_client_str = new_client.name |
|
|
|
|
|
|
|
new_client.save() |
|
|
|
|
|
|
|
new_client_id = new_client.id |
|
|
|
|
|
|
|
html = render_to_string('customer/clients/list_item.html', |
|
|
|
|
|
|
|
{'obj': new_client}, RequestContext(request)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
non_field_errors = form.non_field_errors() |
|
|
|
non_field_errors = form.non_field_errors() |
|
|
|
if not form.is_valid(): |
|
|
|
if not form.is_valid(): |
|
|
|
@ -83,8 +64,8 @@ def clients_add_ajax(request): |
|
|
|
|
|
|
|
|
|
|
|
data = { |
|
|
|
data = { |
|
|
|
'success': form.is_valid(), |
|
|
|
'success': form.is_valid(), |
|
|
|
'field_errors': form.errors, # ошибки полей |
|
|
|
'field_errors': form.errors, |
|
|
|
'form_errors': non_field_errors, # ошибки формы |
|
|
|
'form_errors': non_field_errors, |
|
|
|
'reload': False, |
|
|
|
'reload': False, |
|
|
|
'id': new_client_id, |
|
|
|
'id': new_client_id, |
|
|
|
'name': new_client_str, |
|
|
|
'name': new_client_str, |
|
|
|
|