155 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
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
8d81d27af3
Unsubscribe links serve a form, and require HTTP POST to actually unsubscribe 2019-12-10 09:14:54 +02:00
Pēteris Caune
1cdb6e6d1d
Don't set CSRF cookie on first visit. Signup is exempt from CSRF protection. 2019-12-06 08:58:32 +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
2bb769f7bb
Send monthly reports on 1st of every month, not randomly during the month 2019-10-12 20:07:09 +03:00
Pēteris Caune
391921d8af
Revert deterministic username generation feature – it causes problems when users change their email address. See #290 for details. 2019-10-12 11:37:06 +03:00
Pēteris Caune
41a0871452
Generate usernames as uuid3(const, email). Prevents multiple accts with the same email. Prevent double-clicking the submit button in signup form. Fixes #290 2019-09-30 16:40:45 +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
8f6726d1ee
Prevent email clients from opening the one-time login links. Fixes #255 2019-05-21 11:26:55 +03:00
Pēteris Caune
cdfc9840a7
Source formatted with Black 2019-05-15 14:27:50 +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
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
62310a5181
Show overall project status in the top navigation menu and in the "Select Project" page. cc: #183 2019-02-01 23:25:12 +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
f2ae573872
Reduce the usage of request.project. 2019-01-29 16:54:51 +02:00
Pēteris Caune
08810d1fca
Check membership before removing project member. 2019-01-29 16:42:12 +02:00
Pēteris Caune
8dd91b247b
When user has no projects, don't auto-create a project. 2019-01-29 13:19:15 +02:00
Pēteris Caune
6b0d566922
"My Projects" page. 2019-01-29 10:59:10 +02:00
Pēteris Caune
4e6fa38ec6
Users can create and remove Projects -- WIP 2019-01-28 20:09:23 +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
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
f357cd3305
Prepare for removing Check.user_id, Channel.user_id, Profile.current_team_id 2019-01-14 21:13:57 +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
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
b081631e90
Fix after-login redirects for users landing in the "Add Pushover" page 2018-11-28 21:45:54 +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
9f02371d6a
Report unsubscribe link works with POST. Include "X-Bounce-Url" header in report emails. 2018-10-24 10:06:51 +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
e4150e8514
Settings > Badges page shows badges from all teams user has access to. 2018-06-15 01:07:52 +03:00
Pēteris Caune
9cbd0138da
Demo checks shown on welcome page are not saved to database. User's first check is created when creating the user. 2018-06-14 23:42:39 +03:00
Pēteris Caune
a4855e1900
Rename form field "email" to "identity" to hopefully avoid some auto-form-fill spam. 2018-06-14 16:29:15 +03:00