Commit graph

368 commits

Author SHA1 Message Date
Christopher Neugebauer
3517bdd281 Makes sure that discounts always apply to the most expensive product in the cart first. Adds test to that effect.
Fixes #88.
2016-09-15 16:01:49 +10:00
Christopher Neugebauer
4026dac3a3 Re-adds admin for TimeOrStockLimitFlag
Fixes #82
2016-09-15 15:46:52 +10:00
Christopher Neugebauer
52fa696a01 Fixes GroupMemberCondition test 2016-09-15 15:33:52 +10:00
Christopher Neugebauer
2c8ed9a51a Adds test for GroupMemberCondition 2016-09-15 15:33:43 +10:00
Christopher Neugebauer
2ca644e500 Adds form for generating a cancellation fee. 2016-09-15 12:25:34 +10:00
Christopher Neugebauer
d4f4312178 Adds cancellation fee implementation and tests 2016-09-15 12:15:40 +10:00
Christopher Neugebauer
fd9980efc5 Makes sure we only apply unclaimed credit notes when auto-applying credit notes. 2016-09-15 11:41:50 +10:00
Christopher Neugebauer
77a7689de5 Fixes credit note tests that were broken with the old behaviour 2016-09-15 11:28:14 +10:00
Christopher Neugebauer
5fce13d386 Simplifies credit note tests 2016-09-15 11:28:14 +10:00
Christopher Neugebauer
04b7a7998c Tests correct behaviour when there are multiple credit notes to be applied 2016-09-15 11:28:14 +10:00
Christopher Neugebauer
82254a7bf5 Credit note is automatically applied if you have a single invoice 2016-09-15 10:22:12 +10:00
Christopher Neugebauer
05c5cfcb4e Adds first tests for automatic credit note application 2016-09-15 10:03:27 +10:00
Christopher Neugebauer
66f423eafa Moves tests for credit note functionality into its own test module 2016-09-15 09:38:42 +10:00
Christopher Neugebauer
23658be49a Starts test_helpers.py, so we can get credit note testing stuff into its own module. 2016-09-15 09:29:31 +10:00
Christopher Neugebauer
6469bcd8e7 Adds test for manual invoicing 2016-09-15 09:08:57 +10:00
Christopher Neugebauer
2e5a8e3668 First pass at allowing manual invoices. 2016-09-15 09:08:57 +10:00
Christopher Neugebauer
a9bc647570 Replaces _generate with _generate_from_cart and _generate 2016-09-15 08:38:33 +10:00
Christopher Neugebauer
613667aa30 Re-arranges invoice generation code.
- Reduces number of db queries
- Localises the code that interrogates the cart and the code that generates the invoice itself.
2016-09-15 08:31:35 +10:00
Christopher Neugebauer
3f53d6f4ff Removes spurious print statement. 2016-09-14 15:09:02 +10:00
Christopher Neugebauer
b5cbc3e39e Renames guided_registration_complete to review 2016-09-14 15:00:53 +10:00
Christopher Neugebauer
640db7e3dc Replaces the final stage of guided registration with a review page, which shows after adding anything to your cart.
Fixes #87
2016-09-14 14:59:01 +10:00
Christopher Neugebauer
faa25c9b3a Adds missing_categories tag 2016-09-14 13:28:15 +10:00
Christopher Neugebauer
f0730b4de9 Flake8 fixes for reports 2016-09-13 18:54:28 +10:00
Christopher Neugebauer
cb50f2a3be Replaces a bunch of reports with QuerysetReports 2016-09-13 18:53:01 +10:00
Christopher Neugebauer
12b665acb8 DRYs QuerysetReport’s headers 2016-09-13 18:47:51 +10:00
Christopher Neugebauer
bbce369a38 Allows for callable attributes to be specified in QuerysetReports. 2016-09-13 18:44:13 +10:00
Christopher Neugebauer
4c9f426a47 Simplifies a bunch of older reports. 2016-09-13 16:26:40 +10:00
Christopher Neugebauer
f7326eedf7 Makes as many reports under attendee() as possible a QuerysetReport 2016-09-13 16:24:50 +10:00
Christopher Neugebauer
fa717dee65 Adds QuerysetReport, which allows directly adding a queryset to a report rather than having to preprocess it into a list. 2016-09-13 16:19:18 +10:00
Christopher Neugebauer
53e6278116 Adds a Links report type, which can be used to generate a list of links to display with a report. 2016-09-13 16:02:18 +10:00
Christopher Neugebauer
e8cfd024d3 Makes the reports use actual objects rather than strings 2016-09-13 15:39:25 +10:00
Christopher Neugebauer
f3e419d66d Refactors reports so that rendering of links is done within Python code, not templates. 2016-09-13 15:32:55 +10:00
Christopher Neugebauer
2658c2ccde Improves the error message when per_user_limit on category is breached.
Fixes #80
2016-09-13 13:33:20 +10:00
Christopher Neugebauer
1c239c361f Propagates the per_user_limit category error to the products, rather than the category.
Fixes #79.
2016-09-13 13:20:02 +10:00
Christopher Neugebauer
3903d2be56 Fixes issues on /amend 2016-09-13 13:19:31 +10:00
Christopher Neugebauer
9dd31128bb Restricts ‘amend’ product widgets to the original product.
Fixes #76.
2016-09-13 13:19:09 +10:00
Christopher Neugebauer
a27264ac92 Filters items_purchased by category.
Fixes #74
2016-09-13 12:28:48 +10:00
Christopher Neugebauer
f5e303584b Adds an output_field type to reconciliation sums.
Fixes #75
2016-09-13 12:27:07 +10:00
Christopher Neugebauer
ea599bbaad Addresses #72, hopefully. 2016-09-05 21:10:21 +10:00
Christopher Neugebauer
878da1f2d8 Use textfield for some things rather than char field 2016-09-05 19:45:44 +10:00
Christopher Neugebauer
17dd91d56b Fixes bug in the t-shirt-style widget. 2016-09-05 14:45:51 +10:00
Christopher Neugebauer
1214b23077 Adds admin and migration for GroupMember conditions 2016-09-05 10:48:38 +10:00
Christopher Neugebauer
0f488e7a12 Makes TeamMemberCondition work 2016-09-05 10:45:10 +10:00
Christopher Neugebauer
1128e43150 Adds test for GroupMemberCondition — it fails, obviously. 2016-09-05 10:45:09 +10:00
Christopher Neugebauer
136c68aa0a Adds GroupMemberCondition, derivatives, and controllers. 2016-09-05 10:01:36 +10:00
Christopher Neugebauer
0601470006 Fixes bug in Radio Buttons products form.
Fixes #69.
2016-09-04 14:31:21 +10:00
Christopher Neugebauer
c2a702d699 Adds admin and migration for speaker tickets. 2016-09-04 14:21:30 +10:00
Christopher Neugebauer
af30063a92 Adds final test, all three now pass. 2016-09-04 14:00:56 +10:00
Christopher Neugebauer
04eefa4e0e Passes first two tests 2016-09-04 13:54:05 +10:00
Christopher Neugebauer
0b306fd59e Adds test for user being a primary presenter of a proposal 2016-09-04 13:41:49 +10:00
Christopher Neugebauer
786bc0324a Stubs out tests for test_speaker 2016-09-04 13:17:56 +10:00
Christopher Neugebauer
9134fa5ed2 Initial version of test_speaker, which creates all of the boilerplate for proposals 2016-09-04 13:11:45 +10:00
Christopher Neugebauer
b3d86e2148 Adds stub for SpeakerConditionController 2016-09-04 12:39:52 +10:00
Christopher Neugebauer
63fe8196e2 Adds SpeakerCondition, SpeakerDiscount, and SpeakerFlag 2016-09-04 12:36:20 +10:00
Christopher Neugebauer
1333fcdea1 Refactors flags and discount classes to be DRYer. 2016-09-04 12:18:10 +10:00
Christopher Neugebauer
43649002cb Makes ProductCondition work if you have both valid and cancelled instances of a product. Fixes #68 2016-09-03 16:18:27 +10:00
Christopher Neugebauer
8e1f799513 Test case for issue #68 2016-09-03 16:11:28 +10:00
Christopher Neugebauer
5703221fba Adds voucher form to registration amendment 2016-09-03 15:53:54 +10:00
Christopher Neugebauer
b9ee438b89 Registration amendments are now limited the products that the user is allowed to add. 2016-09-03 15:43:04 +10:00
Christopher Neugebauer
1152e185d1 Staff can now check out an invoice for a user 2016-09-03 15:16:46 +10:00
Christopher Neugebauer
c2065dd4b9 The form can now amend a user’s registration. 2016-09-03 15:08:44 +10:00
Christopher Neugebauer
84c40a1e1f Refactors ItemController, add items_released 2016-09-03 15:08:25 +10:00
Christopher Neugebauer
83b8b62d74 Attendee view now uses user_id, like the rest of the app 2016-09-03 14:24:58 +10:00
Christopher Neugebauer
897915f121 Adds the amend_registration view, which currently can display all of the products that the user has added to their current cart, and not much else. 2016-09-03 14:22:32 +10:00
Christopher Neugebauer
f3a08a82bb Shows the attendee’s name in the attendee list. 2016-09-03 12:45:21 +10:00
Christopher Neugebauer
4dbe69574c Adds report that tracks the free money in the system
Fixes #52
2016-09-03 12:17:39 +10:00
Christopher Neugebauer
96e691c5dd Tidies up reporting URLs 2016-09-03 12:16:52 +10:00
Christopher Neugebauer
da42bb2bac Shows all the payments an attendee has made.
Fixes #66
2016-09-03 11:51:12 +10:00
Christopher Neugebauer
1e6c90163d Fixes #64 2016-09-03 11:46:24 +10:00
Christopher Neugebauer
cdc6e229dc Etc (squash. srsly) 2016-09-03 11:31:39 +10:00
Christopher Neugebauer
0329ee7bb2 Amends test to test *both* paths for validating invoices. 2016-09-03 11:11:44 +10:00
Christopher Neugebauer
5a7819b0d7 Test for issue 64 2016-09-03 11:07:46 +10:00
Christopher Neugebauer
e7556b02b7 Fixes a minor oops 2016-09-02 16:14:58 +10:00
Christopher Neugebauer
5b03ae8ff6 Fixes credit note bug 2016-09-02 16:03:29 +10:00
Christopher Neugebauer
964fe380da Attendee manifest page now reports the items a user has pending and purchased. 2016-09-02 15:57:44 +10:00
Christopher Neugebauer
68aa9b067b Factors items_pending and items_purchased into ItemController 2016-09-02 15:57:20 +10:00
Christopher Neugebauer
17fc874212 Attendee manifest now displays credit notes. 2016-09-02 15:43:01 +10:00
Christopher Neugebauer
d58b2811f9 Makes the attendee list work better. 2016-09-02 15:37:57 +10:00
Christopher Neugebauer
e27e322c41 Adds the attendee list and stubs the attendee manifest reports 2016-09-02 15:15:15 +10:00
Christopher Neugebauer
48a036204d Reporting framework can now display multiple sections. 2016-09-02 15:14:54 +10:00
Christopher Neugebauer
25608b1653 Moves reports forms into reporting sub package 2016-09-02 14:33:23 +10:00
Christopher Neugebauer
64ca477cb8 Fixes flake8 snafus 2016-09-02 11:43:27 +10:00
Christopher Neugebauer
aacdab7d16 The reporting module now passes flake8 2016-09-02 11:25:50 +10:00
Christopher Neugebauer
4664c4711a Moves staff_views to reporting/views 2016-09-02 11:20:03 +10:00
Christopher Neugebauer
f9e26a2e49 Adds the link_view concept to reports; adds a link_view to credit notes report 2016-09-02 11:05:38 +10:00
Christopher Neugebauer
372512c6af Adds report to view credit notes. 2016-09-02 10:40:28 +10:00
Christopher Neugebauer
499c4209cf Makes form_type *properly* optional 2016-09-02 10:30:12 +10:00
Christopher Neugebauer
f1c8e90b77 Makes the form type optional for reports 2016-09-02 10:28:24 +10:00
Christopher Neugebauer
960de87343 oops 2016-09-02 10:10:21 +10:00
Christopher Neugebauer
86d1ab7160 Refactors core reporting bits into a reporting package 2016-09-02 10:08:11 +10:00
Christopher Neugebauer
fb022bbc7b Adds a view that shows all reports 2016-09-02 09:55:29 +10:00
Christopher Neugebauer
1e066952e9 Reports now need staff credentials to load. 2016-09-02 09:31:12 +10:00
Christopher Neugebauer
66226663d5 Makes the inventory report even clearer. 2016-08-26 15:53:33 +10:00
Christopher Neugebauer
32b887fed3 Makes the reporting framework a bit more DRY. 2016-08-26 15:11:08 +10:00
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