Son
|
c356c75494
|
show coupon expires date when user buys a coupon
|
2021-11-26 18:20:46 +01:00 |
|
Son
|
4d0f6811b2
|
error if coupon is expired
|
2021-11-26 18:11:03 +01:00 |
|
Son
|
55ae61527d
|
user can buy 1-year coupon
|
2021-11-22 16:30:27 +01:00 |
|
Son
|
d2ed9337f1
|
add coupon comment in notification
|
2021-11-19 16:40:52 +01:00 |
|
Son
|
324cc8734b
|
handle the case user mistakenly use a lifetime coupon on the coupon page
|
2021-11-12 17:53:56 +01:00 |
|
Son
|
372466ab06
|
do not use flask-sqlalchemy
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
|
2021-10-12 14:36:47 +02:00 |
|
Son Nguyen Kim
|
f3cff1f1bf
|
create manual subscription using the coupon.is_giveaway info
|
2021-09-07 15:36:19 +02:00 |
|
Son Nguyen Kim
|
b5c827c2ea
|
handle case user already has an active subscription via another channel (Paddle, Apple, etc) on coupon page
|
2021-08-21 16:04:32 +02:00 |
|
Son Nguyen Kim
|
513f5cd4fb
|
rename
|
2021-08-21 15:55:22 +02:00 |
|
Son Nguyen Kim
|
601385a0c1
|
add coupon
|
2021-07-13 08:54:37 +02:00 |
|