Adrià Casajús
bcd4383e05
Sanitize the highlight contact id ( #1160 )
...
* Sanitize also parameter
* Formatting
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-15 17:48:42 +02:00
Adrià Casajús
67be5ba050
Enforce int params in routes ( #1159 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-15 17:10:00 +02:00
Adrià Casajús
c2bb6488e4
Allow to login with proton to enter sudo mode ( #1141 )
...
* Allow to login with proton to enter sudo mode
* Updated wording
* lint
* Only enabled if the user has the account linked
* Add exit-sudo route for tests
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-04 16:09:36 +02:00
Carlos Quintana
9abb8aa47f
Validate user uploaded image ( #1123 )
...
* Validate user uploaded image
* Fix test/data path detection
2022-06-29 15:04:55 +02:00
Son Nguyen Kim
75c710a6ab
small refactoring ( #1120 )
2022-06-28 17:21:23 +02:00
Carlos Quintana
07b7f40371
Fix prompt user to upgrade to proton account ( #1116 )
2022-06-28 12:36:21 +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
f58c4a9a50
Show premium subscription managed by partner ( #1112 )
2022-06-27 13:17:30 +02:00
Adrià Casajús
9cc9d38dce
Propose upgrade proton account for proton partner users without paid mail plan ( #1106 )
...
* Propose upgrade proton account for proton partner users without paid mail plan
* Reformat js
* Initial display via jinja
* tweak ui: add a ---OR--- separator
* use collapse to show SL upgrade option
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Son <nguyenkims@users.noreply.github.com>
2022-06-23 12:26:02 +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
Carlos Quintana
58990ec762
Hide proton integration behind cookie ( #1092 )
...
* Hide proton integration behind cookie
* Make cookie name configurable via config
2022-06-15 15:42:41 +02:00
Carlos Quintana
3b47e79fae
Emit events on proton actions ( #1089 )
...
* Emit events on proton actions
* Update app/account_linking.py
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
* Update app/account_linking.py
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
2022-06-15 08:24:11 +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
Son Nguyen Kim
a0a92a7562
require user password before transferring an alias ( #1070 )
2022-06-10 15:50:44 +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
Adrià Casajús
faf67ff338
Add missing rate limits ( #1065 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-08 17:36:03 +02:00
Son Nguyen Kim
9cf2f44166
only allow to copy the api key when it is created ( #1059 )
...
* show api key created time
* only allow user to copy the api key when it is created
* typo
2022-06-08 10:31:58 +02:00
Adrià Casajús
e688f04d6b
Send full user report asynchronously on request ( #1029 )
...
* Send full user report asynchronously
* Fix test
* Filter some fields before exporting
* Fix: Domain -> CustomDomain
* format settings html
* not include RefusedEmail as they are not usable by user and are automatically deleted
* send the export to the user email
* change email and setting wording
* fix user can only export data once
* remove alias export section
* remove unused import
* fix flake8
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Son <nguyenkims@users.noreply.github.com>
2022-06-07 10:45:04 +02:00
Carlos Quintana
5ab943e12c
Remove get_proton_partner_id function
2022-05-23 16:43:06 +02:00
Son
54e78786b0
no need to notify admin when someone uses a coupon
2022-05-15 19:57:45 +02:00
Adrià Casajús
52cd9d2692
Simplify condition
2022-05-12 19:02:06 +02:00
Adrià Casajús
75dd20ebcc
Fix condition
2022-05-12 19:01:04 +02:00
Adrià Casajús
0c896100a4
Update html
2022-05-12 18:46:42 +02:00
Adrià Casajús
bfb1ae6371
PR comments
2022-05-12 18:42:16 +02:00
Adrià Casajús
39b035a123
Added docs
2022-05-12 18:36:12 +02:00
Adrià Casajús
9066116b7e
Simplified method
2022-05-12 18:33:13 +02:00
Adrià Casajús
4d07bc9d31
Moved global flag to config
2022-05-12 18:30:46 +02:00
Adrià Casajús
caff70ea38
Set global config to enable/disable feature
2022-05-12 16:35:51 +02:00
Adrià Casajús
5dde39eb37
Prevent free users from creating reverse-alias
2022-05-12 13:20:05 +02:00
Son
b720dfc381
allow the code to run without proton partner
2022-05-05 15:05:39 +02:00
Carlos Quintana
8d4683e59e
Add login with proton
2022-05-05 12:20:55 +02:00
Adrià Casajús
e91fd26964
Sanitized missing places
2022-03-29 18:03:18 +02:00
Son
32fd65b69b
add more log for alias transfer
2022-03-23 18:33:33 +01:00
Son
1952f368a8
require password to use the api key page
2022-03-21 14:40:47 +01:00
Son
0e3a5c3d3c
mark a notification as read when user arrives on the notification page
2022-03-09 17:58:26 +01:00
Son
007aa56551
user can turn on/off the including sender in header option
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
Son
c3cd1419f9
reformat code: put POST handling on top
2022-02-14 18:02:54 +01:00
Son
a0bb4e9ccc
more verbose error
2022-02-14 18:02:30 +01:00
Son Nguyen Kim
69c8980c18
Merge pull request #792 from acasajus/new/zendesk-support
...
Create support tickets via zendesk
2022-02-14 17:53:30 +01:00
Adrià Casajús
416e7b363a
PR fixes
2022-02-14 15:58:36 +01:00
Adrià Casajús
305ce38379
PR changes
2022-02-14 11:19:03 +01:00
Adrià Casajús
700856053a
PR comment fixes
2022-02-11 13:32:31 +01:00
Adrià Casajús
8120128a51
Added Zendesk token
2022-02-10 12:59:48 +01:00
Adrià Casajús
639d4412e1
Updated comments from PR
2022-02-10 12:47:31 +01:00
Adrià Casajús
c9974d5321
Removed successful ticket created page and replaced with notification
2022-02-10 12:38:56 +01:00
Adrià Casajús
3fedc84c95
Add rate limit to ticket createion
2022-02-10 12:34:46 +01:00
Adrià Casajús
e844c9a392
Removed disabled page and redirected to the normal dashboard
2022-02-10 11:04:36 +01:00
Adrià Casajús
f59c5499fb
Formatting
2022-02-10 10:30:28 +01:00
Adrià Casajús
8aee883aae
Updated with more PR comments
2022-02-09 16:41:04 +01:00
Adrià Casajús
95fa95649d
Added comments from PR
2022-02-09 16:20:55 +01:00
Adrià Casajús
e57dcac2d2
Added zendesk submission flow
2022-02-09 12:00:48 +01:00
Adrià Casajús
219d5b998f
Add a suport form to create tickets in zendesk
2022-02-08 22:04:25 +01:00
george
c415324932
Add flake8-bugbear
2022-02-06 20:37:43 +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
Son
5a712f3877
make sure subdomain can only contain lowercase letters, numbers and dashes.
2022-01-26 14:53:27 +01:00
george
74713c2142
Rename method.
2022-01-25 18:32:34 +00:00
Son
fc3f06f4d8
create notification listing page
2022-01-24 16:45:36 +01:00
Son
1de6fefc59
add notification detail page
2022-01-24 15:22:01 +01:00
george
65531b5c63
Add a button to delete all API Keys.
2022-01-23 18:38:54 +00:00
Son
4cea47cc27
add setting for include_website_in_one_click_alias
2022-01-12 11:50:49 +01:00
Son
73d781cf6b
handle non number alias_id
2022-01-10 10:44:41 +01:00
Son
6cdf5637aa
validate the alias address before creating
2022-01-09 20:22:41 +01:00
Son
1bdae7fbe8
handle CannotCreateContactForReverseAlias when user creates a new contact
2022-01-07 10:47:36 +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
37bb7655d5
remove unused import
2022-01-06 15:30:33 +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
85fb859dcb
show error when a domain can't be used as random alias default domain
2022-01-03 10:05:06 +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
229dc7fd44
fix test
2021-12-28 15:09:33 +01:00
Son
83be94b43e
user can create aliases for domains that don't have mx verified
2021-12-28 12:01:32 +01:00
Son
5e7730c35c
refactor: move regex_match() to its own file
2021-12-14 15:00:32 +01:00
Son
f3e8fc10a9
use re instead of re2 if error "Argument 'pattern' has incorrect type (expected bytes, got PythonRePattern)"
2021-12-11 19:38:22 +01:00
Son
a021bba811
fix toggle contact should only be used by authenticated user
2021-12-06 18:39:12 +01:00
Son
e1123961cf
check if user has lifetime license on pricing page
2021-12-01 17:41:20 +01:00
Son
4d388a202c
allow user with manual or coinbase subscription to switch to paddle
2021-12-01 17:16:01 +01:00
Son
c6f49821c7
remove unused import
2021-12-01 10:39:08 +01:00
Son
34509cbbb3
delete account is protected by password
2021-12-01 10:11:18 +01:00
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