Christopher Neugebauer
|
3225a353e0
|
Migrates to the less-deprecated URL syntax
|
2016-08-25 19:51:36 +10:00 |
|
Christopher Neugebauer
|
0b7396c40f
|
Discount line items now describe the product that the discount applies to.
|
2016-08-24 11:46:15 +10:00 |
|
Christopher Neugebauer
|
482fe22d89
|
Better reporting of errors in long-and-thin categories
|
2016-08-22 15:03:08 +10:00 |
|
Christopher Neugebauer
|
d52fc6eb9d
|
Adds a formset for dealing with long-and-thin product categories.
|
2016-08-22 15:00:45 +10:00 |
|
Christopher Neugebauer
|
02e415c104
|
Adds an implementation for item-quantity forms.
|
2016-08-22 15:00:38 +10:00 |
|
Christopher Neugebauer
|
d9f9af9827
|
Modifies the Category model to allow for ITEM_QUANTITY forms
|
2016-08-22 15:00:38 +10:00 |
|
Christopher Neugebauer
|
c4274817a8
|
Moves ProductsForm to the top of its file
|
2016-08-22 10:15:01 +10:00 |
|
Christopher Neugebauer
|
8c34c7498a
|
Factors _ProductsForm into _HasProductsFields
|
2016-08-22 10:13:02 +10:00 |
|
Christopher Neugebauer
|
4f16e4b9d0
|
Oops.
|
2016-08-21 18:28:16 +10:00 |
|
Christopher Neugebauer
|
7bf372f92a
|
Invoices now send e-mails when created, paid, or refunded.
|
2016-08-21 17:14:19 +10:00 |
|
Christopher Neugebauer
|
924906d38c
|
Adds test for e-mails being sent when invoices are generated.
|
2016-08-21 16:56:15 +10:00 |
|
Christopher Neugebauer
|
e946af0f04
|
Adds functions for mailing invoices when certain events occur.
|
2016-08-21 16:56:05 +10:00 |
|
Christopher Neugebauer
|
155f6d42d9
|
Renames patch_datetime to patches, adds e-mail patching bits
|
2016-08-21 16:39:57 +10:00 |
|
Christopher Neugebauer
|
1faa608425
|
Adds email framework shamelessly stolen from Symposion
|
2016-08-21 15:40:05 +10:00 |
|
Christopher Neugebauer
|
de83015776
|
Fixes ordering error in error display
|
2016-05-02 10:55:29 +10:00 |
|
Christopher Neugebauer
|
abe8c12b05
|
Simplifies flag and discount filter functions
|
2016-05-01 19:12:40 +10:00 |
|
Christopher Neugebauer
|
b9b50c6846
|
Bug fixes and query optimisations in flag.py and discount.py
|
2016-05-01 14:56:51 +10:00 |
|
Christopher Neugebauer
|
9ca25e5986
|
Makes sure that the cache is not disturbed by calling end_batch
|
2016-05-01 14:56:51 +10:00 |
|
Christopher Neugebauer
|
3ab5ac32ca
|
Part of CartController->BatchController memoisation
|
2016-05-01 14:56:51 +10:00 |
|
Christopher Neugebauer
|
efb73e7a68
|
Memoises everything else that needs to be memoised.
|
2016-05-01 14:56:51 +10:00 |
|
Christopher Neugebauer
|
3d635521eb
|
CartController now uses BatchController memoisation
|
2016-05-01 14:56:51 +10:00 |
|
Christopher Neugebauer
|
3717adb262
|
Squash this and last two
|
2016-05-01 14:56:46 +10:00 |
|
Christopher Neugebauer
|
ad2de6e9d4
|
Breaks cart batching tests into multiple tests
|
2016-05-01 14:56:46 +10:00 |
|
Christopher Neugebauer
|
94ceaa3bb1
|
Adds test case for CartController batching
|
2016-05-01 14:56:46 +10:00 |
|
Christopher Neugebauer
|
5929c0af3c
|
Adds end_batch functionality
|
2016-05-01 14:56:45 +10:00 |
|
Christopher Neugebauer
|
3db1256895
|
Adds test for end_batch functionality
|
2016-05-01 14:56:45 +10:00 |
|
Christopher Neugebauer
|
a267b60eb9
|
Makes memoise work properly
|
2016-05-01 14:56:45 +10:00 |
|
Christopher Neugebauer
|
27ab44ec44
|
test cases for memoisation
|
2016-05-01 10:47:15 +10:00 |
|
Christopher Neugebauer
|
ddedf54c42
|
Adds batch context manager behaviour
|
2016-05-01 10:47:06 +10:00 |
|
Christopher Neugebauer
|
eb29e7cd09
|
Adds test cases for basic batch cacheing behaviour
|
2016-05-01 10:47:06 +10:00 |
|
Christopher Neugebauer
|
78a41970ea
|
Adds design for BatchController
|
2016-05-01 10:47:06 +10:00 |
|
Christopher Neugebauer
|
162a1f23dd
|
_filtered_discounts is now called _filtered_clauses, and it no longer cares about specific products or categories
|
2016-05-01 09:43:32 +10:00 |
|
Christopher Neugebauer
|
b3491cab8e
|
_filtered_flags now no longer cares about products for filtering. It just does everything.
|
2016-04-30 20:42:41 +10:00 |
|
Christopher Neugebauer
|
c6fdfa496e
|
Replaces CategoryController.attach_user_remainders with user_remainders
|
2016-04-30 20:30:44 +10:00 |
|
Christopher Neugebauer
|
941caa30d9
|
Replaces ProductController.attach_user_remainders with ProductController.user_remainders
|
2016-04-30 20:30:21 +10:00 |
|
Christopher Neugebauer
|
b40505117f
|
Fixes flake8 errors arising from rebase
|
2016-04-29 11:22:56 +10:00 |
|
Christopher Neugebauer
|
135f2fb47b
|
Refactors discounts validation in terms of available_discounts
|
2016-04-29 11:16:40 +10:00 |
|
Christopher Neugebauer
|
4eff8194f9
|
Reduces CartController re-loading when batching operations
|
2016-04-29 11:16:40 +10:00 |
|
Christopher Neugebauer
|
02fe88a4e4
|
Tests and fixes for a bug where discount quantities did not respect per-line item quantities.
|
2016-04-29 11:11:59 +10:00 |
|
Christopher Neugebauer
|
6d52a4c18f
|
More low-hanging query optimisations
|
2016-04-29 11:11:26 +10:00 |
|
Christopher Neugebauer
|
4fb569d935
|
Does more select_related and bulk_create calls
|
2016-04-29 11:10:20 +10:00 |
|
Christopher Neugebauer
|
fd5cf50fab
|
Makes items_purchased do more database work
|
2016-04-29 11:09:36 +10:00 |
|
Christopher Neugebauer
|
a79ad3520e
|
Puts attach_remainders on ProductController and CategoryController, eliminating the need to query each product and category separately.
|
2016-04-29 11:09:34 +10:00 |
|
Christopher Neugebauer
|
3b5b958b78
|
Makes the discounts section from _handle_products evaluate lazily, just in case it’s never displayed in a template (those are some very very expensive queries there).
|
2016-04-29 11:09:08 +10:00 |
|
Christopher Neugebauer
|
76e6206d09
|
Wraps the guided registration handler in views.py in a batch marker
|
2016-04-29 11:08:45 +10:00 |
|
Christopher Neugebauer
|
587e6e20b2
|
Adds an operations_batch context manager that allows batches of modifying operations to be nested. Closes #44.
|
2016-04-29 11:08:45 +10:00 |
|
Christopher Neugebauer
|
162db24817
|
Flake8 fixes
|
2016-04-29 11:08:45 +10:00 |
|
Christopher Neugebauer
|
71de0df5dc
|
Makes DiscountController a class and puts available_discounts inside it
|
2016-04-29 11:08:42 +10:00 |
|
Christopher Neugebauer
|
145fd057ac
|
Breaks out flag-handling code into flag.py and FlagController
|
2016-04-29 11:07:52 +10:00 |
|
Christopher Neugebauer
|
3f1be0e14e
|
Rearchitected condition processing such that multiple conditions are processed by the database, in bulk. Closes #42.
|
2016-04-29 11:06:58 +10:00 |
|