Tobias Kunze
55120fc4ea
Proper regeneration behavior for cancellations
2016-09-08 15:46:26 +02:00
Tobias Kunze
988dfc32a3
Use @transaction.atomic instead of @transaction.atomic()
2016-09-07 15:30:38 +02:00
Tobias Kunze
65db55f21b
Extract common code of generate_invoice and regenerate_invoice
...
Only change is that a regenerated invoice's date is updated to the
current date, which would seem to be better to me, anyways.
2016-09-07 15:30:36 +02:00
Tobias Kunze
3eb4e84db4
Allow payment providers to supply invoice content
2016-09-07 15:30:35 +02:00
Raphael Michel
30ab315fec
Use full codes in orders
2016-09-05 22:47:44 +02:00
Raphael Michel
d8f81955ba
Changed order overview columns to increase usefulness
2016-09-04 22:57:42 +02:00
Raphael Michel
a6bafd816b
Send automatic payment reminder emails, redesign mail settings
2016-09-02 10:16:08 +02:00
Raphael Michel
972ad211bf
Only expire orders in the evening of their expiry date
2016-09-02 10:09:15 +02:00
Tobias Kunze
7e19effe3c
Fix #122 -- Allow users to re-send order links ( #197 )
...
If the provided mail address has not ordered anything, there will still
be a mail generated and sent to an invalid mail address, to avoid
obvious timing attacks to determine active users.
2016-09-01 08:59:36 +02:00
Raphael Michel
b21ed4d99f
Fix #163 -- Form to change orders ( #191 )
2016-08-31 19:10:11 +02:00
Tobias Kunze
5f401f17d8
Add a footer and a second text field to invoices
...
Also, move to using localized strings for Invoice.additional_text
settings for consistency.
2016-08-30 19:49:29 +02:00
Tobias Kunze
157a16810d
Add a net_value column to invoices
...
TODO: localization
2016-08-30 19:05:35 +02:00
Tobias Kunze
b8e77aeca4
Render line breaks in invoices "Additional text"
2016-08-30 19:05:35 +02:00
Tobias Kunze
3c8f9f5a62
Catch and display mail sending errors ( #215 )
2016-08-30 16:49:52 +02:00
Raphael Michel
c30ff5e657
Only call now() once inside any event.lock() call
2016-08-29 22:33:51 +02:00
Tobias Kunze
87a77989e7
Disallow cancelling an expired order
...
as per discussion on #165
2016-08-24 15:26:54 +02:00
Tobias Kunze
5667866c9d
Make vouchers reusable upon cancelation of an Order
...
Refs #165 .
2016-08-21 15:56:25 +02:00
Raphael Michel
a6121c40f1
Added custom headers to mail() API
2016-08-16 13:36:53 +02:00
Raphael Michel
63b683096b
Resolved two more edge cases in quota handling
...
Scenario 1) Blocking voucher is used in a CartPosition. Previously
too much was subtracted from the quota.
Scenario 2) When two quotas are assigned to a product and one of them
is sold out, blocking vouchers for the other quota should not enable to
buy the product.
2016-08-15 22:55:18 +02:00
Raphael Michel
3dfdfdf5d0
Check required vouchers at checkout
2016-08-15 16:10:38 +02:00
Raphael Michel
5031393136
Force isort to treat typing in the py3.5 style, not py3.4
2016-08-13 21:19:36 +02:00
Tobias Kunze
34212841e2
Fixed typos and a little phrasing. ( #175 )
...
Mostly in German translation, some small fixes in English text, too.
2016-08-13 21:16:16 +02:00
Tobias Kunze
980e0f5eb3
Make mail() raise an exception on obvious failures
...
As per #164 . Should also work for #69 .
2016-08-10 21:06:10 +02:00
Raphael Michel
a22262aa30
Refs #131 -- Allow to regenerate an invoice
2016-08-05 11:26:13 +02:00
Raphael Michel
a61792ed4e
Do not issue invoices for free payments
2016-08-05 11:06:22 +02:00
Raphael Michel
39ada8954e
Added optional links to the order in emails
2016-08-04 17:56:07 +02:00
Raphael Michel
f91c95b1bc
Added products that require a voucher to be bought/shown
2016-07-28 19:52:07 +02:00
Raphael Michel
2541855948
Fixed missing or unused imports
2016-07-18 23:12:16 +02:00
Tobias Kunze
bfc721978d
Fixed minor documentation errors and mistakes ( #151 )
2016-07-14 20:01:38 +02:00
Raphael Michel
ea7e94c98b
Fixed missing error mesages
2016-06-09 16:21:47 +02:00
Raphael Michel
4496f19a68
Supporting invoice-on-demand instead of autogeneration
2016-06-05 18:01:10 +02:00
Raphael Michel
e4b1cf8d6f
Document setting storage and mail sending
2016-05-29 20:34:20 +02:00
Raphael Michel
944b5db0bf
Refs #82 -- Make order expiry more clear ( #116 )
2016-05-07 17:03:32 +02:00
Raphael Michel
09cee356b0
Allow for vouchers that are valid for multiple items
2016-05-04 17:50:19 +02:00
Raphael Michel
38f0e6e6d6
Added a delay to invoice generation
2016-04-18 17:50:19 +02:00
Raphael Michel
403057f3e5
Fixed a decimal casting issue
2016-04-10 15:54:24 +02:00
Raphael Michel
1011893543
Fixed #107 and fixed #125 -- Periodic cleanup tasks
2016-03-26 19:10:31 +01:00
Raphael Michel
112a309a0e
Fixed #106 -- added pay-what-you-want tickets
2016-03-24 18:01:09 +01:00
Raphael Michel
f80a9a7ec3
Fixed a bug in invoicing
2016-03-24 14:12:20 +01:00
Raphael Michel
8ee606f0d6
Fixed an encoding error
2016-03-21 18:04:47 +01:00
Raphael Michel
fde5fffd3c
Fixed localization and error reporting with exceptions thrown in celery
2016-03-21 17:50:55 +01:00
Raphael Michel
047e5bb067
Refs #105 -- Variation support for vouchers
2016-03-20 11:46:55 +01:00
Raphael Michel
05aed0182e
Keep lock duration as small as possible
2016-03-20 10:54:41 +01:00
Raphael Michel
0355d22114
Refs #118 -- Asynchronous order cancelling
2016-03-20 10:40:18 +01:00
Raphael Michel
1f665e6f48
Use a context manager for temporary locale switches
2016-03-15 17:59:32 +01:00
Raphael Michel
7f524af79a
Fixed translation issues
2016-03-15 17:17:33 +01:00
Raphael Michel
8812da5325
Fixed a wrong locale string
2016-03-15 17:09:32 +01:00
Raphael Michel
5ab78b4576
Refs #131 -- Basic implementation of invoicing
2016-03-13 16:05:31 +01:00
Raphael Michel
1cd64f40eb
Resolve warnings from modern flake8
2016-03-03 18:35:37 +01:00
Raphael Michel
14e5134890
Added invoice addresses
2016-02-22 13:49:15 +01:00