Commit graph

224 commits

Author SHA1 Message Date
Christopher Neugebauer
3607fb19b8 Adds inventory report 2016-08-26 14:59:54 +10:00
Christopher Neugebauer
2a850c49bc Fixes some documentation snafus 2016-08-26 14:17:53 +10:00
Christopher Neugebauer
5c41a3576c re-structures the URLs a bit, puts the items sold report under reports/items_sold 2016-08-26 13:53:40 +10:00
Christopher Neugebauer
db8f428ee1 Makes the sales report keep a total. 2016-08-26 13:40:49 +10:00
Christopher Neugebauer
b7650ca772 Reports now display titles 2016-08-25 21:10:14 +10:00
Christopher Neugebauer
a320f822fc Report for total items sold. 2016-08-25 21:05:02 +10:00
Christopher Neugebauer
d131b547f6 Delete errant prints 2016-08-25 21:01:32 +10:00
Christopher Neugebauer
00476498a8 Very first attempt at a staff-facing report (items sold) 2016-08-25 20:33:19 +10:00
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