Changeset - 232dc9e45222
[Not reviewed]
0 1 0
Christopher Neugebauer - 8 years ago 2016-10-13 16:19:18
chrisjrn@gmail.com
Invoices are tested for cart validity before display.

Fixes #99.
1 file changed with 12 insertions and 2 deletions:
0 comments (0 inline, 0 general)
registrasion/controllers/invoice.py
Show inline comments
...
 
@@ -357,8 +357,18 @@ class InvoiceController(ForId, object):
 
        return cart.revision == self.invoice.cart_revision
 

	
 
    def update_validity(self):
 
        ''' Voids this invoice if the cart it is attached to has updated. '''
 
        if not self._invoice_matches_cart():
 
        ''' Voids this invoice if the attached cart is no longer valid because
 
        the cart revision has changed, or the reservations have expired. '''
 

	
 
        is_valid = self._invoice_matches_cart()
 
        cart = self.invoice.cart
 
        if self.invoice.is_unpaid and is_valid and cart:
 
            try:
 
                CartController(cart).validate_cart()
 
            except ValidationError:
 
                is_valid = False
 

	
 
        if not is_valid:
 
            if self.invoice.total_payments() > 0:
 
                # Free up the payments made to this invoice
 
                self.refund()
0 comments (0 inline, 0 general)