def post(self): form = ManualPostingForm(self.request.POST) if form.is_valid(): cd = form.cleaned_data _ids = cd['clirec_ids'].split(',') self.clirecs = UnmatchedClarec.objects.filter(pk__in=_ids) memo_acct = LedgerAccount.objects.get(pk=self.request.POST['contra-acct']) amount_taken = float(self.request.POST['amount-taken']) taken_to_memo = TakenToMemo.objects.create( date=date.today(), amount=amount_taken, acct=memo_acct, contra_acct=NostroAccount.objects.get(pk=self.request.POST['memo-acct']), # clirecs=self.clirecs, ) taken_to_memo.clirecs.add(*[c for c in self.clirecs]) entry_gen_trxn = EntryGeneratingTransaction.objects.get( short_name='ACCTTOACCTTRF') entry_code = EntryCode.objects.get(code='AAT') amount = float(cd['manual_post_amount']) post_data = [] for amt, acct in ((-amount, cd['dr_acct'],), (amount, cd['cr_acct'],)): post_data.append({ 'amount': amt, 'account': LedgerAccount.objects.get(pk=acct), 'entry_code': entry_code, 'entry_gen_trxn': entry_gen_trxn, 'narration': cd['manual_post_narration'], }) if EntryContra.post_entry(*post_data): comment = self.update_comment(cd['posting_enum']) del cd['posting_enum'] clirec_details = '\n'.join( '%d\t%s' % (i + 1, c.details,) for i, c in enumerate(self.clirecs)) logger.info( 'Clirec details:\n%s\n\nPost Data:\n%s\n\nTaken to memo\n\n\n', clirec_details, cd, ) return HttpResponse( json.dumps( {'msg': '{:,.2f} taken to account {}'.format(amount_taken, memo_acct, ), 'ids': _ids, 'comment': comment, }), content_type='application/json' ) return self.set_and_return_errors(form.errors)
def post(self): form = ManualPostingForm(self.request.POST) if form.is_valid(): cd = form.cleaned_data _ids = cd['clirec_ids'].split(',') self.clirecs = UnmatchedClarec.objects.filter(pk__in=_ids) entry_gen_trxn = EntryGeneratingTransaction.objects.get(short_name='ACCTTOACCTTRF') entry_code = EntryCode.objects.get(code='AAT') amount = float(cd['manual_post_amount']) post_data = [] for amt, acct in ((-amount, cd['dr_acct'],), (amount, cd['cr_acct'],)): post_data.append({ 'amount': amt, 'account': LedgerAccount.objects.get(pk=acct), 'entry_code': entry_code, 'entry_gen_trxn': entry_gen_trxn, 'narration': 'INTEREST ON NOSTRO A/C DEPOSITS', }) if EntryContra.post_entry(*post_data): comment = self.update_comment(cd['posting_enum']) del cd['posting_enum'] clirec_details = '\n'.join( '%d\t%s' % (i + 1, c.details,) for i, c in enumerate(self.clirecs)) logger.info( 'Manual Posting for clirec details:\n%s\n\nPost Data:\n%s\n\n', clirec_details, cd, ) return HttpResponse( json.dumps({'msg': 'Entries Posted', 'ids': _ids, 'comment': comment, }), content_type='application/json' ) return self.set_and_return_errors(form.errors)
def post(self): form = ManualPostingForm(self.request.POST) if form.is_valid(): comment = '' msg = '' cd = form.cleaned_data _ids = cd['clirec_ids'].split(',') self.clirecs = UnmatchedClarec.objects.filter(pk__in=_ids) if cd['update_manual_post_comment']: if self.update_comment(cd['posting_enum']): msg += 'comments successfully updated.' comment = cd['posting_enum'] if cd['create_manual_post']: if self.post_entries(cd): msg += '\nEntries successfully posted.' return HttpResponse( json.dumps( {'msg': msg, 'ids': _ids, 'comment': comment, }), content_type='application/json' ) return self.set_and_return_errors(form.errors)