Commit graph

111 commits

Author SHA1 Message Date
Christopher Neugebauer
94a42c100b Adds manual payment functionality 2016-04-07 19:19:19 +10:00
Christopher Neugebauer
2fbe789090 Adds validate_allowed_to_pay(), which validates whether you’re allowed to pay for an invoice 2016-04-07 18:26:31 +10:00
Christopher Neugebauer
0e80e0336c adds invoice_recipient to AttendeeProfileBase 2016-04-07 17:17:15 +10:00
Christopher Neugebauer
38cdb8aa63 Makes invoice model, controller, and test changes to match issue #15 design doc 2016-04-07 17:16:56 +10:00
Christopher Neugebauer
5633554854 Tests now use TestingInvoiceController 2016-04-07 17:16:21 +10:00
Christopher Neugebauer
ac10ea4ee8 s/cart_controller_helper/controller_helpers/ 2016-04-07 17:16:04 +10:00
Christopher Neugebauer
8e95bb7469 flake8 fixes 2016-04-07 13:26:25 +10:00
Christopher Neugebauer
0b7ccfc827 Enforces minimum quantity of 0 for quantity boxes 2016-04-06 22:59:00 +10:00
Christopher Neugebauer
dba3773636 Adds db indices 2016-04-06 22:59:00 +10:00
Christopher Neugebauer
53413388e0 Optimises queries through simplifying repeated queries and select_related use 2016-04-06 22:59:00 +10:00
Christopher Neugebauer
2f77f5bb23 Replaces .active = False; .save() pattern in tests with a test controller method 2016-04-06 17:24:25 +10:00
Christopher Neugebauer
8ad265a65a Fixes tests now that $0 invoices pay themselves 2016-04-06 17:19:09 +10:00
Christopher Neugebauer
c9a62db774 Resolves #17 - cannot generate invoice if there are no product items 2016-04-06 17:02:11 +10:00
Christopher Neugebauer
812cc0b9c8 Resolves #6 — Help text for items without a description is much much nicer 2016-04-06 16:45:54 +10:00
Christopher Neugebauer
4021aa3c8e Resolves #12 — each item category shows what items you have already purchased in each category 2016-04-06 16:33:04 +10:00
Christopher Neugebauer
cc318dfa9b Fixes tests 2016-04-06 16:09:57 +10:00
Christopher Neugebauer
40bc5985f4 Propagates the error messages up from enabling condition testing 2016-04-06 15:47:09 +10:00
Christopher Neugebauer
0340b6da20 Adds “fix_errors” query to “checkout”, which allows users to have issues fix 2016-04-06 15:46:58 +10:00
Christopher Neugebauer
39b130811c Removes superfluous test 2016-04-06 15:46:49 +10:00
Christopher Neugebauer
c8c16072ba fix_simple_errors() now removes exhausted vouchers from the voucher set. 2016-04-06 14:02:23 +10:00
Christopher Neugebauer
0d57da8d6f Makes apply_voucher() idempotent, adds _test_voucher to validate_cart, and updates tests. 2016-04-06 14:02:22 +10:00
Christopher Neugebauer
8d07518a9b Fixes an incorrect voucher test 2016-04-06 14:02:22 +10:00
Christopher Neugebauer
6f28c20b70 Factors _test_voucher() method into CartController 2016-04-06 14:02:22 +10:00
Christopher Neugebauer
7d97d2d2de Adds fix_simple_errors to cart - it zeroes out unavailable products. Adds test that it does that. 2016-04-06 14:02:22 +10:00
Christopher Neugebauer
f5d9458d1a Adds a validation based on available_products to validate_cart, and a test based on simple enabling conditions 2016-04-06 10:22:44 +10:00
Christopher Neugebauer
a4d684f444 Raises limits errors in the right parts of the form 2016-04-03 15:25:39 +10:00
Christopher Neugebauer
7609965883 flake8 compliance 2016-04-03 13:21:57 +10:00
Christopher Neugebauer
4d134e95d7 Refactors discount ceiling testing to make sure that the discount ceiling only considers items where the discount was applied in determining if the discount was reached. 2016-04-03 13:16:35 +10:00
Christopher Neugebauer
eab1deff77 Removes set_quantity and add_to_cart from CartController, and factors it into a test controller for testing 2016-04-03 10:07:59 +10:00
Christopher Neugebauer
312fffd137 Adds negative quantity tests to _test_limits, and removes _set_quantity_old. 2016-04-03 10:07:59 +10:00
Christopher Neugebauer
6c9a68dc5b Fixes #8 properly 2016-04-02 20:31:59 +11:00
Christopher Neugebauer
2cbda9172f Fixes bug in product and category, and ceiling enabling conditions 2016-04-02 20:31:59 +11:00
Christopher Neugebauer
8796670328 handle_products now uses the transactional set_quantities. 2016-04-02 20:12:27 +11:00
Christopher Neugebauer
e3ec128147 Factors limits testing in set_quantities into _test_limits() 2016-04-02 20:12:27 +11:00
Christopher Neugebauer
194f98bcc4 Refactors available_products to use test_enabling_conditions 2016-04-02 18:18:06 +11:00
Christopher Neugebauer
1e7a2abc7f Refactors testing of enabling conditions so that they are done in bulk in ConditionsController, rather than one product at a time. 2016-04-02 18:18:06 +11:00
Christopher Neugebauer
5716af0afa Replaces a bunch of len(queryset) with queryset.count() 2016-04-02 18:17:18 +11:00
Christopher Neugebauer
1c6dc12781 Replaces user_can_add_within_limit with user_quantity_remaining 2016-04-02 18:17:18 +11:00
Christopher Neugebauer
576dddcaad Adds user_quantity_remaining to CategoryController 2016-04-02 18:17:18 +11:00
Christopher Neugebauer
39021cd3dd Adds set_quantities, refactors set_quantity in terms of set_quantities 2016-04-02 18:16:29 +11:00
Christopher Neugebauer
2e0144effe flake8 2016-04-02 13:29:53 +11:00
Christopher Neugebauer
8f233c7943 available_products now refers to the user’s product limits as well as enabling conditions 2016-04-02 13:14:34 +11:00
Christopher Neugebauer
f7289c2101 Adds ‘available_categories’ as something that actually works 2016-04-02 11:56:03 +11:00
Christopher Neugebauer
bdd3714f47 flake8 style issue 2016-04-02 11:34:19 +11:00
Christopher Neugebauer
26af6e8672 Adds messages when items are updated; disables product forms when there are no products available. 2016-04-02 11:33:20 +11:00
Christopher Neugebauer
69a65ac3ed Fixes tests on Django 1.9 2016-04-02 11:02:01 +11:00
Christopher Neugebauer
3a6b4125e9 Bugfix 2016-04-01 12:34:06 +01:00
Christopher Neugebauer
12e4d0a3cb flake8 2016-04-01 12:14:39 +01:00
Christopher Neugebauer
89cba55807 Pre-fills the attendee name from a speaker profile, if there is one.
Resolves #8.
2016-04-01 21:39:54 +11:00
Christopher Neugebauer
be277c17d2 BadgeAndProfile is replaced with AttendeeProfileBase — consumer apps should subclass AttendeeProfileBase to make the registration process work :) 2016-04-01 21:21:09 +11:00