Commit graph

5911 commits

Author SHA1 Message Date
Mouse Reeve 24e5ea3295 Check if import is stopped and create import status field 2022-11-05 13:32:23 -07:00
Mouse Reeve 3c2f2c10bf Show recent imports in a table 2022-11-05 13:12:23 -07:00
Mouse Reeve 4806a6273e Show average run times for imports
This should give users a sense of when to start wondering if their
import isn't running after all.
2022-11-05 12:50:51 -07:00
Mouse Reeve 40e9428b49 Adds more fields to import admin table and ticks version 2022-11-03 11:30:43 -07:00
Mouse Reeve 14e61fa32d Adds extremely basic tests file 2022-11-03 10:55:21 -07:00
Mouse Reeve 0ba4dbbc6f Fixes pagination and user links on import admin 2022-11-03 10:54:59 -07:00
Mouse Reeve 91b935bc0a
Merge pull request #2327 from bookwyrm-social/imports-admin
Imports admin
2022-11-01 20:53:58 -07:00
Mouse Reeve 5af195de58 Python formatting 2022-11-01 20:43:27 -07:00
Mouse Reeve a8424f61f2 Mark imports as complete
This will let the user debug the import, and should only be used when
the import is in a bad state (marked as incomplete but with no pending
tasks)
2022-11-01 19:26:23 -07:00
Mouse Reeve 6eab1fdd6d Adds import admin view 2022-11-01 19:05:51 -07:00
Mouse Reeve 61c2d2a36a Use elided page range on user admin view 2022-11-01 18:45:21 -07:00
Mouse Reeve 641fc325b4
Merge pull request #2326 from bookwyrm-social/synchronous-confirmation-emails
Send confirmation emails directly, rather than with celery
2022-11-01 18:43:53 -07:00
Mouse Reeve 881d5682e3 Updates test mock 2022-11-01 18:20:56 -07:00
Mouse Reeve 1c949a5d71 Send confirmation emails directly, rather than with celery
Whenver bookwyrm has an influx of new users, celery gets delayed and
the emails don't get sent out promptly, which causes people to first
resend the email multiple times, and then to email me, both of which
just create more work and confusion for everyone involved.
2022-11-01 18:08:45 -07:00
Mouse Reeve 553f170f89 Only show editions with the author on the author page 2022-11-01 18:04:27 -07:00
Olivier Brencklé cfaec434c0 🚸 Close dropdown when opening modal item 2022-10-28 13:15:53 +02:00
Olivier Brencklé 474b78dad2 💄 Set dropdown menu below modals on mobile 2022-10-24 19:34:25 +02:00
Mouse Reeve eb07deadf2
Merge pull request #2320 from bookwyrm-social/announcement-size
Remove extra whitespace in announcements
2022-10-20 20:56:52 -07:00
Mouse Reeve b81a5faff7 Remove extra whitespace in announcements 2022-10-20 07:45:53 -07:00
Hugh Rundle 3d95916b55 handle 2fa user exception properly 2022-10-15 07:47:20 +11:00
Hugh Rundle 32e4f7718e pylint is being pedantic 2022-10-15 07:47:20 +11:00
Hugh Rundle cf1fae6af8 return Bad Request if 2fa user does not exist 2022-10-15 07:47:20 +11:00
Hugh Rundle 905aa66f38 add test_post_login_with_2fa 2022-10-15 07:47:20 +11:00
Hugh Rundle a1c3f15d80 remove unused import 2022-10-15 07:47:20 +11:00
Hugh Rundle f55adbadf4 fix 2fa tests 2022-10-15 07:47:20 +11:00
Hugh Rundle cffbf82ddb DRY footer for 2FA pages 2022-10-15 07:47:20 +11:00
Hugh Rundle f3768c3d92 code formatting fix 2022-10-15 07:47:20 +11:00
Hugh Rundle 79b04c2240 various 2fa improvements
- cleaner code
- use TWO_FACTOR_LOGIN_MAX_SECONDS instead of hardcoded number
- render qrcode properly
- use nginx to rate limit login attempts
- do not throw error if session user is undefined
2022-10-15 07:47:20 +11:00
Hugh Rundle aefc7a23bc fix 2fa templates
- translate all strings
- do not embed svg element inside svg element
- fix sizing of input for confirming 2fa setup
2022-10-15 07:47:20 +11:00
Hugh Rundle e1513bf98d amend nginx rate limiting urls 2022-10-15 07:47:20 +11:00
Hugh Rundle da613c9b26 ugh forgot to run black 2022-10-15 07:47:20 +11:00
Hugh Rundle fda150fa0d resolve migration conflict 2022-10-15 07:47:20 +11:00
Hugh Rundle 119b4bf2ff clean up tests
- remove unnecessary crap
- add missing tests
2022-10-15 07:47:20 +11:00
Hugh Rundle 9d36722783 code formatting 2022-10-15 07:47:20 +11:00
Hugh Rundle b63d4bec60 add tests for 2fa 2022-10-15 07:47:20 +11:00
Hugh Rundle 28329c1781 use string for datetime in session
It seemed to work when testing manually, but both pytest and the django documentation indicate that you can't pass datetimes around as session values.
2022-10-15 07:47:20 +11:00
Hugh Rundle e1b1bb20dc make password field less goofy in 2fa screen 2022-10-15 07:47:20 +11:00
Hugh Rundle 9b74c26742 backup codes
- add hotp_secret to user model
- view to create backup codes in user prefs
- check backup code if otp doesn't work
- increment hotp count if used
- show correct errors if code wrong
2022-10-15 07:47:20 +11:00
Hugh Rundle 9616abb6bd clean up 2fa prompt page 2022-10-15 07:47:20 +11:00
Hugh Rundle 5b244f06d6 fix error messages when setting up 2FA 2022-10-15 07:47:20 +11:00
Hugh Rundle 6db4fb39ed improve security and fix error msg
- Instead of passing the user as a hidden form element, we use a session variable.
- Introduces a 60 second limit on completing the login, and an exponentially increasing delay to attempt to login with 2FA if the code is entered incorrectly.
- use proper Django form error when incorrect otp value entered
2022-10-15 07:47:20 +11:00
Hugh Rundle 9d12b7caff make pylint stop grumbling 2022-10-15 07:47:20 +11:00
Hugh Rundle 1d13f0ab4f lint 2022-10-15 07:47:20 +11:00
Hugh Rundle 8837495ffd redirect login to 2fa check if active 2022-10-15 07:47:20 +11:00
Hugh Rundle 2ec343c5db new views for capturing user for 2fa check 2022-10-15 07:47:20 +11:00
Hugh Rundle f26ac1ccde 2fa page templates 2022-10-15 07:47:20 +11:00
Hugh Rundle 0e1751eb57 prep for 2fa login check
- new 2fa checker page to be inserted between initial login and completion of login
- new views and forms for above
2022-10-15 07:47:20 +11:00
Hugh Rundle 514762c233 fix typo in new user fields
oopsie
2022-10-15 07:47:20 +11:00
Hugh Rundle aca5c19f70 2fa templates
- new page templates for 2FA
- add 2FA to menu in user preferences
2022-10-15 07:47:20 +11:00
Hugh Rundle 54daade9f9 prepare for 2FA
- add and migrate User fields for 2FA
- add views for 2FA
- add new forms for 2FA
- update package list in requirements.txt
- add URLs for 2FA views
2022-10-15 07:47:20 +11:00
Mouse Reeve fed6bcd375
Merge pull request #2314 from chambersh1129/2194-normalize-stored-ISNI
Closes #2194 Normalize stored ISNI
2022-10-14 12:20:07 -07:00
Mouse Reeve b02ad2ec68
Merge pull request #2316 from redshiftss/bugfix/reading-status-future
Make it so that finishing a book cannot happen in the future
2022-10-14 12:17:42 -07:00
Mouse Reeve b06c35b7dd
Update forms.py 2022-10-14 12:06:54 -07:00
Laura Pircalaboiu f97b6f3da2 fix pylint complaint 2022-10-12 11:25:03 +02:00
Laura Pircalaboiu 4ab5e4b5d9 re-format code 2022-10-11 14:40:52 +02:00
Laura Pircalaboiu b895fbd8f2 fix bug, can no longer finish a book in the future 2022-10-11 14:40:45 +02:00
Laura Pircalaboiu aeeb2c3442 WIP: fix reading status ending in the future 2022-10-11 14:40:32 +02:00
Hunter Chambers 32f68c3f62 remove trailing whitespace causing pylint/black errors 2022-10-10 14:13:57 -04:00
Hunter Chambers 02c7397eaf Closes #2194 Normalize stored ISNI 2022-10-09 19:36:24 -04:00
Mouse Reeve 74b89b2d4a That test didn't work 2022-10-04 12:09:05 -07:00
Mouse Reeve 5b5e15d48b Just adds a couple tests 2022-10-04 11:40:01 -07:00
Mouse Reeve 78d36ebc39 Fixes typo in tour 2022-09-24 19:41:37 -07:00
Mouse Reeve 3a73ced5fa Adds a couple tests to annual review views
Also I tweaked the save functions so they don't broadcast
2022-09-19 14:38:30 -07:00
Mouse Reeve fdc477afdf
Merge pull request #2258 from bookwyrm-social/form-perms
Check permissions automatically on form save
2022-09-19 13:32:41 -07:00
Mouse Reeve 7d61cb55bc Ignore pylint complaints about argument counts to form saves 2022-09-19 13:23:18 -07:00
Mouse Reeve 35aebacf70 Fixes theme form and adds view tests 2022-09-19 13:13:21 -07:00
Mouse Reeve bf092ec44e Small fixes 2022-09-19 12:10:27 -07:00
Mouse Reeve 4c099afc63 Python formatting 2022-09-19 11:23:40 -07:00
Mouse Reeve 37dacaff6f Fixes creating notifications for auto-moderation reports 2022-09-19 11:11:08 -07:00
Mouse Reeve 6947f3b787 Uses class method to get list of instance admins
Re-writing this query over and over is a bad approach
2022-09-19 10:43:52 -07:00
Mouse Reeve 9d8d85ebc1 Invite perms checks 2022-09-19 10:26:40 -07:00
Mouse Reeve 1e988cae6c More edit book lines 2022-09-19 10:26:29 -07:00
Mouse Reeve be480e40f0 Updates links form saves 2022-09-19 10:18:30 -07:00
Mouse Reeve 3fd573c0da Check perms on site model form 2022-09-19 10:16:38 -07:00
Mouse Reeve b0d8697006 Adds missing save in edit book view 2022-09-19 10:16:29 -07:00
Mouse Reeve 330be16516 Adds permissions checking for admin models 2022-09-19 10:12:47 -07:00
Mouse Reeve e51980bc12 Use BookWyrmModel as parent for admin models
This will make them more internally consistent and give them built-in
permissions checking
2022-09-19 09:35:38 -07:00
Mouse Reeve b0236b95bd Merge branch 'main' into form-perms 2022-09-19 09:32:48 -07:00
Mouse Reeve 3f5eb6c682 Adds raise_not_editable to User model
This model doens't inherit from BookwyrmModel for various reasons, but
it still needs to editability check.
2022-09-19 09:26:01 -07:00
Mouse Reeve aa67f23b03 Override raise_not_editable for report model
This model uses "reporter" as the field that represents the onwer of the
object, and "user" and the subject. In retrospect, maybe not the ideal
way to do it.
2022-09-19 09:20:44 -07:00
Mouse Reeve 81d5195d20 Adds test 2022-09-15 11:12:05 -07:00
Mouse Reeve fcd96c332d Null state 2022-09-15 11:09:07 -07:00
Mouse Reeve d76eae358f Show queues and runtime instead of start time 2022-09-15 10:53:08 -07:00
Mouse Reeve 3739bdbf81 Better comments 2022-09-15 09:49:58 -07:00
Mouse Reeve 0f55b76a93 Adds celery status view 2022-09-14 18:58:51 -07:00
Mouse Reeve fcf796abe1 Null state for review view during imports
Without this, it will show an empty progress bar and no info about why
the table is empty.
2022-09-14 18:08:16 -07:00
Hugh Rundle aa18179dbc add migration 2022-09-10 10:27:17 +10:00
Hugh Rundle 0ad3dc6245 allow 0.5 star ratings 2022-09-10 07:24:11 +10:00
Hugh Rundle 230d30abb8 sidebar review stars should default to zero
PR #2283 surfaced an existing formerly-hidden issue with star rating defaults in the sidebar of book pages.
This commit ensures the default rating is zero, not half a star.

Fixes #2291
2022-09-10 07:03:12 +10:00
Mouse Reeve 543d13af6e Removes explicit calls to raise_not_editable from views
These raises are handled implicitly in the form, so they don't have to
be called outright.
2022-09-08 11:03:06 -07:00
Mouse Reeve 351292fcda Catches places where form.save() needs the request
Thank you, tests.
2022-09-08 11:02:17 -07:00
Mouse Reeve c71d133d2c
Merge pull request #2288 from mooseyboots/del-notifs-button
conditional display of notifs button
2022-09-08 10:16:07 -07:00
Mouse Reeve 834c7e9cd5
Merge pull request #2282 from hughrun/normalise-isbn
Normalise ISBNs for searching
2022-09-08 10:14:30 -07:00
marty hiatt b4cc9f5753 conditional display of notifs button 2022-09-01 11:54:49 +02:00
Hugh Rundle 1ee2ff4811 normalise isbn on local book search
- uppercase ISBN before checking it's a number to account for trailing 'x'
- check maybe_isbn for search_identifiers search. Without this we are only searching external connectors, not locally!
2022-08-30 20:00:09 +10:00
Hugh Rundle 68d91086ed add wonky ISBN test 2022-08-30 19:57:25 +10:00
Mouse Reeve 1f93dc9c62
Merge pull request #2260 from bookwyrm-social/mentions
Refactors how mentions are collected
2022-08-29 15:17:40 -07:00
Mouse Reeve e782b3f360 Fixes logic that displays search remote or manually add link 2022-08-29 14:03:47 -07:00
Mouse Reeve 98562dc92f Allow x in isbn path 2022-08-29 13:41:49 -07:00
Mouse Reeve 775ee6f590
Merge pull request #2283 from hughrun/halfstars
fix visibility of stars when editing a review
2022-08-29 13:39:47 -07:00
Mouse Reeve f0effb9d3e Uses theme in remote follow template 2022-08-29 07:10:36 -07:00
Hugh Rundle 252fe7fd6a fix visibility of stars when editing a review
Previously the star rating appeared to be five stars when editing a review, regardless of what value was actually stored.
Now it will show the actual rating, including half stars.

Fixes #2213
2022-08-29 14:02:04 +10:00
Hugh Rundle 18d3d2f85d linting 2022-08-28 17:30:46 +10:00
Hugh Rundle f219851f3a strip leading and following spaces from ISBN 2022-08-28 17:28:00 +10:00
Hugh Rundle da5fd32196 normalise isbn searching
ISBNs are always numeric except for when the check digit in ISBN-10s is a ten, indicated with a capital X.
These changes ensure that ISBNs are always upper-case so that a lower-case 'x' is not used when searching.

Additionally some ancient ISBNs have been printed without a leading zero (i.e. they only have 9 characters on the physical book). This change prepends a zero if something looks like an ISBN but only has 9 chars.
2022-08-28 11:05:40 +10:00
Mouse Reeve 58c3a4c2bc
Merge pull request #2277 from hughrun/permissions
hide replies to posts user cannot see
2022-08-23 19:48:36 -07:00
Hugh Rundle cc97c52d12 make get_audience logic clearer
Retains 'direct' messages at the top of the logic tree to make it easier to understand.
In practice because direct messages are excluded from feeds anyway, this doesn't seem to make much difference, but it's easier to read.
2022-08-21 09:33:43 +10:00
Hugh Rundle 8d593e4498 hide replies to posts user cannot see
This is in response to #1870

Users should not see links to posts they are not allowed to see, in their feed. The main question is how to stop that happening.
This commit hides all replies to posts if the original post was "followers only" and the user is not a follower of the original poster. The privacy of the reply is not considered relevant (except "direct").

I believe this is the cleanest way to deal with the problem, as it avoids orphaned replies and confusing 404s, and a reply without access to the context of the original post is not particularly useful to anyone. This also feels like it respects the wishes of the original poster more accurately, as it does not draw attention from non-followers to the original followers-only post.

A less draconian approach might be to remove the link to the original status in the feed interface, however that simply leads to confusion of another kind since it will make the interface inconsistent.

This commit does not change any ActivityPub behaviour - it only affects the Bookwyrm user feeds. This means orphaned posts may be sent to external apps like Mastodon.
2022-08-14 14:17:10 +10:00
Hugh Rundle 22495e40bd strip spaces from user search
Strips leading and trailing spaces from user search to prevent errors when doing webfinger lookup.
Prior to this, webfinger user queries included everything after the second '@' as part of the hostname. This resulted in failed webfinger requests when there was one or more trailing spaces.
Fixes #2205
2022-08-13 15:40:53 +10:00
Mouse Reeve d58282bc37
Merge pull request #2263 from bookwyrm-social/safer-book-description
Safer display of book descriptions
2022-08-09 10:21:11 -07:00
Mouse Reeve 0cf9e1033b Safer display of book descriptions 2022-08-07 13:26:05 -07:00
Mouse Reeve 1581491471 Removes duplicate version warning 2022-08-05 17:03:56 -07:00
Mouse Reeve c8fc907705 Update version 2022-08-05 16:54:55 -07:00
Mouse Reeve 5c3bb2da13 Refactors how mentions are collected
This should be quicker, because it queries the users in one go instead
of jumping straight to iterating over them, and it checks if a user
blocks the poster before allowing them to be tagged.
2022-08-05 14:06:39 -07:00
Mouse Reeve 9d7ece47ef
Merge pull request #2254 from bookwyrm-social/fixes-search-pagination
Fixes search pagination
2022-08-05 12:32:47 -07:00
Mouse Reeve 9fad5b5623 Fixes isbn view 2022-08-05 11:44:10 -07:00
Mouse Reeve bdf563748c
Merge pull request #2255 from joachimesque/front/mobile-header
Add notifications count on mobile header
2022-08-05 11:28:42 -07:00
Mouse Reeve 7c7df99cef Fixes template syntax error 2022-08-05 11:14:14 -07:00
Mouse Reeve 20572688ba Removes test exception 2022-08-05 11:04:32 -07:00
Mouse Reeve 1ba69acc49 Adds unit tests that checks if rel field is set on links 2022-08-05 11:01:02 -07:00
Mouse Reeve 4dd7f88e0a Updates all links that open in new tabs 2022-08-05 10:20:43 -07:00
Mouse Reeve 9407695328 Updates footer links
Adds a missing rel="nofollow noopener noreferrer" attribute for the
Patreon link, and makes the github link open in a new tab (and updates
the url, which was out of date)
2022-08-05 10:06:12 -07:00
Mouse Reeve 8f79b362f8 Check permissions automatically on form save 2022-08-05 09:56:32 -07:00
Mouse Reeve 2894aa37a2 Fixes perms checks for groups 2022-08-05 09:12:48 -07:00
Mouse Reeve b4cfda0587 Updates tests 2022-08-05 08:56:24 -07:00
Joachim 610d8fdf5b Add notifications count on mobile header 2022-08-05 11:15:11 +02:00
Mouse Reeve ed71b791c9 Python formatting 2022-08-04 12:19:26 -07:00
Mouse Reeve 48df5076e7 Use elided page range and paginate user and list results 2022-08-04 12:11:39 -07:00
Mouse Reeve 06d1936ac9 Fixes pagination of local search results 2022-08-04 12:04:13 -07:00
Mouse Reeve 3270d0a7d4
Merge pull request #2247 from bookwyrm-social/followers-following-views
Merges follower/following views
2022-08-02 11:59:06 -07:00
Mouse Reeve 0bc3c3b5f6 Adds locale migration 2022-08-02 11:09:58 -07:00
Mouse Reeve f9b772e234 Adds polish locale 2022-08-02 10:59:40 -07:00
Mouse Reeve 6d258d5445 Fixes test mocks 2022-07-30 10:07:13 -07:00
Mouse Reeve d7bf348c77
Merge pull request #2249 from bookwyrm-social/crsf-exempt
Removes improperly placed csrf_exempt decorator
2022-07-29 13:49:29 -07:00
Mouse Reeve 8e2a8ec6e0 Removes improperly places csrf_exempt decorator 2022-07-29 13:40:40 -07:00
Mouse Reeve 96f1521239
Merge pull request #2248 from bookwyrm-social/list-suggestions
Move list suggestions into helper function
2022-07-29 13:27:04 -07:00
Mouse Reeve 844023f104
Merge pull request #2246 from bookwyrm-social/goal-model
Moves annual goal to its own file
2022-07-29 13:22:12 -07:00
Mouse Reeve d301cecc9f Move list suggestions into helper function
The view was complicated, this makes it a little easier to read and
test.
2022-07-29 13:15:24 -07:00
Mouse Reeve 23188dfc5f
Merge branch 'main' into followers-following-views 2022-07-29 13:09:30 -07:00
Mouse Reeve d458001491 Merges follower/following views
They were almost identical!
2022-07-29 13:07:15 -07:00
Mouse Reeve 2298a478cf Moves annual goal to its own file
The user model file is just,, very long
2022-07-29 13:00:59 -07:00
Mouse Reeve f52965b8f4 Fixes a couple typos 2022-07-29 12:08:36 -07:00
Mouse Reeve 29db9c68a1 Fixes typo and spacing 2022-07-29 11:31:35 -07:00
Mouse Reeve 868ab62863 Fixes template string quote escapes
It seems totally reasonable that using an escape slash would make
apostrophes in words work, but the translation system works in
mysterious ways that do not include supporting that. I've used backticks
as a third quote type to escape everything in a way that both
javascript and gettext understand.

While I was there I split up some strings that have more complicated
html in them, since that can be fragile when passed through translation,
and confusing for translators.
2022-07-29 11:22:31 -07:00
Mouse Reeve 2837d0148f Checks permissions when saving a list 2022-07-28 11:44:04 -07:00
Mouse Reeve 85dce81b6a Adds unit test or list create perms 2022-07-28 11:42:27 -07:00
Mouse Reeve ed20587695
Merge pull request #2168 from hughrun/tour
Add guided tour / walkthrough
2022-07-28 11:08:49 -07:00
Hugh Rundle 2455aadbfd add scrollTo where needed
A couple of tour steps could benefit from a scrollTo for users on smallers screens.
2022-07-27 15:53:54 +10:00
Hugh Rundle a4714f097f fix anchors not working on homepage tour
Fixes bug on larger screens.

We need to use a function to set the anchor for tour steps when using menus and other elements that become visible or hidden responsively. Because the element is still in the DOM, we can't just rely on it disappearing completely, we have to assign a different (visible) element otherwise the step will simply disappear and the user cannot continue the tour. Previously this used a simple selector which didn't work due to the above.
2022-07-27 15:14:28 +10:00
Mouse Reeve f3bc7d759f Only show pending follow requests from active users 2022-07-24 12:26:58 -07:00
Mouse Reeve 0217d36f7b Show lists to logged out viewers
The activitystreams for lists require a logged in user, so this just
uses a simple database query of all public lists when there is no logged
in user.
2022-07-23 20:42:40 -07:00
Mouse Reeve 639b727c92 Fixes perms check for ratings 2022-07-17 16:21:43 -07:00
Mouse Reeve 3f5bb41380 Unit test for creating rating status 2022-07-17 16:18:59 -07:00
Hugh Rundle 356c1c0b62 fix migration dependency order
Show_guided_tour needs to come after alter_user_preferred_language due to conficts. I think.
2022-07-17 16:34:42 +10:00
Hugh Rundle 17dc5e7eb1 Merge branch 'main' into tour
- we need to do this because of conflicting migrations
2022-07-17 16:30:45 +10:00
Hugh Rundle c48ddf419d cleanup 2022-07-17 16:19:55 +10:00
Hugh Rundle bec2943aad remove console logs 2022-07-17 16:17:08 +10:00
Hugh Rundle 387f2a70c9 update tour text
- new classname for posting guide
- various improvements to wording
- use function to find responsive menu elements
- add scrollTo transitions where needed
2022-07-17 16:13:12 +10:00
Hugh Rundle 43c598d92c remove DMs from guided tour 2022-07-17 11:11:34 +10:00
Mouse Reeve d3f35fb691 Adds Catalan 2022-07-15 12:28:31 -07:00
Mouse Reeve 4a82bef9a6 Ticks version number 2022-07-15 12:21:25 -07:00
Mouse Reeve 086ec10849
Merge pull request #2229 from bookwyrm-social/password-validation
Password validation
2022-07-15 11:53:27 -07:00
Mouse Reeve 65117fe3c6 Use manual password field to customize id 2022-07-15 11:41:39 -07:00
Mouse Reeve b1f5171502 Updates reset password tests 2022-07-15 11:39:29 -07:00
Mouse Reeve 3846b201bd Updates reset password flow to use validators 2022-07-15 11:39:18 -07:00
Mouse Reeve 1bb0a9d998 Updates tests 2022-07-15 11:18:47 -07:00
Mouse Reeve b62f8eff42 Updates method decorators 2022-07-15 10:59:35 -07:00
Mouse Reeve 659ee96002 Use password validation in change password flow
This also moves the form validation into a form instead of doing it in
the view.
2022-07-15 10:51:58 -07:00
Mouse Reeve 4a65ee326a Use password validation in register view 2022-07-15 09:59:57 -07:00
Mouse Reeve d74d59a57b Disable pylint complaint 2022-07-15 09:33:13 -07:00
Mouse Reeve 7fdfd0c9c7 Check permissions when creating a status 2022-07-15 09:26:52 -07:00
Mouse Reeve 5ecd75ee24 Remove redirecting to "next"
This wasn't even particularly working
2022-07-14 12:54:02 -07:00
Mouse Reeve aa579605e0
Merge pull request #2224 from bookwyrm-social/email-not-found-text
Remove error reporting on resend to invalid email address
2022-07-14 12:34:14 -07:00
Mouse Reeve 69728439c8 Remove error reporting on resend to invalid email address 2022-07-14 12:23:43 -07:00
Mouse Reeve 317a239d40 Update shelf test now that it has multiple users 2022-07-14 12:10:29 -07:00
Mouse Reeve 3f47cca5e6 Python formatting 2022-07-14 11:56:18 -07:00
Mouse Reeve c21864a1ac Merge branch 'main' into shelf-edit-perms 2022-07-14 11:50:27 -07:00
Mouse Reeve 95a72ae902
Merge pull request #2222 from bookwyrm-social/redirects
Removes insecure redirects
2022-07-14 11:46:47 -07:00
Mouse Reeve 73c4a01a6e Test for PermissionDenied error, not isNone 2022-07-14 11:45:59 -07:00
Mouse Reeve 4f1283ff52 Check editability before creating shelf 2022-07-14 11:42:59 -07:00
Mouse Reeve 05716c3578 Adds unit test for creating shelves for another user 2022-07-14 11:38:53 -07:00
Mouse Reeve 661865de87 Remmoves insecure redirects
This should really fundamentally work differently, but this is a quick
for for now to avoid an insecure redirect. There will be a negative
impact on user experience from this, and a followup change should look
into these views and improve their flow.
2022-07-14 11:22:17 -07:00
Mouse Reeve 235e877b3d Reverse order of notification users lists
Should show newest first
2022-07-14 11:00:05 -07:00
Mouse Reeve 3670ae46ec Reverse order of notification related users 2022-07-12 10:32:56 -07:00
Mouse Reeve 77bff3b263
Merge pull request #2217 from bookwyrm-social/connector-exceptions
Log failing to connect as info instead of exception
2022-07-11 09:04:01 -07:00
Mouse Reeve 5706028656 Log failing to connect as info instead of exception
These are normal, expected errors, and while we should probably
re-evaluate the connectors in some way, pending that, there's no need to
log these as unepected errors, which causes confusion and clutters my
error logging.
2022-07-11 08:47:18 -07:00
Mouse Reeve f1ae64543f
Merge pull request #2216 from bookwyrm-social/export-post
Use HTTP post for CSV export
2022-07-11 08:14:47 -07:00
Mouse Reeve 9104d1f8db Fixes reference to renamed view 2022-07-11 08:05:32 -07:00
Mouse Reeve 42e29e40b3 Use HTTP post for csv export
Also fixes a missing translation string
2022-07-11 07:51:51 -07:00
Mouse Reeve a0e01af2ca Updates tests 2022-07-10 20:22:54 -07:00
Mouse Reeve f44b3cc4b2 Improves change password flow
There are two changes: one is to require the current password to change
your password (which is a security improvement), and the other is error
reporting when you either get your current password wrong or your new
password doesn't match it's second entry.
2022-07-10 20:05:54 -07:00
Mouse Reeve 64bfe5934f Tick version number
This was reported as a security issue, so updating the version number
to indicate where the issue has been fixed.
2022-07-10 09:39:51 -07:00
Mouse Reeve 7a772c7d3e Use POST instead of GET for logout function 2022-07-10 09:30:39 -07:00
Hugh Rundle 6b1fcc3cbb use class instead of id for spoilers tour 2022-07-10 13:16:28 +10:00
Hugh Rundle 126fd4e634 various wording updates to guided tour 2022-07-10 11:27:01 +10:00
Hugh Rundle a84deff119 add scrollTo for link step on home tour 2022-07-10 11:26:14 +10:00
Hugh Rundle 142c0e1a59 fix template error in search tour 2022-07-10 10:58:48 +10:00
Hugh Rundle 37c2ad11b6 fix border radius on shepherd messages
remove bottom border radius from message text and top border radius from message footer on guided tour popovers.
2022-07-10 09:54:19 +10:00
Hugh Rundle e1acdd0062 fix migrations
There was a conflict due to the order of migrations. Hopefully this commit fixes it!
2022-07-10 09:53:43 +10:00
Mouse Reeve 591c4d9b75 Fixes numbering on book lists 2022-07-09 13:33:58 -07:00
Mouse Reeve 85f811022f
Merge pull request #2210 from bookwyrm-social/notification-cw
Show content warning in notification status previews
2022-07-09 13:29:22 -07:00
Mouse Reeve be5e1be5f6 Use content warnings in notifications 2022-07-09 13:12:46 -07:00
Mouse Reeve 11a0c1691b Move status_preview snippet to notifications directory
That's the only place it's used, always nice to de-clutter the snippets
directory
2022-07-09 12:40:21 -07:00
Mouse Reeve f92b4548b1 Fixes get_or_create error when multiple matching notifications exist 2022-07-09 12:30:05 -07:00
Mouse Reeve c092d952bd Adds test to catch notification error 2022-07-09 12:29:29 -07:00
Mouse Reeve a7553c0b8c Return HttpResponse instead of redirects for AJAX follows
This is more efficient, and most follow activities are ajax
2022-07-09 12:20:18 -07:00
Mouse Reeve 923495e454 More accurate button display
Now, a follow button will show as pending even if the user doesn't
manually approve followers, if that's the state the request is in.
2022-07-09 12:19:28 -07:00
Hugh Rundle ab5e4128e6 Merge branch 'main' into tour
Also fixes conflict
2022-07-09 20:54:48 +10:00
Hugh Rundle 8fbd634ee8 add id to dm box 2022-07-09 20:52:03 +10:00
Hugh Rundle 48bcb85e24 resolve conflict 2022-07-09 20:12:46 +10:00
Hugh Rundle 02c6932409 lint migration file 2022-07-09 20:10:28 +10:00
Hugh Rundle 245120e7ca resolve git conflict with main branch 2022-07-09 20:08:23 +10:00
Hugh Rundle baad1314d8 default existing users to no tour 2022-07-09 19:51:05 +10:00
Hugh Rundle 495bac2b50 transfer tour from group to DM 2022-07-09 19:38:44 +10:00
Hugh Rundle 2f2ab5c24a add DM tour
- rearrange script includes on feed pages
- add DM tour to close
2022-07-09 19:27:42 +10:00
Hugh Rundle 791847d75e add timeline info to home tour 2022-07-09 19:27:12 +10:00
Hugh Rundle c68c7216f3 minor wording updates for tour 2022-07-09 17:49:56 +10:00
Hugh Rundle 6df09eb5d7 update user groups tour
- use strong instead of code
- clean up templates
- use notification styling for actions
- update wording
2022-07-09 17:39:22 +10:00
Hugh Rundle 07a882692c update lists tour
- cleaner templates
- send user directly to their Groups page at end of section
2022-07-09 17:31:04 +10:00
Hugh Rundle d67c6dc92b user books tour update
- add element highlights
- fix template text
- replace code with strong
2022-07-09 16:56:07 +10:00
Hugh Rundle e85e4a5467 update book page tour
- styling for next action
- replace code with strong
- clean up wording
- make translation templates cleaner
2022-07-09 15:30:45 +10:00
Hugh Rundle bb85d3cdb2 update search tour
- action styling
- code to strong
2022-07-09 15:16:27 +10:00
Hugh Rundle bb4b1a14fd update user profile tour styles 2022-07-09 15:10:52 +10:00
Hugh Rundle 5472cdcad7 update homepage tour
- add highlights to some elements
- consolidate message text for easier translation
- emphasise action with notification style
2022-07-09 15:00:30 +10:00
Hugh Rundle b36968166e fix import message
import files don't import shelves, only books.
2022-07-09 14:47:31 +10:00
Hugh Rundle 3c317d509d fix sass styles import bug
Using @import caused styles to double up on elements, in some cases preventing the correct override behaviour.
Usint @use instead fixes this, and is recommended by Sass for exactly this reason.
2022-07-09 14:42:42 +10:00
Hugh Rundle b41c826a0d custom style for highlighting tour anchorpoints 2022-07-09 14:29:04 +10:00
Hugh Rundle 68308aaa79 update tour colour scheme
- use info instead of default
- increase box shadow
- arrows at top should match header colour
2022-07-09 12:35:06 +10:00
Hugh Rundle 56b91f4c6d fix incorrect tour step header 2022-07-09 10:37:08 +10:00
Hugh Rundle 4d843b583d move shelve button tour id to prevent duplicates 2022-07-09 10:32:04 +10:00
Hugh Rundle 389da79af4 fix missing hyphen 2022-07-09 10:31:40 +10:00
Hugh Rundle 53a89f69e7 guided tour only for request.user 2022-07-09 10:23:09 +10:00
Hugh Rundle 3365bb6d35 show_guided_tour is not added to AP serialisation 2022-07-09 10:17:10 +10:00
Mouse Reeve bd6774fca8
Merge pull request #2202 from bookwyrm-social/settings-warnings
New and improved warnings on the admin dashboard
2022-07-08 15:39:23 -07:00
Mouse Reeve 147d092eac Removes line breaks from warning links 2022-07-08 15:29:55 -07:00
Mouse Reeve 36553ef2a9 Suppress protected-access warning on admin dashboard 2022-07-08 12:22:23 -07:00
Mouse Reeve d0e986c283 Hide DMs from profile page 2022-07-08 12:19:51 -07:00
Mouse Reeve 441fef9e86 Use javascript to send DMs
This fixes the draft cache issue and also the weird redirects
2022-07-08 12:11:00 -07:00
Mouse Reeve ba7ae46c75 Adds warnings for missing privacy policies and codes of conduct 2022-07-08 11:59:21 -07:00
Mouse Reeve 4a2e191d92 Refactors dashboard warnings
This cleans up the display so that they don't get all squished when a
bunch are present, and creates a layout to make them more DRY
2022-07-08 11:38:27 -07:00
Mouse Reeve b62bb157c0 Fixes links to documentation pages 2022-07-08 09:44:41 -07:00
Mouse Reeve 65f55fe324 Fixes link to remote instance user list 2022-07-08 09:26:11 -07:00
Mouse Reeve be86fef42d Move deleted users to a separate tab
Since there's nothing to be done with them, they get their own tab.
2022-07-08 09:21:48 -07:00
Mouse Reeve 5bb001e15f Show avatars in user admin view
I find this helpful as a rough hueristic for how engaged a user is -- if
they've never added an avatar, it's often the case that they never
really got further in to using the app than just registering a username.
Also, on one occassion, a user had an avatar that violated the instance
ToS, which would have been handy to see at a glance in this list.
2022-07-08 09:10:29 -07:00
Mouse Reeve a972c58f3b Fixes errors in permissions 2022-07-07 14:01:51 -07:00
Mouse Reeve 948f2964ac Updates admin tests to use perms instead of superuser
Superuser overrides all perms, so this was hiding simple typo-related
bugs in the permissions system
2022-07-07 14:01:05 -07:00
Mouse Reeve 742d97b177 Python formatting 2022-07-07 12:23:10 -07:00
Mouse Reeve 76c466ee45 Fixes cache invalidation for editions
Your reading status is shown across all editions of a work, so when you
change your status in relation to the edition you're currently reading,
it needs to invalidate the cached values for all editions of that work.
2022-07-07 12:21:24 -07:00
Mouse Reeve 076ba6f0ae Dramatically reduce cache duration for reading statuses
I originally set this for a very long timeout because this value should
be invalidated when it needs to be by the models, and if that worked
perfectly, this would reduce queries dramatically for books that show up
in ones feed frequently, but don't change status (for example, a book
you read and your friend is currently posting about). In practice, of
course, there are errors in invalidating this cache which leave this
value appearing extremely broken and it's next to impossible to fix.

This change makes each of the timeouts related to reading an hour, which
will still give performance benefit when browsing the site (especially
for loading the same book multiple times on a page), but resolve
naturally if the cache gets into a bad state.
2022-07-07 12:06:06 -07:00
Mouse Reeve 1a082b5ee8 Settings 2022-07-07 11:37:34 -07:00
Mouse Reeve 634ed50044 Tests for image generator file
This isn't what I need to be working on right now but it bugs me
immensely that the test coverage is at 89% and not 90% and this was the
lowest hanging fruit to get more coverage. Truly a me problem.
2022-07-07 10:24:19 -07:00
Mouse Reeve 0b7c8e8dc0
Merge pull request #2082 from bookwyrm-social/notifications
Notifications refactor
2022-07-07 09:34:19 -07:00
Mouse Reeve a5e761b134 Group accept and leave notification 2022-07-07 08:55:17 -07:00
Mouse Reeve fd5e513ad6 Update password reset copy so as not to reveal whether the email exists
A malicious user could use this to test which email addresses are in the
user database.
2022-07-06 19:34:00 -07:00
Mouse Reeve cded3e973d Fixes html on notifications page 2022-07-06 19:16:14 -07:00
Mouse Reeve 26a1f75e91 Group notification types by feature 2022-07-06 19:15:48 -07:00
Mouse Reeve 6a5323c6e7 More tests for more notification types 2022-07-06 19:15:35 -07:00
Mouse Reeve 96bf99034c
Merge pull request #2189 from bookwyrm-social/extraneous_page_number
Removed incorrect and duplicate page indicator from content status
2022-07-06 16:38:09 -07:00
Mouse Reeve 4bb3a7e4cd Removed incorrect and duplicate page indicator from content status 2022-07-06 15:27:48 -07:00
Mouse Reeve 04f9b9180d Adds test file for utils 2022-07-06 15:07:46 -07:00
Mouse Reeve d3023f350d Adds tests to site admin view 2022-07-06 15:04:27 -07:00
Mouse Reeve 221b5138e8 Adds merge migration 2022-07-06 14:42:58 -07:00
Mouse Reeve 5a6ef7ccd8 Merge branch 'main' into notifications 2022-07-06 14:41:15 -07:00
Mouse Reeve dda6126329 Fixes typo in group notification 2022-07-06 14:33:45 -07:00
Mouse Reeve 2cda9d5567 Test leaving a group (as opposed to being removed)
This test will catch my typo in generating the notifications
2022-07-06 14:31:38 -07:00
Mouse Reeve 079f6d304e Python formatting 2022-07-06 12:22:07 -07:00
Mouse Reeve 9fceeb3eda Adds another missing migration 2022-07-06 12:17:24 -07:00
Mouse Reeve b2a8a04092 Removes unnecessary imports 2022-07-06 11:24:04 -07:00
Mouse Reeve 9c21d1c06f Adds more automod tests 2022-07-06 11:15:30 -07:00
Mouse Reeve 7a9d320afd Expands automod view test 2022-07-06 10:52:50 -07:00
Mouse Reeve 574c1db732 Adds more templatetag tests 2022-07-06 10:52:45 -07:00
Mouse Reeve 87434fbb9d Adds a couple more edit book views tests 2022-07-06 10:38:22 -07:00
Mouse Reeve f5638c1e44 Removed unused helper function 2022-07-06 10:05:55 -07:00
Mouse Reeve f4dd14acad Adds more webfinger tests for helper functions 2022-07-06 10:05:47 -07:00
Mouse Reeve c48fbd8753 Separates reporting and report admins tests 2022-07-06 09:47:48 -07:00
Mouse Reeve b61a4ab994 Adds tests for unnotify 2022-07-06 08:51:35 -07:00
Mouse Reeve 003ef65db5 Adds missing migration 2022-07-05 18:01:10 -07:00
Mouse Reeve d4f8a5f448 Fixes links to report modals 2022-07-05 17:43:03 -07:00
Mouse Reeve 4f386e8c4e Allow reports with no associated user 2022-07-05 17:19:03 -07:00
Mouse Reeve 0be4fec167 Don't assume that link domains have a known user
This is an edge case, and they OUGHT to have a user, but if the user was
deleted for a remote link, the field won't be able to resolve and the
user will be unset.
2022-07-05 16:51:03 -07:00
Mouse Reeve 24349b0a4c Updates notification view tests 2022-07-05 16:20:27 -07:00
Mouse Reeve 37bcb031f7 Adds notification model unit tests 2022-07-05 16:03:25 -07:00
Mouse Reeve 7fe722b595 Fixes follow request notifications
Since the main way to interact with them is by approving them in the
notification, I didn't group them
2022-07-05 15:04:14 -07:00
Mouse Reeve e54c563865 Consistent use of plurals 2022-07-05 14:49:04 -07:00
Mouse Reeve 7508ae9eae Separate vars for user count and display counts 2022-07-05 14:25:42 -07:00
Mouse Reeve 8cbf8f62c7 List add notifications 2022-07-05 14:15:12 -07:00
Mouse Reeve 41f42e33ed Moves list add notification into notification model
Right now notifications are a mix of post-save signals and clauses in
the save function of the model. I'm not actually sure which is better,
but I'm moving them to signals where it's straightforward to be
consistent.
2022-07-05 13:28:09 -07:00
Mouse Reeve 736d29ea20 Updates group leave and remove notifications 2022-07-05 13:05:28 -07:00
Mouse Reeve c65381adf9 Comma format count of other users in a notification 2022-07-05 12:49:02 -07:00
Mouse Reeve 79f3382ece Updates reports notification 2022-07-05 12:48:10 -07:00
Mouse Reeve 9e94a13acf Updates mention and reply notifications 2022-07-05 12:40:41 -07:00
Mouse Reeve ee71f5df21 Updates language on boosts 2022-07-05 12:28:48 -07:00
Mouse Reeve fc375bbab4 Finishes fav status translation strings 2022-07-05 12:21:22 -07:00
Mouse Reeve 97b53d4998
Merge pull request #2180 from bookwyrm-social/set-access-level-user
Fixes setting access level to "user"
2022-07-05 12:08:30 -07:00
Mouse Reeve e2a50230c7 Fixes setting acces level to "user"
This wasn't working because "user" isn't a group, it's the absense of
any group.
2022-07-04 21:44:55 -07:00
Mouse Reeve f76d661e07 Updates templates for fav notifications 2022-07-04 21:32:53 -07:00
Mouse Reeve 971bed9942 Notification field is read, not unread
Oops
2022-07-04 21:32:35 -07:00
Mouse Reeve 801ba03aaf Keep group as a foreign key field 2022-07-04 20:32:13 -07:00
Mouse Reeve 9948dd2356 Use enums in more models 2022-07-04 20:27:56 -07:00
Mouse Reeve aeefd5a3e9 Use signal for creating group invite notification 2022-07-04 20:24:29 -07:00