92 Commits

Author SHA1 Message Date
Pēteris Caune
f51a0a257e
Don't delete customer data in braintree when closing account.
Need customer data to stay in braintree until the end of each month for tax reports.
2020-02-03 11:11:21 +02:00
Pēteris Caune
4ee2646539
Show a red "!" in project's top navigation if any integration is not working 2020-01-03 13:15:24 +02:00
Pēteris Caune
0d2c6217d3
Auto-submit the unsubscribe confirmation form only if signature is more than 5 minutes old. Idea from https://stackoverflow.com/questions/59281750/strategies-to-prevent-email-scanners-from-activating-unsubscribe-links/59381066#59381066 2019-12-18 16:10:30 +02:00
Pēteris Caune
d6be955fa7
Silence stdout output from management commands during tests 2019-12-11 15:35:23 +02:00
Pēteris Caune
15ba415298
senddeletionnotices command skips profiles with recent last_active_date 2019-12-11 15:24:51 +02:00
Pēteris Caune
2a8e7ee766
Django 3.0 2019-12-11 13:05:25 +02:00
Pēteris Caune
8d81d27af3
Unsubscribe links serve a form, and require HTTP POST to actually unsubscribe 2019-12-10 09:14:54 +02:00
Pēteris Caune
163b020116
Signup form sets the "auto-login" cookie to avoid an extra click during first login 2019-10-12 20:14:57 +03:00
Pēteris Caune
dfee69584b
Don't show the "Sign Up" link in the login page if registration is closed. Fixes #280 2019-08-26 10:55:41 +03:00
Pēteris Caune
2489f86b38
Delete customer from Braintree when closing account. 2019-08-19 11:47:36 +03:00
Pēteris Caune
cdfc9840a7
Source formatted with Black 2019-05-15 14:27:50 +03:00
Pēteris Caune
b528b23996
Fix badges for tags containing special characters. Fixes #240, #237 2019-05-14 14:43:43 +03:00
Pēteris Caune
23b197526c
Password strength meter and length check in the "Set Password" form 2019-04-29 23:16:49 +03:00
Pēteris Caune
afaa8767cd
Rate limit login-with-password attempts. 2019-04-26 15:51:10 +03:00
Pēteris Caune
beae8e62b4
Rate limit team invites to 20/day 2019-04-26 09:04:51 +03:00
Pēteris Caune
d299feb420
Salt the ip address before hashing 2019-04-25 21:55:30 +03:00
Pēteris Caune
aaa3b2748e
Rate limiting for the "Log In" emails 2019-04-25 21:28:40 +03:00
Pēteris Caune
178b0ff95c
Show "Badges" and "Settings" in top navigation. Fixes #234 2019-04-02 11:51:35 +03:00
Pēteris Caune
1b085a154b
"Don't have an account? Sign Up" line in the login page. 2019-02-01 14:14:55 +02:00
Pēteris Caune
d04f3cc328
Use Project.badge_key for generating badge URLs 2019-01-31 22:51:19 +02:00
Pēteris Caune
069bc9b735
Test cases for adding project, removing project and leaving project. 2019-01-29 19:57:18 +02:00
Pēteris Caune
4ff1654806
Don't create default projects for invited users. 2019-01-29 19:16:52 +02:00
Pēteris Caune
c1e4595ab2
If user has a single project, _redirect_after_login redirects to it. 2019-01-29 19:05:32 +02:00
Pēteris Caune
08810d1fca
Check membership before removing project member. 2019-01-29 16:42:12 +02:00
Pēteris Caune
6b0d566922
"My Projects" page. 2019-01-29 10:59:10 +02:00
Pēteris Caune
eaf49f2367
Don't switch projects when viewing the "Account Settings" page 2019-01-22 16:23:51 +02:00
Pēteris Caune
b12eb1ee75
Users switch between projects, not between accounts. 2019-01-22 15:58:07 +02:00
Pēteris Caune
b013a92c43
Move project-specific settings to a new "Project Settings" page 2019-01-22 15:44:54 +02:00
Pēteris Caune
664aad916a
Remove Profile.team_name (use Project.name instead) and Profile.current_team (use Profile.current_project instead) 2019-01-19 17:56:16 +02:00
Pēteris Caune
77e3212956
Prepare for the removal of Profile.current_team_id 2019-01-19 17:24:54 +02:00
Pēteris Caune
0994006603
Drop Check.user_id and Channel.user_id (obsolete, using project_id now) 2019-01-18 17:24:02 +02:00
Pēteris Caune
e1b999e83a
Prepare for the removal of Check.user_id 2019-01-18 14:59:01 +02:00
Pēteris Caune
c08f02ab7f
Drop Profile.api_key and Profile.api_key_readonly (both are stored with Project now) 2019-01-17 16:26:45 +02:00
Pēteris Caune
c16e9dc4fe
Prepare for the removal of Profile.api_key 2019-01-17 16:02:57 +02:00
Pēteris Caune
fba8806e97
Prepare for the removal of Member.team_id 2019-01-14 22:33:28 +02:00
Pēteris Caune
82b644ae0a
Project.num_checks_available() method. 2019-01-14 12:55:54 +02:00
Pēteris Caune
16bff94fab
Use BaseTestCase in test_login, less repetition 2019-01-14 12:54:42 +02:00
Pēteris Caune
965998df18
Fix tests. 2019-01-14 11:28:10 +02:00
Pēteris Caune
d102f10a2d
Add Project.badge_key so we can preserve the current badge URLs 2019-01-12 21:56:56 +02:00
Pēteris Caune
6b7f212c8a
Use the api keys from project, not user profile 2019-01-12 21:34:45 +02:00
Pēteris Caune
1c69cf7f89
Project model. cc: #183 2019-01-12 16:40:21 +02:00
Pēteris Caune
5aba9d6196
Fix after-login redirects to "Check Details" and other pages. 2018-11-28 22:06:12 +02:00
Pēteris Caune
bf1395801f
Fix after-login redirects for users landing in the "Add Slack" page 2018-11-26 17:32:23 +02:00
Pēteris Caune
b3c22dcfd2
A workaround for some email agents automatically opening "Unsubscribe" links 2018-11-09 22:12:11 +02:00
Pēteris Caune
432e592e44
Add read-only API key support 2018-10-29 21:44:34 +02:00
Pēteris Caune
58cfaaa527
Don't send monthly reports to inactive accounts (no pings in 6 months) 2018-10-24 11:30:16 +03:00
Pēteris Caune
9214265136
Separate sign up and login forms. 2018-10-12 10:55:15 +03:00
Pēteris Caune
4acd6a16e8
Login form: rename the email box to "identity" to avoid some auto-signup bots 2018-10-10 09:53:42 +03:00
Pēteris Caune
a58ce791c0
Improved layout & style, fixed hamburger menu in login page. 2018-10-09 16:12:02 +03:00
Pēteris Caune
621e04e845
Change "foo@example.org is not available" message to "foo@example.org is already registed". 2018-10-03 10:52:51 +03:00