Commit graph

598 commits

Author SHA1 Message Date
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
4c33b63f97 better way to know whether this is the last page 2021-11-23 14:44:48 +01:00
Son
cd553608a5 fix 2021-11-23 14:35:37 +01:00
Son
f049da8c9a Compare mx domains with priority order and not priority value 2021-11-23 14:31:53 +01:00
Son
55ae61527d user can buy 1-year coupon 2021-11-22 16:30:27 +01:00
Son
bd8b9526f6 set Fido.user_id 2021-11-22 15:57:51 +01:00
Son
30f2734853 flake8 2021-11-19 18:32:04 +01:00
Son
b2c31ef658 fix the pagination error display 2021-11-19 18:30:36 +01:00
Son
d2ed9337f1 add coupon comment in notification 2021-11-19 16:40:52 +01:00
Son
a17e81a8f1 user can't import csv if current_user.disable_import 2021-11-18 10:51:57 +01:00
Son
38ecb227b0 reduce subdomain/directory quota when user create/delete subdomain/directory 2021-11-18 10:33:15 +01:00
Son
ffc04c7fe9 redirect user to subdomain page if a subdomain is deleted 2021-11-17 17:34:53 +01:00
Son
a8c86785d1 make sure a deleted subdomain can't be recreated 2021-11-17 17:21:13 +01:00
Son
417f7b92b0 make sure a deleted directory can't be recreated 2021-11-17 17:02:31 +01:00
Son
67377a0f22 do not show subdomains on the domain page 2021-11-17 11:52:33 +01:00
Son
eaff8b7ff3 remove User.can_use_subdomain column, make subdomain available to all users 2021-11-15 11:16:03 +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
2fad942c95 include coupon comment in the notification 2021-11-11 18:22:41 +01:00
Son
5105c0dbee limit the number of subdomains 2021-11-09 10:17:47 +01:00
Son
89648a83dd fix case /mailbox/confirm_change is called in unauthorized user 2021-11-08 11:22:54 +01:00
Son
bcf1fa2510 fix bug: user can't update mailbox address if it's already used by another account 2021-11-05 18:42:34 +01:00
Son
bfab753e76 do not show subdomain if no SLDomain support it 2021-11-05 18:10:56 +01:00
Son
4ed60ba1d0 set dmarc and dkim to False for subdomain 2021-11-05 18:09:04 +01:00
Son
58e92e7462 user can add subdomain 2021-11-05 11:44:39 +01:00
Son
0ae40d599a user can block contact directly on the dashboard 2021-11-03 11:29:46 +01:00
Son
accbf882c4 user can set one_click_unsubscribe_block_sender setting 2021-11-03 10:11:47 +01:00
Son
caa8656748 create /dashboard/block_contact/:contact_id 2021-11-02 15:30:18 +01:00
Son
b0822519eb only show the navigation arrow when #contacts > PAGE_LIMIT 2021-10-23 16:08:43 +02:00
Son
4d740a4dc0 flake8 2021-10-15 10:39:29 +02:00
Son
57bfa7e933 make sure that a domain already used in a verified mailbox can't be added 2021-10-15 10:32:20 +02:00
Son
05cf085511 fix 2021-10-13 13:32:27 +02:00
Son
cfe88b5df2 use job system to delete domain 2021-10-13 11:43:44 +02:00
Son
fbabe6fb44 use job system for deleting mailbox 2021-10-13 11:40:15 +02: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
cef6579946 add User.lifetime_coupon_id column 2021-10-04 17:14:34 +02:00
Son Nguyen Kim
9528bdcb2e user can enable the ignore_loop_email 2021-09-27 15:58:04 +02:00
Son Nguyen Kim
408322217d allow user having apple subscription to switch to web subscription 2021-09-27 09:59:33 +02:00
Son Nguyen Kim
469c2011aa use ~all instead of -all for SPF 2021-09-23 10:30:59 +02:00
Son Nguyen Kim
18acfd9a42 handle case mailbox new address is already used 2021-09-21 11:19:22 +02:00
Son Nguyen Kim
19088ba85f refactor 2021-09-21 11:17:32 +02:00
Son Nguyen Kim
1d09d76cb2 use re2 instead of re to avoid ReDOS attack 2021-09-21 10:57:36 +02:00
Son Nguyen Kim
84880ae32a fix error with rule regex doesn't save if error 2021-09-21 10:42:32 +02:00
Son Nguyen Kim
1e3afa257c validate regex before creating rule 2021-09-21 10:42:02 +02:00
Son Nguyen Kim
f160ebec4e add debug zone to auto create page 2021-09-21 10:14:36 +02:00
Son Nguyen Kim
56c72d5fba create auto create page, remove custom domain auto_create_regex part 2021-09-20 18:28:43 +02:00
Son Nguyen Kim
0b127216ee user can set custom_domain.auto_create_regex 2021-09-17 17:41:36 +02:00
Son Nguyen Kim
b990c052ac move domain mailboxes to domain detail page and only enable it if catch-all is on 2021-09-17 11:54:37 +02:00
Son Nguyen Kim
e5a388dffb optimize import 2021-09-10 17:37:33 +02:00
Son Nguyen Kim
61d9f7ee43 refactor 2021-09-10 17:31:29 +02:00
Son Nguyen Kim
3ad4b6b76f use flanker instead of parseaddr_unicode 2021-09-10 17:06:38 +02:00
Son Nguyen Kim
5ac78f2694 reformat 2021-09-08 11:29:55 +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
48838eb176 add highlighted alias in case it's not included in the result 2021-09-07 15:22:50 +02:00
Son Nguyen Kim
ffd2ec5e81 add filter by directory on dashboard 2021-09-05 19:11:05 +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
51578ce934 add filter by mailbox 2021-08-20 12:21:27 +02:00
Son Nguyen Kim
59e4dbb6a6 fix error display on domain ownership check 2021-08-17 19:39:58 +02:00
Son Nguyen Kim
9c6f3989a0 remove hack 2021-08-17 19:19:49 +02:00
Son Nguyen Kim
aa041708e3 add ownership verification via TXT record 2021-08-17 19:05:12 +02:00
Son Nguyen Kim
f4fead2542 generate a domain ownership txt token if needed 2021-08-17 19:03:15 +02:00
Son
0f4ad1a0d4 black 2021-08-15 17:56:31 +02:00
Son
e5308932a2 make mailbox deletion async 2021-08-15 17:50:47 +02:00
Son Nguyen Kim
9968cbfa8e make sure user cancels the Paddle subscription before deleting their account 2021-07-29 12:09:40 +02:00
Son Nguyen Kim
c0fe72ccd0 user can change the expand_alias setting 2021-07-22 10:30:17 +02:00
Son Nguyen Kim
d181cd49dd Sign the whole Alias Suffix Info instead of just the suffix 2021-07-19 20:14:59 +02:00
Son Nguyen Kim
3141bf1367 remove redundant check 2021-07-19 20:02:26 +02:00
Son Nguyen Kim
55dcd63654 support search on contact page 2021-07-14 18:57:25 +02:00
Son Nguyen Kim
aa799fa339 Revert "Do not return contact alias activity on the contact manager page"
This reverts commit 45891bed36.

# Conflicts:
#	app/dashboard/views/alias_contact_manager.py
2021-07-14 17:21:07 +02:00
Son Nguyen Kim
25f0a71ea5 add 2 weeks mention on global stats 2021-07-14 17:15:46 +02:00
Son Nguyen Kim
253be7bad4 Revert "disable global stats to help the DB"
This reverts commit 7ce83c36b9.
2021-07-14 15:55:03 +02:00
Son Nguyen Kim
b98e913304 fix contact page 2021-07-13 22:25:53 +02:00
Son Nguyen Kim
45891bed36 Do not return contact alias activity on the contact manager page 2021-07-13 19:27:45 +02:00
Son Nguyen Kim
7ce83c36b9 disable global stats to help the DB 2021-07-13 14:52:02 +02:00
Son Nguyen Kim
601385a0c1 add coupon 2021-07-13 08:54:37 +02:00
Son NK
95d6fa3478 make sure user can create new alias to receive an alias transfer 2021-07-03 17:12:03 +02:00
Son NK
01815b9153 replace get_suffix() by User.get_random_alias_suffix() 2021-06-27 17:51:13 +02:00
Son NK
09d00df363 reformat imports 2021-06-27 17:50:36 +02:00
Raymond Nook
258d505cbf
Merge branch 'master' into master 2021-05-26 22:33:20 -07:00
devStorm
f7bef3941a
replace random_word with get_suffix(user) 2021-05-26 22:30:12 -07:00
Son NK
2f96322977 make sure BOUNCE_PREFIX_FOR_REPLY_PHASE can't be used as directory name or for creating aliases on-the-fly 2021-05-25 17:59:40 +02:00
devStorm
4a0fc8380f
variable naming 2021-05-14 11:03:16 -07:00
devStorm
30183ac8c3
🐛 fix style 2021-05-13 19:34:54 -07:00
devStorm
5c74ad2dc0
⚠️ Remove word list check 2021-05-13 16:55:46 -07:00
devStorm
178ce34399
Enum, setting 2021-05-13 16:53:01 -07:00
devStorm
3fc250018d
basic implementation of random suffix 2021-05-13 16:13:19 -07:00
Son NK
93a8873192 show payouts on referral page 2021-05-10 13:03:44 +02:00
Son NK
ceacf8e3a7 support dot in alias prefix 2021-04-30 11:37:17 +02:00
Son NK
c5697fbf3c remove unused import 2021-04-23 12:07:49 +02:00
Son NK
7946879308 schedule account deletion 2021-04-23 11:50:26 +02:00
Son NK
aad1270e0d free trial account can't create more than MAX_NB_EMAIL_FREE_PLAN aliases 2021-04-09 12:40:55 +02:00
Son NK
9757b12b95 user can remove the app link 2021-04-01 14:20:13 +02:00
Son NK
efae1710c8 extract the app/website to a separate page 2021-04-01 14:09:16 +02:00
Son NK
92acf352b6 add limiter for random alias creation 2021-03-24 17:30:05 +01:00
Son NK
71389b7e09 add limiter on custom alias page 2021-03-24 16:52:05 +01:00
Son NK
7ab64d9768 add more logging 2021-03-22 15:52:48 +01:00
Son NK
8bb324e82b propose users to disable an alias instead of deleting it 2021-03-18 14:21:26 +01:00
Son NK
3512cc087e remove unused import 2021-03-08 14:53:14 +01:00
Son Nguyen Kim
095e2ae0de
Merge pull request #377 from TheLastProject/feature/api_export
Add export endpoints
2021-03-08 12:18:28 +01:00