def send_payment_notice(request, payment): notif_context = { 'request': request, 'object': payment, } send_notifications('module', 'payments', 'paymentrecipients', 'payment_added', notif_context)
def send_payment_notice(request, payment): notif_context = { 'request': request, 'object': payment, } send_notifications('module','payments', 'paymentrecipients', 'payment_added', notif_context)
def adjust(request, id, form_class=AdminAdjustForm, template_name="invoices/adjust.html"): #if not id: return HttpResponseRedirect(reverse('invoice.search')) invoice = get_object_or_404(Invoice, pk=id) original_total = invoice.total original_balance = invoice.balance original_variance = invoice.variance if not (request.user.profile.is_superuser or has_perm(request.user, 'invoices.change_invoice')): raise Http403 if request.method == "POST": form = form_class(request.POST, instance=invoice) if form.is_valid(): invoice = form.save() variance_changed = invoice.variance - original_variance invoice.total += variance_changed invoice.balance = invoice.total - invoice.payments_credits invoice.save() EventLog.objects.log(instance=invoice) notif_context = { 'request': request, 'object': invoice, } send_notifications('module','invoices','invoicerecipients', 'invoice_edited', notif_context) # make accounting entries from tendenci.apps.accountings.models import AcctEntry ae = AcctEntry.objects.create_acct_entry(request.user, 'invoice', invoice.id) if variance_changed < 0: from tendenci.apps.accountings.utils import make_acct_entries_discount #this is a discount opt_d = {} opt_d['discount'] = True opt_d['original_invoice_total'] = original_total opt_d['original_invoice_balance'] = original_balance opt_d['discount_account_number'] = 460100 obj = invoice.get_object() if obj and hasattr(obj, 'get_acct_number'): opt_d['discount_account_number'] = obj.get_acct_number(discount=True) make_acct_entries_discount(request.user, invoice, ae, opt_d) elif variance_changed > 0: from tendenci.apps.accountings.utils import make_acct_entries_initial make_acct_entries_initial(request.user, ae, variance_changed) return HttpResponseRedirect(invoice.get_absolute_url()) else: form = form_class(initial={'variance': invoice.variance, 'variance_notes':invoice.variance_notes}) return render_to_resp(request=request, template_name=template_name, context={'invoice': invoice, 'form':form})
def adjust(request, id, form_class=AdminAdjustForm, template_name="invoices/adjust.html"): # if not id: return HttpResponseRedirect(reverse('invoice.search')) invoice = get_object_or_404(Invoice, pk=id) original_total = invoice.total original_balance = invoice.balance if not (request.user.profile.is_superuser or has_perm(request.user, "invoices.change_invoice")): raise Http403 if request.method == "POST": form = form_class(request.POST, instance=invoice) if form.is_valid(): invoice = form.save() invoice.total += invoice.variance invoice.balance = invoice.total - invoice.payments_credits invoice.save() EventLog.objects.log(instance=invoice) notif_context = {"request": request, "object": invoice} send_notifications("module", "invoices", "invoicerecipients", "invoice_edited", notif_context) # make accounting entries from tendenci.apps.accountings.models import AcctEntry ae = AcctEntry.objects.create_acct_entry(request.user, "invoice", invoice.id) if invoice.variance < 0: from tendenci.apps.accountings.utils import make_acct_entries_discount # this is a discount opt_d = {} opt_d["discount"] = True opt_d["original_invoice_total"] = original_total opt_d["original_invoice_balance"] = original_balance opt_d["discount_account_number"] = 460100 obj = invoice.get_object() if obj and hasattr(obj, "get_acct_number"): opt_d["discount_account_number"] = obj.get_acct_number(discount=True) make_acct_entries_discount(request.user, invoice, ae, opt_d) else: from tendenci.apps.accountings.utils import make_acct_entries_initial make_acct_entries_initial(request.user, ae, invoice.variance) return HttpResponseRedirect(invoice.get_absolute_url()) else: form = form_class(initial={"variance": 0.00, "variance_notes": invoice.variance_notes}) return render_to_response( template_name, {"invoice": invoice, "form": form}, context_instance=RequestContext(request) )