|
|
|
|
@ -8,6 +8,7 @@ from django.views.decorators.csrf import csrf_protect |
|
|
|
|
from django.contrib.auth.decorators import login_required |
|
|
|
|
from django.core.urlresolvers import reverse |
|
|
|
|
|
|
|
|
|
from docs.models import Invoice, Faktura, AktRabot, AktSverki, Nakladn, Platejka, Dover |
|
|
|
|
from commons.utils import dthandler |
|
|
|
|
|
|
|
|
|
from .. import models, forms |
|
|
|
|
@ -128,11 +129,40 @@ def bank_accounts_delete_ajax(request, id): |
|
|
|
|
raise_if_no_profile(request) |
|
|
|
|
|
|
|
|
|
account = get_object_or_404(models.BankAccount, pk=id, company=request.user.profile) |
|
|
|
|
account.delete() |
|
|
|
|
|
|
|
|
|
# TODO обработать ошибки удаления |
|
|
|
|
account_docs = [] |
|
|
|
|
|
|
|
|
|
doc_list = [ |
|
|
|
|
(Invoice, u'счета'), |
|
|
|
|
(Faktura, u'счета-фактуры'), |
|
|
|
|
(Nakladn, u'накладные'), |
|
|
|
|
(AktRabot, u'акты выполненных работ'), |
|
|
|
|
(Platejka, u'платёжные поручения') |
|
|
|
|
] |
|
|
|
|
for doc in doc_list: |
|
|
|
|
docs = doc[0].objects.filter(bank_account=account) |
|
|
|
|
print(docs) |
|
|
|
|
if docs: |
|
|
|
|
account_docs.append(doc[1]) |
|
|
|
|
if not account_docs: |
|
|
|
|
account.delete() |
|
|
|
|
success = True |
|
|
|
|
message = {'title': u'Инфо', |
|
|
|
|
'msg': u'Расчётный счёт удалён.'} |
|
|
|
|
del_id = id |
|
|
|
|
else: |
|
|
|
|
success = True |
|
|
|
|
message = {'title': u'Инфо', |
|
|
|
|
'msg': u'Расчтный счет не удалён. Есть выписанные документы: %s.' % ','.join( |
|
|
|
|
account_docs)} |
|
|
|
|
del_id = None |
|
|
|
|
|
|
|
|
|
data = { |
|
|
|
|
'success': True, |
|
|
|
|
'message': {'title': 'Инфо', 'msg': 'Расчётный счёт удалён.',}, |
|
|
|
|
'success': success, |
|
|
|
|
'message': message, |
|
|
|
|
'reload': False, |
|
|
|
|
'action': 'account-delete', |
|
|
|
|
'id': del_id, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return HttpResponse(json.dumps(data), content_type='application/json') |
|
|
|
|
|