Work for making invoices contain complete profile information

This commit is contained in:
Christopher Neugebauer 2016-04-01 16:17:46 +11:00
parent aa6377f4ce
commit d2d2a1b0ec
2 changed files with 11 additions and 2 deletions

View file

@ -57,6 +57,11 @@ class BadgeAndProfile(models.Model):
except ObjectDoesNotExist: except ObjectDoesNotExist:
return None return None
def save(self):
if not self.name_per_invoice:
self.name_per_invoice = self.name
super(BadgeAndProfile, self).save()
attendee = models.OneToOneField(Attendee, on_delete=models.CASCADE) attendee = models.OneToOneField(Attendee, on_delete=models.CASCADE)
# Things that appear on badge # Things that appear on badge

View file

@ -12,6 +12,7 @@ from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import transaction from django.db import transaction
from django.http import Http404
from django.shortcuts import redirect from django.shortcuts import redirect
from django.shortcuts import render from django.shortcuts import render
@ -335,6 +336,10 @@ def invoice(request, invoice_id):
invoice_id = int(invoice_id) invoice_id = int(invoice_id)
inv = rego.Invoice.objects.get(pk=invoice_id) inv = rego.Invoice.objects.get(pk=invoice_id)
if request.user != inv.cart.user and not request.user.is_staff:
raise Http404()
current_invoice = InvoiceController(inv) current_invoice = InvoiceController(inv)
data = { data = {
@ -350,11 +355,10 @@ def pay_invoice(request, invoice_id):
WORK IN PROGRESS FUNCTION. Must be replaced with real payment workflow. WORK IN PROGRESS FUNCTION. Must be replaced with real payment workflow.
''' '''
invoice_id = int(invoice_id) invoice_id = int(invoice_id)
inv = rego.Invoice.objects.get(pk=invoice_id) inv = rego.Invoice.objects.get(pk=invoice_id)
current_invoice = InvoiceController(inv) current_invoice = InvoiceController(inv)
if not inv.paid and current_invoice.is_valid(): if not current_invoice.invoice.paid and not current_invoice.invoice.void:
current_invoice.pay("Demo invoice payment", inv.value) current_invoice.pay("Demo invoice payment", inv.value)
return redirect("invoice", current_invoice.invoice.id) return redirect("invoice", current_invoice.invoice.id)