Commit graph

355 commits

Author SHA1 Message Date
Christopher Neugebauer
3e4e52b165 Adds more constraints around payment and voiding of invoices 2016-03-27 14:41:43 +11:00
Christopher Neugebauer
8080d7851b Invoices now automatically void themselves if their cart is out of date 2016-03-27 14:04:47 +11:00
Christopher Neugebauer
77ab00bc67 Merge branch 'category_user_limits' 2016-03-27 13:13:09 +11:00
Christopher Neugebauer
0d458bea06 Allows Product.limit_per_user to be blank and null. Adds Category.limit_per_user. Adds functionality and tests to verify that this is legal. 2016-03-27 13:12:33 +11:00
Christopher Neugebauer
7c99750f3a Simplifies creation of test data in test_cart, adds an extra product category and two new products 2016-03-27 13:12:33 +11:00
Christopher Neugebauer
db332da958 flake8 2016-03-27 13:12:33 +11:00
Christopher Neugebauer
3562772c13 Adds RadioBoxProductsForm 2016-03-27 13:12:33 +11:00
Christopher Neugebauer
0ae005a5f5 Factors _QuantityBoxForm out of _ProductsForm 2016-03-27 11:30:11 +11:00
Christopher Neugebauer
834233cd72 Factors ProductsForm handling into its own function 2016-03-27 11:30:11 +11:00
Christopher Neugebauer
464684f13e Refactors the product_category view to be much simpler 2016-03-26 20:21:54 +11:00
Christopher Neugebauer
b13e6f7ce2 Factors out voucher form handling into its own function 2016-03-26 20:01:46 +11:00
Christopher Neugebauer
2d5cd622c5 Makes it invalid for a user to re-enter a voucher code they already have. 2016-03-26 19:47:01 +11:00
Christopher Neugebauer
940bf803b6 Merge branch 'show_available_discounts' 2016-03-26 15:16:04 +11:00
Christopher Neugebauer
36ecf7fd54 Adds more tags for the dashboard. 2016-03-26 15:14:28 +11:00
Christopher Neugebauer
941b057865 Shows the available discounts on the registration form 2016-03-26 14:03:25 +11:00
Christopher Neugebauer
fc279b1922 Replaces CategoryForm with ProductsForm (makes the form slightly dumber) 2016-03-26 13:37:13 +11:00
Christopher Neugebauer
45aa83f854 Adds available_products as a method on ProductController 2016-03-26 13:37:13 +11:00
Christopher Neugebauer
c41a9cadff recalculate_discounts now uses the available_discounts function from controllers.discount. 2016-03-26 13:33:23 +11:00
Christopher Neugebauer
fb3878ce2e Adds available_discounts, which allows enumeration of the discounts that are available for a given set of products and categories 2016-03-25 18:59:34 +11:00
Christopher Neugebauer
8d66ed5715 Fix flake8 warnings 2016-03-25 14:51:39 +11:00
Christopher Neugebauer
4069d4bb32 Merge branch 'guided_registration' 2016-03-25 14:34:36 +11:00
Christopher Neugebauer
c192fef491 Adds basic template tag for available categories. Currently does not check enabling conditions. 2016-03-25 14:16:30 +11:00
Christopher Neugebauer
478b328e41 Uses the completed_registration flag on the Attendee model 2016-03-25 12:50:59 +11:00
Christopher Neugebauer
8e6364d02a Fixes bug where discount quantity applied to all users rather than specific user. Adds test case. 2016-03-25 12:50:34 +11:00
Christopher Neugebauer
83b11cd722 Fixes invoicing payment logic 2016-03-24 14:20:29 +11:00
Christopher Neugebauer
eff5686dcf Adds logic for required categories 2016-03-24 14:19:33 +11:00
Christopher Neugebauer
dcad2d5f7c Second pass at guided registration, including profile page 2016-03-24 13:43:06 +11:00
Christopher Neugebauer
05923a9a8f Profile form view now edits the relevant form 2016-03-24 12:58:23 +11:00
Christopher Neugebauer
236c61eefa Fleshes out badge model, and adds first pass at display of the badge form 2016-03-24 12:44:59 +11:00
Christopher Neugebauer
eb530bd485 Adds the first pass at a “guided” registration form 2016-03-23 19:39:07 +11:00
Christopher Neugebauer
d50d6bac48 Fixes voucher handling form to not be compulsory 2016-03-23 19:36:54 +11:00
Christopher Neugebauer
7086ea8729 Moves product disabling code into the form class 2016-03-23 19:36:22 +11:00
Christopher Neugebauer
2f4ebc22af Merge branch 'category_form' 2016-03-23 15:05:44 +11:00
Christopher Neugebauer
e118a4e74c Adds dumb process for paying invoices. 2016-03-23 15:04:51 +11:00
Christopher Neugebauer
4dc150d734 Fills in quantity boxes from the quantities in the current cart, not overall 2016-03-23 15:04:51 +11:00
Christopher Neugebauer
2d6b28c5a6 Adds mechanism for entering a voucher code 2016-03-23 15:04:51 +11:00
Christopher Neugebauer
cc42490832 Applying a voucher to a cart now uses the voucher code rather than the voucher object. Adds tests for constraints on vouchers. 2016-03-23 15:04:51 +11:00
Christopher Neugebauer
745f6db444 Adds “CategoryForm” to forms.py. It’s about to replace the existing ProductItem form 2016-03-23 15:04:51 +11:00
Christopher Neugebauer
68e7e4e594 Checks enabling conditions before adding items to the list 2016-03-04 18:33:03 -08:00
Christopher Neugebauer
8400da17da Fixes error in EnablingConditionBase, adds admins for Product and Category enabling conditions 2016-03-04 18:33:03 -08:00
Christopher Neugebauer
0182a32f03 Fixes various errors in discount calculation, and adds tests for these 2016-03-04 18:32:52 -08:00
Christopher Neugebauer
99f4b8dfe0 Fixes validation error in models.py for adding discounts 2016-03-04 18:32:52 -08:00
Christopher Neugebauer
a4de15830c Adds checkout view, which generates an invoice, and then redirects to the invoice itself. 2016-03-04 18:32:52 -08:00
Christopher Neugebauer
1b7d8a60c1 Adds product_category form, which allows users to add products from a specific category to their cart. 2016-03-04 14:07:03 -08:00
Christopher Neugebauer
c51be4d30a Adds set_quantity as a method on CartController.
Refactors add_to_cart to be in terms of set_quantity
2016-03-04 14:07:02 -08:00
Christopher Neugebauer
c13a986f2d Updates migration 2016-01-22 22:07:59 +11:00
Christopher Neugebauer
2e89bc4887 Adds validation code to make sure that only one discount condition is applicable per product 2016-01-22 21:53:30 +11:00
Christopher Neugebauer
3f3db53232 Notes that things are tested. 2016-01-22 18:16:15 +11:00
Christopher Neugebauer
5302bca18d Amends LICENCE to refer to chrisjrn 2016-01-22 18:04:34 +11:00
Christopher Neugebauer
95038d8b85 Commits goals.md 2016-01-22 18:02:39 +11:00