Commit Graph

625 Commits

Author SHA1 Message Date
Son
4d388a202c allow user with manual or coinbase subscription to switch to paddle 2021-12-01 17:16:01 +01:00
Son
4ffa5c9345 display expires date 2021-11-30 10:33:31 +01:00
Son
94a90665ea black format 2021-11-29 16:46:03 +01:00
Son
21bd4ed97e display all user payment channels on admin 2021-11-29 16:26:41 +01:00
Son
c29b5100fb delete User.subscription_cancelled 2021-11-29 16:17:24 +01:00
Son
325a1a9524 remove unused User.premium_end 2021-11-29 11:35:28 +01:00
Son
06d459ba99 Add coupon.expires_date column 2021-11-26 18:10:23 +01:00
Son
e4f2e1f5a8 add Fido.user_id column 2021-11-22 15:57:38 +01:00
Son
63f4d15329 do not decrease directory or subdomain quota when user deletes a subdomain/directory 2021-11-20 20:00:35 +01:00
Son
a072fdcd96 do not send emails to disabled user 2021-11-20 19:42:49 +01:00
Son
6f4c9f6c5a add User.disable_import column 2021-11-18 10:51:13 +01:00
Son
38ecb227b0 reduce subdomain/directory quota when user create/delete subdomain/directory 2021-11-18 10:33:15 +01:00
Son
85c6e791bc add _directory_quota, _subdomain_quota column to User 2021-11-18 10:30:46 +01:00
Son
bccfcee780 add subdomain and directory stats to Metric 2021-11-17 17:43:59 +01:00
Son
a8c86785d1 make sure a deleted subdomain can't be recreated 2021-11-17 17:21:13 +01:00
Son
5a81c08e32 add DeletedSubdomain model 2021-11-17 17:20:00 +01:00
Son
417f7b92b0 make sure a deleted directory can't be recreated 2021-11-17 17:02:31 +01:00
Son
482aa8614c Create DeletedDirectory model 2021-11-17 17:01:39 +01:00
Son
2ce7f3d445 add coupon.comment column 2021-11-17 11:52:46 +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
293cc74c53 add User.include_website_in_one_click_alias column 2021-11-12 09:44:40 +01:00
Son
a1fdbc0caa use bigint for Fido.sign_count 2021-11-06 12:40:16 +01:00
Son
bfab753e76 do not show subdomain if no SLDomain support it 2021-11-05 18:10:56 +01:00
Son
ef734d7045 add User.can_use_subdomain column 2021-11-05 11:44:04 +01:00
Son
3f1020d5d7 Add CustomDomain.is_sl_subdomain and SLDomain.can_use_subdomain columns 2021-11-05 11:29:10 +01:00
Son
4369137e25 block the sender via one click unsubscribe 2021-11-02 15:44:43 +01:00
Son
368a2f1b47 Add User.one_click_unsubscribe_block_sender column 2021-11-02 15:41:49 +01:00
Son
7fef62f67a Add MessageIDMatching.email_log_id column 2021-11-01 18:41:36 +01:00
Son
9620f97449 add Contact.block_forward column 2021-10-28 10:12:56 +02:00
Son
02a005d076 increase message_id length to 1024 2021-10-27 16:06:56 +02:00
Son
8aa7b1b773 set client.referral_id=None when a referral is deleted 2021-10-26 12:06:49 +02:00
Son
f19655fc93 add client.referral_id column 2021-10-26 11:55:27 +02:00
Son
0fbd351bed handle the referral url that has ?slref=code part 2021-10-25 15:02:02 +02:00
Son
8cb413d5fd remove unused import 2021-10-25 14:47:07 +02:00
Son
7e0609c39a do not display nb_paid_user for client 2021-10-25 14:36:23 +02:00
Son
8680c0a739 do do not use the ra+ prefix for reverse alias 2021-10-25 14:33:42 +02:00
Son
befec56a86 display nb paid user on SIWSL app 2021-10-25 11:10:23 +02:00
Son
50b0dc3767 Add User.disable_automatic_alias_note column 2021-10-23 17:40:57 +02:00
Son
1483f2e103 Add EmailLog.message_id, sl_message_id and MessageIDMatching table 2021-10-18 17:25:59 +02:00
Son
34564f6fa4 Add Metric2.nb_total_bounced_last_24h column 2021-10-15 10:46:22 +02:00
Son
fcb94f0331 add Bounce.info column 2021-10-14 15:45:29 +02:00
Son
3a0b125323 fix table name 2021-10-13 10:52:41 +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
a7f82b2110 fix test 2021-10-11 11:47:07 +02:00
Son
fdc23b3107 add User.alternative_id column 2021-10-11 11:30:10 +02:00
Son
cef6579946 add User.lifetime_coupon_id column 2021-10-04 17:14:34 +02:00
Son
9c528b913c add LifetimeCoupon.comment column 2021-10-04 16:48:33 +02:00
Son Nguyen Kim
339d611e63 remove Contact.from_header column 2021-09-27 12:19:33 +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
0075cee1ee default to UUID for api key code if the previous one is already used 2021-09-21 11:27:37 +02:00
Son Nguyen Kim
65ce47b6f7 Allow ApiKey.name to be null 2021-09-21 11:25:52 +02:00
Son Nguyen Kim
d9d67df126 remove unique constraint on TransactionalEmail.email 2021-09-21 11:15:40 +02:00
Son Nguyen Kim
809f547742 remove CustomDomain.auto_create_regex 2021-09-21 09:48:07 +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
f36f8b94e2 Create AutoCreateRule, AutoCreateRuleMailbox model 2021-09-20 18:23:19 +02:00
Son Nguyen Kim
0055ca976b add flush option to ModelMixin.create() 2021-09-20 18:16:52 +02:00
Son Nguyen Kim
153831ed1a remove obsolete sender formats 2021-09-20 12:27:36 +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
58d36e9cd8 add CustomDomain.auto_create_regex column 2021-09-17 17:35:36 +02:00
Son Nguyen Kim
62044e6db1 Add User.ignore_loop_email column 2021-09-10 18:14:51 +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
41f10373d1 add plan info 2021-09-08 10:51:47 +02:00
Son Nguyen Kim
d9f44437da add Coupon.is_giveaway column 2021-09-07 15:35:55 +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
b606d35c11 add pg_trgm index on Alias.note to speed up LIKE search 2021-08-20 12:14:20 +02:00
Son Nguyen Kim
52e2e67081 add CustomDomain ownership_verified, ownership_txt_token column. Set ownership_verified=True for domain that has verified=True 2021-08-17 19:02:35 +02:00
Son Nguyen Kim
2b048543d3 add Alias.ts_vector column to use full text search 2021-08-04 09:29:56 +02:00
Son Nguyen Kim
e2fea3aed8 Revert "add index for Alias name and email column"
This reverts commit 35a9a723aa.
2021-08-04 09:01:59 +02:00
Son Nguyen Kim
35a9a723aa add index for Alias name and email column 2021-08-04 08:57:13 +02:00
Son Nguyen Kim
b9d1d10473 Revert "add some indexes to speed up search by query"
This reverts commit e9538a62be.
2021-08-04 08:56:11 +02:00
Son Nguyen Kim
e9538a62be add some indexes to speed up search by query 2021-08-03 19:13:48 +02:00
Son Nguyen Kim
6dac717c75 Add IgnoreBounceSender model 2021-08-02 11:30:29 +02:00
Son Nguyen Kim
5821bd6512 Create HibpNotifiedAlias to store all notified aliases 2021-07-29 09:41:46 +02:00
Son Nguyen Kim
5aef6cceb2 Add description, date column to Hibp model 2021-07-29 08:51:21 +02:00
Son Nguyen Kim
52376484a5 Add nb_block_last_24h, nb_bounced_last_24h, nb_forward_last_24h, nb_reply_last_24h 2021-07-28 18:31:59 +02:00
Son Nguyen Kim
39e2750486 remove Metric 2021-07-28 18:20:18 +02:00
Son Nguyen Kim
8de9931b28 Add User.expand_alias_info column 2021-07-22 10:17:23 +02:00
Son Nguyen Kim
4b9b3f18a2 add index for contact.reply_email col 2021-07-13 10:17:10 +02:00
Son Nguyen Kim
7a8b5d80ed Create coupon model 2021-07-12 19:26:28 +02:00
Son Nguyen Kim
0b063cb409 Add EmailLog.alias_id column 2021-07-11 12:27:30 +02:00
Son NK
01815b9153 replace get_suffix() by User.get_random_alias_suffix() 2021-06-27 17:51:13 +02:00
Raymond Nook
4469a64de6
Merge branch 'simple-login:master' into master 2021-06-24 02:57:17 -07:00
Son NK
b84eb13ab5 Discard ignored email
Create IgnoredEmail model
2021-06-22 17:52:24 +02:00
Raymond Nook
e40c276a68
Merge branch 'master' into master 2021-06-05 22:57:27 -07:00
devStorm
e79959c330
🐛 imported but unused 2021-06-05 22:53:16 -07:00
Son NK
a2ffc53c62 user can have manual subscription applied if their current subscription is canceled 2021-06-05 17:28:04 +02:00
Son NK
78df95395b improve upgrade_channel 2021-06-05 17:20:42 +02:00
Son NK
10414a6b96 flake8 2021-06-02 19:04:58 +02:00
Son NK
62683a221a black 2021-06-02 18:48:35 +02:00
Son Nguyen Kim
b14d79c8f7
Merge pull request #496 from nbraud/pw_hash/refactor
Fix minor issues with password-handling, refactor
2021-06-02 18:33:56 +02:00
Son NK
3897f6b633 refactor handle_bounce() 2021-06-02 11:38:52 +02:00
Son NK
28285f28ac Add index for AliasHibp 2021-05-28 19:59:26 +02:00
devStorm
e6192ece01
style 2021-05-26 22:34:50 -07: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
nicoo
52d4d2abdb app.models: minor refactor (extract pw auth) 2021-05-26 18:18:47 +02:00
Son NK
b23e3d94fd make sure AliasHibp has cascade ondelete 2021-05-25 18:14:44 +02:00
Son NK
d4e930c930 Remove nullsfirst as not compatible with sqlite. Add more logging 2021-05-19 12:46:55 +02:00
Son Nguyen Kim
b3f8fd6789
Merge pull request #472 from TheLastProject/feature/hibp
Add HIBP checks
2021-05-19 12:37:04 +02:00
Sylvia van Os
a08b0c05cc Don't override id 2021-05-17 21:29:29 +02:00
Sylvia van Os
969616d671 Date compare in DB instead of model function 2021-05-17 18:20:35 +02:00
Sylvia van Os
bee468e055 Black 2021-05-15 18:04:50 +02:00
devStorm
4a0fc8380f
variable naming 2021-05-14 11:03:16 -07:00
Sylvia van Os
f67f5297f2 Add HIBP checks 2021-05-14 19:50:32 +02:00
Son NK
ef2eb7f959 add Paddle subscription_id in admin 2021-05-14 16:10:34 +02:00
devStorm
30183ac8c3
🐛 fix style 2021-05-13 19:34:54 -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
edaf293398 Create admin pages for Referral and Payout 2021-05-10 15:51:39 +02:00
Son NK
229d2c644b Add Payout model 2021-05-10 13:03:19 +02:00
Son NK
e74dbd7e98 increase monthly plan to $4 2021-04-23 12:08:27 +02:00
Son NK
9bfd9ebf07 fix 2021-04-09 12:46:51 +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
f8540808bc remove Client.published 2021-04-06 19:46:21 +02:00
Son NK
efae1710c8 extract the app/website to a separate page 2021-04-01 14:09:16 +02:00
Son NK
3c4a1413e0 Remove ClientUser.nonce 2021-04-01 12:49:32 +02:00
Son NK
da17f51778 add AuthorizationCode.nonce 2021-04-01 12:35:21 +02:00
Son NK
36e7cf3fdc add ClientUser.nonce 2021-04-01 12:31:37 +02:00
Son NK
bbfb69d774 Add Client approved, description columns 2021-04-01 10:50:11 +02:00
Son NK
9d5c2e3f80 display when subscription ends in admin 2021-03-26 12:14:48 +01:00
Son NK
1600e273dd remove Metric2.name column 2021-03-23 10:30:57 +01:00
Son NK
ec1633d0d7 create Metric2 model 2021-03-23 10:23:40 +01:00
Son NK
f0fb5108f9 show a different message for custom domain alias when deleting 2021-03-18 14:45:18 +01:00
Son
863d8dcbe7 black 2021-03-06 18:10:41 +01:00
Son
29afc1b6b5 Add Alias.transfer_token col 2021-03-06 18:08:42 +01:00
Son NK
9492aaccf5 Add EmailLog.auto_replied col 2021-03-06 17:44:46 +01:00
Son NK
3aeaf6fe29 make include_sender_in_reverse_alias non nullable 2021-02-24 15:44:50 +01:00
Son NK
e19fff3a9a Add Alias.original_owner_id column 2021-02-17 12:49:47 +01:00
Son NK
0354943ff4 Add User.sender_format_updated_at column 2021-01-26 20:13:51 +01:00
Son NK
6547d9420f Use "John Wick - john at wick.com" as default sender format 2021-01-26 19:54:59 +01:00
Son NK
4cd49b66c2 use VERP for transactional email: remove SENDER, SENDER_DIR 2021-01-26 09:59:22 +01:00
Son NK
1013e8dd79 Create Bounce, TransactionalEmail models 2021-01-26 09:59:22 +01:00
Son NK
980942a1f9 create Metric model 2021-01-25 18:47:02 +01:00
Son NK
4bfe6d1ac9 handle name can be None in get_name_initial() 2021-01-15 11:21:45 +01:00
Son NK
e9adb3270d use sanitize_email instead of .lower().strip().replace(" ", "") 2021-01-11 12:29:40 +01:00
Son NK
cce08adb87 set "" as default name when creating new user 2021-01-11 10:25:37 +01:00
Son NK
435ced66bc make User.name nullable 2021-01-11 10:24:00 +01:00
Son NK
ef7fae32b1 remove the "Hi {name}" from email template 2021-01-11 10:23:34 +01:00
Son NK
4293bba5ab add edu upgrade to User admin page 2021-01-08 18:53:01 +01:00
Son NK
8dbaf3cf56 Add EmailLog.spam_report column 2021-01-04 14:38:32 +01:00
Son NK
75d1b090cd rename default_random_alias_public_domain_id -> default_alias_public_domain_id 2020-12-31 14:14:56 +01:00
Son NK
e0a414212e rename default_random_alias_domain_id -> default_alias_custom_domain_id 2020-12-31 14:06:32 +01:00
Son NK
66e7aa7242 refactor 2020-12-31 12:50:04 +01:00
Son NK
0df4d1a93d add more logging 2020-12-29 12:17:24 +01:00
Son NK
9f9d292754 remove can_use_coinbase column 2020-12-19 16:31:16 +01:00
Son NK
3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK
1961d2f18e Add User.can_use_coinbase column 2020-12-13 19:28:13 +01:00
Son NK
02c74e6a5a take into account Coinbase in can_upgrade(), is_paid(), _lifetime_or_active_subscription() 2020-12-13 19:08:06 +01:00
Son NK
9329cf04ad Create CoinbaseSubscription model 2020-12-13 19:05:43 +01:00
Son NK
05d4ec1c2f Add directory.disabled column 2020-12-07 10:48:43 +01:00
Son NK
eab09d8c32 Add User.include_sender_in_reverse_alias column. Null for existing user, False for new user. 2020-12-06 19:36:39 +01:00
Son NK
255a7e085a add index on user_id, mailbox_id, ... if possible 2020-12-02 17:33:03 +01:00
Son NK
5b9eb8686a add id to mailbox repr 2020-11-26 10:08:09 +01:00
Son NK
4381314f6f preload email_log.mailbox 2020-11-24 21:51:25 +01:00
Son NK
297857a140 Remove _MAILBOX_ID_HEADER 2020-11-24 16:50:55 +01:00
Son NK
6b07be5677 add email_log.mailbox_id column 2020-11-24 16:35:16 +01:00
Son NK
c707342695 Use pgp_enabled() instead of pgp_finger_print 2020-11-24 11:22:41 +01:00
Son NK
5997e5b5b5 add Mailbox.disable_pgp column 2020-11-24 11:22:41 +01:00
Son NK
33e6342a9c use warning log when user uses premium domain 2020-11-23 10:43:50 +01:00
Son NK
75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK
c794e73abd Add EnumE.has_name(), EnumE.get_value() 2020-11-15 19:43:01 +01:00
Son NK
d8c9078708 Add EnumE.get_name() 2020-11-15 19:34:00 +01:00
Son NK
abf50e302b Add Alias.pinned column 2020-11-15 18:38:07 +01:00
Son NK
f62c568dd0 Add Contact.invalid_email column 2020-11-14 15:54:06 +01:00
Son NK
44c3ac1741 Replace 2.99 by 3, 29.99 by 30 2020-11-09 17:56:26 +01:00
Son NK
7cc57106de Add Mailbox.generic_subject column 2020-11-07 12:48:44 +01:00
Son NK
a989545505 make sure alias contact address is valid 2020-11-03 11:13:43 +01:00
Son NK
e49169b887 Reset default random alias domain setting if user is not premium 2020-11-01 09:37:09 +01:00
Son NK
9210459a72 add pgpy
- add pgpy to poetry
- add test PGP keys to local_data
- add encrypt_file_with_pgpy()
- use randomly pgpy
2020-10-28 11:50:14 +01:00
Son NK
85a1d67c6f put browser extension onboarding email to the welcome email 2020-10-22 11:46:15 +02:00
Son NK
677f150fef add unsubscribe header to com emails 2020-10-22 10:44:05 +02:00
Son NK
ea45ac119e Refactor: create Alias.unsubscribe_link 2020-10-22 10:37:02 +02:00
Son NK
050c2feaeb Add LifetimeCoupon.paid column 2020-10-21 19:31:07 +02:00
Son NK
828799010b Add CustomDomain.nb_failed_checks column 2020-10-20 16:50:01 +02:00
Son NK
8482a55df6 display whether a domain is premium 2020-10-20 16:44:22 +02:00
Son NK
a2a4e50f27 remove potential duplicate in available_alias_domains 2020-10-15 17:02:54 +02:00
Son NK
1524bb4e4b black 2020-10-15 16:52:55 +02:00
Son NK
dbf0404aa9 rename public_domain -> sl_domain if applicable 2020-10-15 16:52:38 +02:00
Son NK
4a32db5b5d rename PublicDomain -> SLDomain 2020-10-15 16:51:07 +02:00
Son NK
0a4fc76b61 optimize import 2020-10-15 16:45:28 +02:00
Son NK
adff510359 use PublicDomain instead if ALIAS_DOMAINS 2020-10-15 16:45:08 +02:00
Son NK
521d8e51a5 small fix 2020-10-15 16:25:56 +02:00
Son NK
e79522b638 take into account Premium domains 2020-10-15 16:21:31 +02:00
Son NK
dcbd7baabc Add PublicDomain.premium_only column 2020-10-15 16:08:06 +02:00
Son NK
8268568f08 add mailbox.disabled column. Disable a mailbox if it fails tests for 10 days consecutive. 2020-10-12 13:28:21 +02:00
Son Nguyen Kim
4e45a619cd
Merge pull request #302 from TheLastProject/feature/custom_domain_random_suffix
Support random suffix for personal domains
2020-10-11 18:06:06 +02:00
Sylvia van Os
9702037573 Reformat with Black 2020-10-09 23:00:10 +02:00
Sylvia van Os
26d0437009 Make prefix generation configurable per domain 2020-10-09 22:54:13 +02:00
Son NK
8dbd3c1c68 more detailed error message when an alias can't be created 2020-10-09 11:48:52 +02:00
Son Nguyen Kim
a4bcf59bfe
Merge pull request #297 from TheLastProject/feature/dedupe_email
Dedupe email address
2020-10-04 15:08:15 +02:00
Son NK
6c37a91c6d add User.disabled field 2020-10-04 12:49:43 +02:00
Son NK
e225bffc30 add backref for some models 2020-10-04 12:49:43 +02:00
Sylvia van Os
7be674c13b Reformat with Black 2020-10-01 21:51:50 +02:00
Sylvia van Os
d8ed1cbbc3 Dedupe email address 2020-10-01 21:35:11 +02:00
Son NK
0830bba218 Add AuthorizedAddress model 2020-09-28 17:40:54 +02:00
Son NK
d6d686c4c3 add argument commit= to create() 2020-09-28 17:40:30 +02:00