Luke Plant avatar Luke Plant committed 7d22144

Fixed crasher if 'pay' page is accessed when deposit is not defined

Comments (0)

Files changed (2)

cciw/bookings/views.py

         balance = acc.get_balance()
         self.context['balance'] = balance
         self.context['account_id'] = acc.id
-        self.context['price_deposit'] = Price.objects.get(year=get_thisyear(), price_type=PRICE_DEPOSIT).price
+        # This view should be accessible even if prices for the current year are
+        # not defined.
+        price_deposit = list(Price.objects.filter(year=get_thisyear(), price_type=PRICE_DEPOSIT))
+        if len(price_deposit) == 0:
+            price_deposit = None
+        else:
+            price_deposit = price_deposit[0].price
+        self.context['price_deposit'] = price_deposit
 
         domain = get_current_domain()
         protocol = 'https' if self.request.is_secure() else 'http'

templates/cciw/bookings/pay.html

 
 <h3>Refunds:</h3>
 <p>If you cancel your place, your payment will be refunded, apart from the
-deposit of £{{ price_deposit }}. If we are forced to cancel the camp for some
+deposit{% if price_deposit %} of £{{ price_deposit }}{% endif %}. If we are forced to cancel the camp for some
 reason, you will receive a full refund.</p>
 
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.