Commit Graph

601 Commits

Author SHA1 Message Date
Adrià Casajús 21feced342
Refactor unsubscribe handling (#1090)
* Refactor unsubscribe email handling

* MR comments

* Moved all unsub logic to the encoder

* remove unused

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-30 11:40:01 +02:00
Son Nguyen Kim 89062edc06
show cancel status in "Current plan" section (#1114)
* show cancel status in "Current plan" section

* do not show upgrade button for canceled paddle sub
2022-06-28 11:58:04 +02:00
Carlos Quintana dd0598a4dd
Send welcome email when user created by login with proton (#1115)
* Send welcome email when user created by login with proton

* Add dedicated test to user.created_by_partner
2022-06-28 11:57:21 +02:00
Adrià Casajús 5fa41d6ccf
Add state management to job (#1113)
* Add state management to job

* Add migration

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-28 09:22:48 +02:00
Adrià Casajús de31e6d072
Allow to set sudo mode for api requests (#1108)
* Allow to set sudo mode for api requests

* Rebase migration on top of master

* PR comments

* Added missing migration

* Removed unused import

* Apply suggestions from code review

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-23 14:26:36 +02:00
Son Nguyen Kim 09cec0cdec
allow to hide some public domains and set their order (#1107) 2022-06-22 18:21:19 +02:00
Adrià Casajús 99ce10a1bc
Send email to users with a subscription and a partner plan upgrade (#1101)
* Send email to users with a subscription and a partner plan upgrade

* Update double-subscription-partner.html

* Update double-subscription-partner.txt.jinja2

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Son Nguyen Kim <nguyenkims@users.noreply.github.com>
2022-06-20 14:34:20 +02:00
Adrià Casajús fbb59a1531
Send welcome mail to proton created users (#1099)
* Send welcome mail to proton created users

* Skip import

* Use new logo

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-20 11:36:16 +02:00
Carlos Quintana 5ee5e386e5
Allow to create users from partner (#1095)
* Allow to create users from partner

* Fix tests

* Update tests/test_account_linking.py

Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>

* Fix lint

Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
2022-06-16 10:25:50 +02:00
Adrià Casajús efa534fd3e
Store transfer tokens hashed in the db and only allow them to be valid for 24 hours (#1080)
* Store transfer tokens hashed in the db and only allow them to be valid for 30 mins

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-13 12:41:47 +02:00
Carlos Quintana 56ec95bc93
Fix proton integration issues (#1071)
* Fix proton integration issues

* Make external_user_id non nullable

* Fix tests
2022-06-10 16:21:56 +02:00
Adrià Casajús a9a44c378a
Do not report complaints for deleted aliases (#1067)
* Do not report complaints for deleted aliases

* revert reorder

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-10 15:44:59 +02:00
Carlos Quintana c0a4c44e94
Separate code for proton callback handler (#1040)
* Separate code for proton callback handler

* Upgrade migration

* Use simple_login endpoint from Proton API

* Remove unused classes

* Rename Dto class to Data

* Push rename

* Moved link to PartnerUser to allow subscriptions to depend only on it

* Fix test

* PR comments

* Add unique user_id constraint to PartnerUser

* Added more logs

* Added more logs

Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-09 10:19:49 +02:00
Carlos Quintana dba56f0dae
Store hmaced partner api tokens (#1028)
* Store hmaced partner api tokens

* MR comments
2022-06-02 11:24:04 +02:00
Son 9ba5464bc9 allow to create reverse alias for NOREPLY 2022-05-20 17:59:41 +02:00
Son a7d419eec3 do not show upgrade button for lifetime user 2022-05-20 11:00:11 +02:00
Adrià Casajús 5dde39eb37
Prevent free users from creating reverse-alias 2022-05-12 13:20:05 +02:00
Son d2fad44003 create a constant for paddle grace days 2022-05-11 19:03:27 +02:00
Son 2573c68e82 use a grace period of 14 days for paddle subscription 2022-05-11 17:24:52 +02:00
Carlos Quintana 8d4683e59e
Add login with proton 2022-05-05 12:20:55 +02:00
Adrià Casajús 66c6db773f
Align db with models for the audit_log 2022-05-03 16:48:54 +02:00
Adrià Casajús 6936d99779
Set default state for provider complaint 2022-05-03 14:16:04 +02:00
Adrià Casajús ba46ce5208
Format 2022-04-29 16:02:45 +02:00
Adrià Casajús baddc0fe67
Fix: sqlalchemy only suports str as server_default 2022-04-29 15:58:48 +02:00
Adrià Casajús e62022f032
Merge remote-tracking branch 'origin/master' into ac-store-contact-bounces
* origin/master: (29 commits)
  PR comments
  support "enabled" param in /api/v2/aliases
  Update PGPy to 0.5.4 to allow for python 3.10
  Also install libpq-dev
  Fix python 3.10
  Add methods to check if alias will be auto-created
  PR comments
  Allow sending messages in a background thread
  Use the proper import for newrelic agent
  not send emails to inform about an alias can't be created to disabled user
  prevent disabled user from using the api
  make sure disabled user can't create new alias
  Put version version between " so it is 3.10 instead of 3.1
  Add workflow for python 3.10
  Remove it for all creds
  Do not send the transports to the js part since we have not stored them previously
  move help to menu on small screen
  only show the help button on desktop
  use another logo for mobile
  add new parameter disabled in /GET /api/v2/aliases
  ...
2022-04-29 15:56:09 +02:00
Adrià Casajús 7fd9bdc5a7
PR comments 2022-04-28 15:23:52 +02:00
Son eab7606f93 make sure disabled user can't create new alias 2022-04-27 16:06:54 +02:00
Adrià Casajús 5208c549fa
Rename TransactionalComplaint to ProviderComplaint 2022-04-25 14:40:42 +02:00
Adrià Casajús fcd2ab6fed
Set data to non-nullable 2022-04-22 14:53:04 +02:00
Adrià Casajús 89d94963d7
PR comments 2022-04-22 14:49:03 +02:00
Adrià Casajús c573ef655e
Store bounces in the reply phase to prevent abuse 2022-04-21 11:23:58 +02:00
Adrià Casajús 4bcc728222
Merge remote-tracking branch 'origin/master' into remove-softfail
* origin/master: (34 commits)
  fix flake8
  add link to the anti phishing page
  improve email wording
  Move tests
  Only send enum names
  Only send enum name for events intead of the full class.enum
  Also track login and register events from the api routes
  typo
  revert changes
  Added fix for parts that are not messages
  Add missing formatting place
  Revert unwanted changes
  Do not show an error if we receive an unsubscribe from a different address
  Revert changes to pgp_utils
  fix import
  Send newrelic events on login and register
  PR changes
  format
  Move dmarc management to its own file
  ignore VERPTransactional
  ...
2022-04-14 18:25:03 +02:00
Adrià Casajús b128d64563
Moved spamd check to a custom file and cached the result 2022-04-07 19:17:37 +02:00
Adrià Casajús 8ca1be0166
Apply dmarc policy to the reply phase 2022-04-06 12:51:04 +02:00
Adrià Casajús db06ce0ae6
Create signed email addresses for VERP emails 2022-03-30 16:00:02 +02:00
Adrià Casajús 83fc8964a8
PR comments 2022-03-30 09:53:35 +02:00
Adrià Casajús 085c166cb2
Replace 5XX with 2XX for return path that fail SPF check 2022-03-29 15:09:10 +02:00
Adrià Casajús 7d36256b7c
Check return-path spf record before bouncing a message 2022-03-29 10:52:11 +02:00
Son 0d7d56c0ea send email when an email is put to quarantine 2022-03-25 18:02:17 +01:00
Adrià Casajús 06a1363e92
Updated MR comments 2022-03-21 12:03:11 +01:00
Adrià Casajús 553d8976be
Added extend subscription log 2022-03-14 15:07:51 +01:00
Adrià Casajús 549c6ec7d3
Comment changes 2022-03-11 11:37:14 +01:00
Adrià Casajús d0860cd54d
Merge remote-tracking branch 'origin/master' into new/admin-audit-trail
* origin/master: (35 commits)
  reduce nb of commit
  show "more" only when a notification has a title. Show either title or message. Use bold font when a notification isn't read
  create a notification when an alias is disabled
  mark a notification as read when user arrives on the notification page
  Use plausible outbound link tracking
  add more log
  fix discover page
  fix
  fix "local variable 'alias_id' referenced before assignment"
  make sure to close session in monitoring
  use Date instead of date for header value
  lessen alias automatic disable check
  refactor
  return the block reason in should_disable()
  add adhoc upgrade on admin
  add extend subscription for 1 month to admin
  disable edition on admin
  comment out some admin pages
  fix migration
  fix duplicated stats
  ...
2022-03-10 18:10:13 +01:00
Adrià Casajús 733efc387c
Updated admin view 2022-03-10 17:49:30 +01:00
Adrià Casajús 98c942d84a
Added admin log view 2022-03-10 17:32:35 +01:00
Adrià Casajús 1d15af53b7
Add an audit log for the admin panel 2022-03-10 16:13:31 +01:00
Son Nguyen Kim 6a520e110c
Merge pull request #816 from simple-login/feature/include-sender-in-header
Feature/include sender in header
2022-02-28 09:24:18 +01:00
Son 205d8d7d3f add index for Alias custom_domain_id and directory_id columns 2022-02-26 17:51:50 +01:00
Son 51598ada02 add User.include_header_email_header column 2022-02-25 12:24:54 +01:00
Carlos Quintana ee9170bb17
Allow to configure ignore or reject response for blocked contacts 2022-02-21 12:52:21 +01:00
george c415324932
Add flake8-bugbear 2022-02-06 20:37:43 +00:00
george f7be992437
Update black, flake8 and pre-commit and use specific pre-commit versions. 2022-02-06 14:25:53 +00:00
Son Nguyen Kim 543923b325
Merge pull request #760 from FozzieHi/delete-all-api-keys-button
Add a button to delete all API Keys
2022-02-02 18:31:05 +01:00
george 74713c2142
Rename method. 2022-01-25 18:32:34 +00:00
Son 90fa4abf69 create a notification for a bounce email 2022-01-24 16:10:36 +01:00
Son 3422f038eb add Notification title 2022-01-24 15:18:56 +01:00
george 65531b5c63
Add a button to delete all API Keys. 2022-01-23 18:38:54 +00:00
Son 6cd8e45d21 return the default sender format (AT) in case user uses a non-supported sender format 2022-01-12 10:19:25 +01:00
Son ed4acebdb1 delete the email log in reply phase if NonReverseAliasInReplyPhase 2022-01-08 00:28:26 +01:00
Son 01ba5e8bf0 return 5** if CannotCreateContactForReverseAlias 2022-01-08 00:16:16 +01:00
Son 20b6ce29fc take into account authorized_address when checking email loop 2022-01-08 00:09:45 +01:00
Son 6b31b8926e fix comment 2022-01-07 14:27:53 +01:00
Son 84d1f22a7b add Contact.automatic_created column to know which contact is created during the forward phase 2022-01-07 10:21:31 +01:00
Son ad622df071 make sure a contact with website_email=reverse alias of another contact can't be created 2022-01-07 10:04:12 +01:00
Son b2e4578953 add yield_per_query() helper 2022-01-06 18:50:54 +01:00
Son 9ff323c746 make sure to set custom_domain_id when creating a new alias 2022-01-06 15:29:37 +01:00
Son ffc621596a fix is_automatic_out_of_office: only use "Auto-Submitted" header 2022-01-05 15:21:54 +01:00
Son bc2f9ad45f add PhoneNumber.comment column 2022-01-04 14:54:55 +01:00
Son 4332fd3244 Create InvalidMailboxDomain model 2022-01-03 10:31:33 +01:00
Son 9ee449722a new domain has ownership verified if its root has the ownership verified 2021-12-31 11:10:36 +01:00
Son e1d82b7e0d Add AppleSubscription.product_id col 2021-12-30 16:20:18 +01:00
Son 80b0af91e5 allow user to create alias with domain that has ownership verified (and might not have MX verified) 2021-12-29 10:24:22 +01:00
Son fc42db43ca add new sender formats: NAME_ONLY, AT_ONLY, NO_NAME 2021-12-28 10:49:37 +01:00
Son a6569d47dd do not put price in plan_name to take into account discount 2021-12-26 22:04:45 +01:00
Son 584772f798 fix upgrade_channel 2021-12-23 19:28:57 +01:00
Son 7109dc7120 add models for phone: Country, Number, Reservation, Message 2021-12-02 16:50:26 +01:00
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