Commit Graph

1961 Commits

Author SHA1 Message Date
Son NK 78df95395b improve upgrade_channel 2021-06-05 17:20:42 +02:00
Son NK 79d0ef8906 Use Postfix queue-id as log message-id 2021-06-04 17:15:59 +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 eb2adc870a make sure only premium user can create new mailbox via API 2021-06-02 17:17:28 +02:00
Son NK 3897f6b633 refactor handle_bounce() 2021-06-02 11:38:52 +02:00
Son NK ed938dd86a Add query2str 2021-05-30 19:58:46 +02:00
nicoo 586654e08e app.pw_models: Refactor, use constant-time equality 2021-05-29 17:42:46 +02:00
Son NK 28285f28ac Add index for AliasHibp 2021-05-28 19:59:26 +02:00
Son NK aa667851e9 log user-agent in deprecated endpoint 2021-05-28 17:46:34 +02:00
nicoo ecd74b801b app.pw_models: Use unicode normalization
Per NIST [SP800-63B, §5.1.1.2] Memorized Secret Verifiers :
> the verifier SHOULD apply the Normalization Process for
> Stabilized Strings using either the NFKC or NFKD normalization

This is necessary for Unicode passwords to work reliably.
ASCII-only passwords aren't affected.

[SP800-63B, §5.1.1.2]: https://pages.nist.gov/800-63-3/sp800-63b.html#-5112-memorized-secret-verifiers
2021-05-27 22:16:07 +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 8cfd5e01dc add alerts on /alias/custom/new and /v3/alias/options and below 2021-05-25 19:36:45 +02:00
Son NK 99d26a01cb UI tweak 2021-05-25 18:30:14 +02:00
Son NK 388a425cac Only show pagination control if there are previous/next page 2021-05-25 18:27:06 +02:00
Son NK b23e3d94fd make sure AliasHibp has cascade ondelete 2021-05-25 18:14:44 +02:00
Son NK fb97f384e4 small UI tweak 2021-05-25 17:59:40 +02: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
Son NK a918cc3670 Add BOUNCE_PREFIX_FOR_REPLY_PHASE 2021-05-25 17:59:40 +02:00
Son NK 159843a923 Add log for sl_sendmail 2021-05-24 12:04:22 +02:00
Son NK ade07f9449 return empty name when name can't be decoded 2021-05-22 16:47:44 +02:00
Sylvia van Os 1ee941647f Add direct link to HIBP pwned info 2021-05-21 12:08:00 +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 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 edaf293398 Create admin pages for Referral and Payout 2021-05-10 15:51:39 +02:00
Son NK 93a8873192 show payouts on referral page 2021-05-10 13:03:44 +02:00
Son NK 229d2c644b Add Payout model 2021-05-10 13:03:19 +02:00
Son NK 5317b8ab84 move the api key page back to menu 2021-05-05 18:51:15 +02:00
Son NK e5926978c8 use bouncer on custom alias page 2021-04-30 11:45:00 +02:00
Son NK ceacf8e3a7 support dot in alias prefix 2021-04-30 11:37:17 +02:00
Son NK e74dbd7e98 increase monthly plan to $4 2021-04-23 12:08:27 +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 f3b04b9d81 add more logging 2021-04-16 18:37:16 +02:00
Son NK 0039b4c301 disable an alias if the user has too many bounces recently 2021-04-16 17:57:25 +02:00
Son NK cfb52a2eba add price mention on billing page 2021-04-12 10:14:35 +02:00
Son NK 5040e7b74b add filters for alias and mailbox admin 2021-04-12 10:07:17 +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 f45e7b53d0 create admin for Client 2021-04-06 19:46:38 +02:00
Son NK f8540808bc remove Client.published 2021-04-06 19:46:21 +02:00
Son NK e42fb0816d Improve SIWSL wording 2021-04-06 18:12:06 +02:00
Son NK ea5281de95 automatically show how-to-use 2021-04-06 18:10:32 +02:00
Son NK 7c1af6a265 improve should_disable(): take into account repetitive bounces 2021-04-06 17:24:06 +02:00
Son NK c715f87526 improve SIWSL UI 2021-04-06 12:06:46 +02:00
Son NK 9e4ff01b17 improve login, register UI 2021-04-06 12:06:11 +02:00
Son NK af9597cf5a improve copy when app isn't approved 2021-04-01 18:10:39 +02:00
Son NK 085dec069b allow any redirect_uri if the app isn't approved 2021-04-01 18:04:45 +02:00
Son NK 03976ea1c2 improve copy in app approval 2021-04-01 18:04:35 +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 3c4a1413e0 Remove ClientUser.nonce 2021-04-01 12:49:32 +02:00
Son NK e6d8815ac5 take into account nonce in openid 2021-04-01 12:49:23 +02:00
Son NK da17f51778 add AuthorizationCode.nonce 2021-04-01 12:35:21 +02:00
Son NK 313b442af7 do not display AppId 2021-04-01 12:32:14 +02:00
Son NK 36e7cf3fdc add ClientUser.nonce 2021-04-01 12:31:37 +02:00
Son NK 46109770fc prettify 2021-04-01 11:05:58 +02:00
Son NK b13c65166f Add OpenID Connect Discovery Document URL 2021-04-01 11:05:21 +02:00
Son NK a90fa49636 add submit for approval for app 2021-04-01 10:52:51 +02:00
Son NK c3d57ed6e4 reformat code 2021-04-01 10:50:53 +02:00
Son NK 7d4e1048af show warning on authorize page for non-approved app 2021-04-01 10:50:37 +02:00
Son NK bbfb69d774 Add Client approved, description columns 2021-04-01 10:50:11 +02:00
Son NK eab4f5f7ac prettify app page 2021-04-01 10:02:08 +02:00
Son NK d5de99afe9 Restore /alias/custom/new as currently used by safari 2021-03-31 14:41:32 +02:00
Son NK e31e19047c improve admin 2021-03-30 19:08:41 +02:00
Son NK 1b41911598 remove social login from the login page 2021-03-29 16:06:58 +02:00
Son NK 9d5c2e3f80 display when subscription ends in admin 2021-03-26 12:14:48 +01:00
Son NK 26a087619c support extend manual subscription in admin 2021-03-26 12:14:33 +01:00
Son NK 2270ccf35d Add ENABLE_SPAM_ASSASSIN setting 2021-03-26 10:00:16 +01:00
Son NK 0bb8f9a227 make ALIAS_LIMIT configurable 2021-03-26 09:56:04 +01:00
Son NK 1cac625a90 restore /v2/alias/custom/new as used by browser extension 2021-03-25 19:18:50 +01: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 acc285abf0 remove /alias/custom/new, /v2/alias/custom/new, refactor test 2021-03-24 16:39:49 +01:00
Son NK 0c62ac4b1f set rate limit for creating alias endpoint 2021-03-24 16:26:42 +01:00
Son NK 84b4c11086 handle UnicodeEncodeError in encode() 2021-03-24 10:08:11 +01:00
Son NK d59cee0bcc improve welcome email 2021-03-23 18:47:16 +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 7ab64d9768 add more logging 2021-03-22 15:52:48 +01:00
Son NK f0fb5108f9 show a different message for custom domain alias when deleting 2021-03-18 14:45:18 +01:00
Son NK 8b234b63a5 add custom domain to AliasInfo 2021-03-18 14:44:51 +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 91e805a637 move js part in index to a separate file 2021-03-18 12:34:08 +01:00
Son NK 1187b6dc99 update mailbox wording 2021-03-18 10:59:45 +01:00
Son NK c87fe55898 POST /api/aliases/:alias_id/contacts: return 200 and `existed=true` if contact is already added. 2021-03-17 20:29:34 +01:00
Son NK 48d7b66803 flake8 2021-03-17 11:05:26 +01:00
Son NK 66eb93fe53 fix sanitize header 2021-03-17 10:59:13 +01:00
Son NK 0848405d0c add mention not allowing forward email address 2021-03-17 10:27:46 +01:00
Son NK 5cba2eaa38 sanitize header 2021-03-17 10:23:35 +01:00
Son NK 826e4455cf refactor 2021-03-17 10:23:35 +01:00
Son NK 11789559f1 move spf_pass(), sl_sendmail() to email_utils.py 2021-03-17 10:23:35 +01:00
Son NK d1d81e6a6d move get_spam_score_async(), get_spam_score() to email/spam.py 2021-03-17 10:23:35 +01:00
Son NK 57b2e2d4ab fix handle_batch_import 2021-03-16 10:54:00 +01:00
Son NK 9a1dc0240b improve logging 2021-03-16 09:17:23 +01:00
Son NK 7ec0405709 improve message_id 2021-03-16 09:15:59 +01:00
Son NK 98264b14bc replace linebreak in sanitize_email() 2021-03-15 19:42:28 +01:00
Son NK 6eb7ebc338 add message_id in log to keep track of an email processing 2021-03-15 19:41:42 +01:00
Son Nguyen Kim ca4d097f14
Merge pull request #381 from TheLastProject/feature/importExportTests
Feature/import export tests
2021-03-15 15:17:58 +01:00
Sylvia van Os cfe889f7b9 Format with black 2021-03-13 15:37:28 +01:00
Sylvia van Os 8800c29526 Complete import tests 2021-03-13 15:36:25 +01:00
Sylvia van Os dcfd63eb0f Working import tests 2021-03-13 00:13:33 +01:00
Sylvia van Os 44ae20816a WIP: Import test 2021-03-10 23:08:33 +01:00
Son cf6442cec2 Add PATCH /api/custom_domains/:custom_domain_id 2021-03-10 22:56:12 +01:00
Son eb22a6302e rename creation -> deletion for GET /api/custom_domains/:custom_domain_id/trash 2021-03-10 22:39:33 +01:00
Son 6c2daf1bb6 add mailboxes to GET /api/custom_domains 2021-03-10 22:37:26 +01:00
Sylvia van Os c6646d5971 Add export test 2021-03-10 22:35:04 +01:00
Sylvia van Os 1915c8d09d Export and import mailbox info with alias 2021-03-09 21:09:58 +01:00
Son NK 3c8ec8fcf2 make DKIM_PRIVATE_KEY_PATH optional 2021-03-08 15:18:03 +01:00
Son NK 819738f55c remove unused DKIM_PUBLIC_KEY_PATH, DKIM_DNS_VALUE 2021-03-08 15:14:37 +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
Son NK 3768429909 use log format that allows clickable link to code source in PyCharm 2021-03-08 12:07:45 +01:00
Sylvia van Os 3932ed2eb8 Add export endpoints 2021-03-06 21:56:42 +01:00
Son NK 39c92110cb add more fields into /api/custom_domains 2021-03-06 20:43:50 +01:00
Son 863d8dcbe7 black 2021-03-06 18:10:41 +01:00
Son 23a0861790 Improve alias transfer. Use alias transfer_token. Add a limiter on /alias_transfer/receive 2021-03-06 18:08:42 +01:00
Son 29afc1b6b5 Add Alias.transfer_token col 2021-03-06 18:08:42 +01:00
Son 475eaa2bc0 inform user when his alias has been transferred 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 80d80657d6 remove cloudwatch params 2021-03-06 16:09:27 +01:00
Son NK 193f8d8ccc Handle UnicodeDecodeError in get_header_unicode() 2021-03-05 20:41:23 +01:00
Son NK 3af98026e3 refactor config: do not use eval() 2021-03-05 17:26:47 +01:00
Son NK a65680b5ba remove DEBUG param 2021-03-05 17:26:47 +01:00
Son NK 38790fdc84 get_alias_infos_with_pagination_v3: handle the case where an alias has 2 contacts that have no activity 2021-03-01 18:45:15 +01:00
Son NK 36a117d790 rename 2021-03-01 18:22:39 +01:00
Son NK deef432c58 add extend trial on user admin page 2021-02-25 10:09:02 +01:00
Son NK 3aeaf6fe29 make include_sender_in_reverse_alias non nullable 2021-02-24 15:44:50 +01:00
Son NK c9b246259d can search on manual subscription admin page 2021-02-24 09:49:08 +01:00
Son NK 0f9cb13920 add admin page for manual subscription 2021-02-24 09:48:06 +01:00
Son NK a2dad50d20 take into account apple sub 2021-02-23 19:40:40 +01:00
Son NK d4ac2da96a set some fields back to default 2021-02-17 13:08:02 +01:00
Son NK 9e486fc2c0 add alias transfer 2021-02-17 12:56:28 +01:00
Son NK e19fff3a9a Add Alias.original_owner_id column 2021-02-17 12:49:47 +01:00
Son NK 7efce95145 add warning for cloudflare when setup DNS 2021-02-15 20:21:55 +01:00
Son NK 219703cb04 replace monero by crypto 2021-02-15 16:40:19 +01:00
Son NK 7879b854a3 refactor 2021-02-15 16:39:23 +01:00
Son NK e7063b6514 highlight reddit in welcome mail 2021-02-12 13:03:31 +01:00
Son NK dc29c6f9d9 improve wording 2021-02-12 13:03:31 +01:00
Son 51a38be070 Add charity organization upgrade on admin 2021-02-03 18:54:42 +01:00
Son NK 25afe4831c ignore amazonses.com encoding 2021-01-31 11:52:55 +01:00
Son NK 5f0930b291 handle header is None in get_header_unicode 2021-01-31 11:50:41 +01:00
Son NK bbb6049351 Add POSTFIX_PORT_FORWARD 2021-01-28 13:49:40 +01:00
Son NK b476e207fa take into account ?next param in login 2021-01-27 10:11:48 +01:00
Son NK 66f3585253 Add LifetimeCoupon admin page 2021-01-27 10:08:49 +01:00
Son NK e2f729206e replace the iframe video by a link 2021-01-27 09:45:42 +01:00
Son NK 5bb0ae0234 Set user.sender_format_updated_at when user updates sender_format 2021-01-26 20:14:13 +01:00
Son NK 0354943ff4 Add User.sender_format_updated_at column 2021-01-26 20:13:51 +01:00
Son NK e85cfebf92 do not show sender format that has full sender address 2021-01-26 19:55:56 +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 4a91db8e11 rename parse_email_log_id_from_bounce -> parse_id_from_bounce 2021-01-26 09:59:22 +01:00
Son NK 980942a1f9 create Metric model 2021-01-25 18:47:02 +01:00
Son NK b0b74906a7 add confirm before changing the plan 2021-01-25 10:45:18 +01:00
Son NK 2bcd238250 Add hint for generic subject 2021-01-20 19:17:34 +01:00
Son NK 8e49fc40d4 fix 2021-01-20 13:28:23 +01:00
Son NK 202f28722e make MAX_SPAM_SCORE, MAX_REPLY_PHASE_SPAM_SCORE configurable 2021-01-20 13:27:30 +01:00
Son NK 013a94d1e9 fix user delete profile pic 2021-01-19 10:47:48 +01:00
Son NK da53b7fa00 Improve should_disable() to take into account last 7 days bounces 2021-01-19 10:45:39 +01:00
Son NK 7b9136d951 take into account user.profile_picture can be None 2021-01-19 09:15:43 +01:00
Son NK 264f41d466 Fix Paddle modal not showed up on mobile 2021-01-18 17:00:58 +01:00
Son e75ede969a Ctrl-enter submit the form on custom alias page 2021-01-16 19:56:30 +01:00
Son 8a74aee363 black 2021-01-16 10:55:14 +01:00
Son f9161dba20 Handle "message/rfc822" in replace() 2021-01-16 10:45:50 +01:00
Son NK fd0ba7030d Add the condition of at least 3 months to referral program 2021-01-15 17:26:05 +01:00
Son NK 4bfe6d1ac9 handle name can be None in get_name_initial() 2021-01-15 11:21:45 +01:00
Son NK c431abd917 take into account alias.cannot_be_disabled in should_disable 2021-01-13 11:03:30 +01:00
Son NK 79f22857b5 add mailbox admin page 2021-01-12 18:14:35 +01:00
Son NK 67de0e3c5b set user as default admin page 2021-01-12 18:14:21 +01:00
Son NK d6cc2a4bf3 Add AWS_REGION env var 2021-01-12 09:54:46 +01:00
Son NK 361945f3f8 add cash and monero upgrade in admin 2021-01-11 20:24:33 +01:00
Son NK 0e94c329d1 handle alias too long error 2021-01-11 15:45:41 +01:00
Son NK 13f3deb671 fix 2021-01-11 15:06:56 +01:00
Son NK c83b146f14 Add BOUNCE_PREFIX, BOUNCE_SUFFIX config 2021-01-11 14:51:29 +01:00
Son NK 45ac548e2b reserve bounce, bounces as directory name 2021-01-11 14:32:48 +01:00
Son NK 0ee0167b8e fix test 2021-01-11 12:31:05 +01:00
Son NK e9adb3270d use sanitize_email instead of .lower().strip().replace(" ", "") 2021-01-11 12:29:40 +01:00
Son NK 01858ac452 sanitize contact email 2021-01-11 12:27:02 +01:00
Son NK 2293c6d2e3 improve admin 2021-01-11 12:04:37 +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 3ac159d073 use text/plain for text email instead of text/text 2021-01-04 15:11:12 +01:00
Son NK 8dbaf3cf56 Add EmailLog.spam_report column 2021-01-04 14:38:32 +01:00
Son NK b942b44ec8 display bounce during reply phase on alias log page 2021-01-04 14:25:51 +01:00
Son NK 2b4dc3cdcc when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice 2021-01-02 18:17:53 +01:00
Son NK 3179d70df1 ignore text/csv in replace() 2020-12-31 18:03:42 +01:00
Son NK a34af98de8 handle "multipart/signed" in add_header() 2020-12-31 15:50:03 +01:00
Son NK ef2624ccea handle multipart/mixed in add_header 2020-12-31 15:11:46 +01:00
Son NK 33dd6083c7 rename available_suffixes_more_info -> get_available_suffixes 2020-12-31 14:27:04 +01:00
Son NK 95f3db6aa5 remove available_suffixes() 2020-12-31 14:26:07 +01:00
Son NK 5a3b79b4cf replace available_suffixes by available_suffixes_more_info 2020-12-31 14:25:44 +01:00
Son NK 7915a2abb9 Fix available_suffixes_more_info 2020-12-31 14:18:49 +01:00
Son NK abb3ec1f05 rename 2020-12-31 14:16:32 +01:00
Son NK 4e20ffcc60 update wording: use custom alias to be opposed to random alias 2020-12-31 14:15:25 +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 1647a7a628 update settings wording 2020-12-31 14:00:21 +01:00
Son NK b9d8f11f2d put the default domain to top 2020-12-31 13:59:03 +01:00
Son NK 66e7aa7242 refactor 2020-12-31 12:50:04 +01:00
Son NK 0585ba97ee use warning level for "Cannot encrypt using the imported key" error 2020-12-31 11:05:11 +01:00
Son NK 74a63db835 ignore "text/directory" in replace() 2020-12-30 09:48:58 +01:00
Son NK 0df4d1a93d add more logging 2020-12-29 12:17:24 +01:00
Son NK 31774f9ea7 set include_sender_in_reverse_alias to False by default 2020-12-28 10:28:05 +01:00
Son NK be57add431 add list of cryptocurrency that are supported 2020-12-19 17:22:04 +01:00
Son NK 9f9d292754 remove can_use_coinbase column 2020-12-19 16:31:16 +01:00
Son NK 3015cd1dc0 ignore "text/calendar" content type 2020-12-18 16:07:32 +01:00
Son NK 6cec373b6d ignore UnicodeDecodeError in decode_text() 2020-12-18 13:10:33 +01:00
Son NK fb8a43fd5d use decode_text() in add_header() 2020-12-18 10:44:42 +01:00
Son NK 091ff3ad2c Add decode_text() 2020-12-18 10:43:06 +01:00
Son NK 3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK 830331d9b3 improve wording 2020-12-14 11:52:35 +01:00
Son NK b9dba9c2c3 improve wording 2020-12-14 11:48:08 +01:00
Son NK 3dd8ed7840 Create /dashboard/coinbase_checkout, remove extend_subscription route 2020-12-14 11:34:59 +01:00
Son NK f19a7e1bca Add COINBASE_API_KEY and COINBASE_YEARLY_PRICE config 2020-12-14 11:33:39 +01:00
Son NK 369c9dafce remove duplicated 2020-12-13 19:56:17 +01:00
Son NK 530160567b fix coinbase button not displayed on pricing page 2020-12-13 19:51:00 +01:00
Son NK 1348b58672 only show coinbase option for user who has can_use_coinbase=True 2020-12-13 19:28:46 +01:00
Son NK 1961d2f18e Add User.can_use_coinbase column 2020-12-13 19:28:13 +01:00
Son NK fbe48b7b3e add extend subscription link on settings page 2020-12-13 19:14:54 +01:00
Son NK 6c21b83975 add coinbase option on pricing page 2020-12-13 19:14:11 +01:00
Son NK 436e31229f Create extend_subscription page 2020-12-13 19:13:26 +01:00
Son NK 0542adb761 Add COINBASE_WEBHOOK_SECRET, COINBASE_CHECKOUT_ID config 2020-12-13 19:11:49 +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 8527fed69e pricing page: improve wording 2020-12-13 17:04:05 +01:00
Son Nguyen Kim bf139f83b3
Merge pull request #342 from herrboyer/linting
Linting
2020-12-07 17:45:50 +01:00
Son NK ce3dae2a07 inform user when an alias can't be created when a directory is disabled 2020-12-07 10:55:13 +01:00
Son NK 37a74bc093 refactor: rename 2020-12-07 10:50:42 +01:00
Son NK 4fb7b7bd2c user can change directory disabled 2020-12-07 10:49:40 +01:00
Son NK 05d4ec1c2f Add directory.disabled column 2020-12-07 10:48:43 +01:00
Son NK a40bbe74fe show include_sender_in_reverse_alias as checked if user hasn't set any value 2020-12-07 10:23:36 +01:00
Renaud Boyer 5d948faf56 black 2020-12-06 22:11:58 +01:00
Renaud Boyer f2f13958c7 linting 2020-12-06 22:11:22 +01:00