252 Commits

Author SHA1 Message Date
Pēteris Caune
bb808852d9
Reduce usage of request.project cc: #336 2020-02-25 15:39:54 +02:00
Pēteris Caune
318934697f
Remove last references of the hc-channels route. 2020-02-25 15:26:33 +02:00
Pēteris Caune
acce0808ce
Project code in URL for the "Add Slack" page. cc: #336 2020-02-25 14:22:34 +02:00
Pēteris Caune
0ff4bd01e0
Improved UI to invite users from account's other projects. Fixes #258.
The team size limit is applied to the number of distinct users across all projects. Fixes #332.
2020-02-14 13:05:21 +02:00
Pēteris Caune
15b9611c5a
Show a warning in project's top navigation if the project has no configured integrations. Fixes #327 2020-02-13 10:29:01 +02:00
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
c4edb415a2
Removing debug statement. 2020-01-07 11:47:53 +02:00
Pēteris Caune
012ad88bb3
createsuperuser management command requires an unique email address (#318) 2020-01-07 11:46:50 +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
f7496fb8cf
Add List-Unsubscribe-Post email header 2019-12-10 09:44:51 +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
f9c61dad23
Fix List-Unsubscribe email header value: add angle brackets 2019-12-09 14:04:14 +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
f74860bc0c
Add Profile.last_active_date field for more accurate inactive user detection 2019-11-19 16:29:38 +02:00
Pēteris Caune
7db11fa7aa
Fix the senddeletionnotices command to take into account the new default SMS limit. 2019-10-30 22:12:25 +02:00
Pēteris Caune
c13ec18a27
5 SMS & WhatsApp sends/mo for free plans 2019-10-30 18:31:10 +02:00
Pēteris Caune
66a6de70c0
Send email notification when monthly SMS sending limit is reached. Fixes #292 2019-10-18 17:15:02 +03: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
93507fcc47
Cleanup in report-body-html.html.
Add a "Send Nag" admin command for easier testing.
2019-09-03 09:24:56 +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
b74e56a273
Experimental: show the number of outages and total downtime in monthly reports. (#104) 2019-07-19 17:32:39 +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
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
945a66ab0a
Management command for sending inactive account notifications 2019-03-13 00:38:34 +02:00
Pēteris Caune
c89a0b4e40
Index the api_key fields. 2019-02-04 22:44:35 +02:00
Pēteris Caune
c60a33874f
Quicker admin. 2019-02-04 20:11:45 +02:00
Pēteris Caune
b0f4bd3fce
Show "grace" status in the "List of Projects" page. Fix the query for badges in top nav. 2019-02-02 00:08:00 +02: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
886643db84
Prefetch projects in profile admin. 2019-02-01 14:33:02 +02: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
02609ac05e
This query can return duplicates, add distinct() 2019-01-29 19:56:43 +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