Son Nguyen Kim
d72226aa19
show proton sub info on admin ( #1207 )
2022-08-01 20:49:05 +02:00
Son Nguyen Kim
6322e03996
admin can manage newsletter and test sending it ( #1177 )
...
* admin can manage newsletter and test sending it
* add comments
* comment
* doc
* not userID not specified, send the newsletter to current user
* automatically match textarea height to content when editing newsletter
* increase text height and limit img size to 100% in email template
* admin can send newsletter to a specific address
2022-07-22 11:24:53 +02:00
Adrià Casajús
3fa9db9bb7
Change default unsub behaviour to disable alias by default ( #1174 )
...
* Change default unsub behaviour to disable alias by default
* Alter default valut for unsub_behaviouur
* Added comments to the migration
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-20 11:57:34 +02:00
Adrià Casajús
06c1c7f2f7
Restrict the number of free alias for new free users ( #1155 )
...
* Restrict the number of free alias for new free users
* Fix test
* Make flag reverse
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-20 11:09:22 +02:00
Adrià Casajús
f3d47a1eaa
Allow users to keep the original unsub behaviour ( #1148 )
...
* Feature: Preserve original unsubscribe request
* Updated tests
* Updated settings
* PR comments
* reduced prefix length
* Include migrate users for new unsub behaviour
* PR comments
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-19 17:25:21 +02:00
Son Nguyen Kim
f367acbeaf
Add next bill date on admin UI ( #1154 )
...
* add subscription next bill date on admin
* small refactor: remove unused param
2022-07-12 18:17:39 +02:00
Son Nguyen Kim
66a2152ea3
Compute Proton metrics ( #1135 )
...
* compute nb_proton_premium
* compute nb_proton_user
2022-07-04 11:40:29 +02:00
Son Nguyen Kim
02b39f98b7
fix cron job ( #1134 )
2022-07-04 11:05:42 +02:00
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