Christopher Neugebauer
|
3f192c2626
|
Zeroed & paid invoices that are voided now release the cart.
Fixes #95.
|
2016-10-13 11:23:41 -07:00 |
|
Christopher Neugebauer
|
c9c9d2a2b2
|
Cancelled presentations no longer enable SpeakerCondition.
Fixes #94
|
2016-10-13 10:50:48 -07:00 |
|
Christopher Neugebauer
|
232dc9e452
|
Invoices are tested for cart validity before display.
Fixes #99.
|
2016-10-13 09:19:18 -07:00 |
|
Christopher Neugebauer
|
d31d812001
|
Adds functionality to increase the reservation duration
|
2016-10-06 12:33:53 -07:00 |
|
Christopher Neugebauer
|
b323c0eb25
|
Cart reservation durations now take the residual from the last reservation duration into account.
|
2016-10-06 12:12:50 -07:00 |
|
Christopher Neugebauer
|
a16cb71463
|
Fixes issue in for_id_or_404
|
2016-09-21 15:58:58 +10:00 |
|
Christopher Neugebauer
|
4a50d69936
|
Moves total_payments() to Invoice model; adds balance_due()
|
2016-09-16 09:35:12 +10:00 |
|
Christopher Neugebauer
|
fc81f107ed
|
When setting quantities on products, only raise errors if they’re due to changes made during the current call to set_quantities.
Fixes #54
|
2016-09-15 16:33:19 +10:00 |
|
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
|
52fa696a01
|
Fixes GroupMemberCondition test
|
2016-09-15 15:33:52 +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
|
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
|
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
|
faa25c9b3a
|
Adds missing_categories tag
|
2016-09-14 13:28:15 +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
|
a27264ac92
|
Filters items_purchased by category.
Fixes #74
|
2016-09-13 12:28:48 +10:00 |
|
Christopher Neugebauer
|
0f488e7a12
|
Makes TeamMemberCondition work
|
2016-09-05 10:45:10 +10:00 |
|
Christopher Neugebauer
|
136c68aa0a
|
Adds GroupMemberCondition, derivatives, and controllers.
|
2016-09-05 10:01:36 +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
|
b3d86e2148
|
Adds stub for SpeakerConditionController
|
2016-09-04 12:39:52 +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
|
84c40a1e1f
|
Refactors ItemController, add items_released
|
2016-09-03 15:08:25 +10:00 |
|
Christopher Neugebauer
|
1e6c90163d
|
Fixes #64
|
2016-09-03 11:46:24 +10:00 |
|
Christopher Neugebauer
|
68aa9b067b
|
Factors items_pending and items_purchased into ItemController
|
2016-09-02 15:57:20 +10:00 |
|
Christopher Neugebauer
|
64ca477cb8
|
Fixes flake8 snafus
|
2016-09-02 11:43:27 +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
|
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
|
e946af0f04
|
Adds functions for mailing invoices when certain events occur.
|
2016-08-21 16:56: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
|
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
|
5929c0af3c
|
Adds 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
|
ddedf54c42
|
Adds batch context manager 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 |
|