Commit graph

6876 commits

Author SHA1 Message Date
Mouse Reeve 61a6ee29d8
Merge pull request #3224 from hughrun/move-fix
Pass correct user id in Move notification
2024-01-17 14:25:28 -08:00
Mouse Reeve a585321ef9
Merge pull request #3226 from hughrun/disable-exports
Disable user exports
2024-01-17 14:23:29 -08:00
Hugh Rundle b990d9ccd8
Pass correct user id in Move notification
We were passing the *requesting* user's moved_to value to the Move notification template, instead of the id of the user that they are being notified about.
Additionally, the id_to_username template tag had no fallback for if the user_id is None.

This resolves both problems and removes an unnecessary space in a template for when the logged in user made the move.

Fixes #3196
2024-01-17 21:06:04 +11:00
Hugh Rundle d640e4ac96
disable user exports by default
- new setting to enable user exports defaults to False
- add setting to enable and disable user exports
- do not allow user exports when using s3 storage
- do not serve non-image files from /images/ (requires update to nginx settings)
- increase default file upload limit to 100MB to enable user exports to be imported (can be changed in .env)
2024-01-16 21:32:13 +11:00
Carlos Camara ddbda3ab9c Fix test_export 2024-01-16 08:12:59 +00:00
bSolt 76a3874662 add bulma classes to fix awkward spacing 2024-01-15 23:25:52 -07:00
Rohan 8144507893
Merge branch 'main' into issue-3187 2024-01-15 17:25:36 +05:30
Rohan Sureshkumar 70adf878e8 Merge branch 'issue-3187' of https://github.com/rsk2/bookwyrm into issue-3187 2024-01-15 17:23:17 +05:30
Rohan Sureshkumar 5ef104b802 Issue-3187: addressing review comments 2024-01-15 17:22:33 +05:30
Adeodato Simó eb13eb9882
Invalidate active_shelf when switching editions 2024-01-13 19:00:57 +01:00
Carlos Camara 854eb36618 Export bookshelves and review date 2024-01-13 16:47:51 +00:00
Hugh Rundle 5d13bf8e49
Merge branch 'main' into 2965_export_readthrough 2024-01-12 16:12:01 +11:00
Rohan 6dc95a82d6
Merge branch 'bookwyrm-social:main' into issue-3187 2024-01-09 17:06:22 +05:30
Rohan Sureshkumar 1a682753c0 Issue-3187: changes 2024-01-09 15:31:05 +05:30
Mouse Reeve 83ff880603
Revert "Don't show notification for user follow request if the user is inactive" 2024-01-07 08:31:48 -08:00
Carlos Camara ce18d343e8 Fix pylint error and code format 2024-01-06 09:55:39 +01:00
Carlos Camara 93cab480d6 Code format 2024-01-06 09:50:14 +01:00
Wesley Aptekar-Cassels 6cd2c91135 Allow page numbers to be text, instead of integers.
Fixes: #2640
2024-01-04 19:09:39 -05:00
Carlos Camara c2622a510c Change else statement to None vs "" 2024-01-04 11:40:40 +01:00
Carlos Camara ebcc81dd73 Revert changes to default book
These changes were introduced by mistake in my previous commit.
2024-01-04 11:33:26 +01:00
Carlos Camara 30c9ec9611 Prevent lint error
See @hughrun 's explanation https://github.com/bookwyrm-social/bookwyrm/pull/3189#issuecomment-1876145423
2024-01-04 11:28:17 +01:00
Carlos Camara 51cb70d344 Change readhtrough order 2024-01-04 11:27:17 +01:00
Carlos Camara 9acb5f66fe Convert DateTime to date 2024-01-04 11:26:44 +01:00
Carlos Camara ae5950f187 Add readthrough fields to text_export.py 2024-01-04 11:10:38 +01:00
Carlos Camara 766a2163dd Code formatting 2024-01-03 20:41:31 +01:00
Carlos Camara db8c686dd3 Include book Readtrhough in the csv export 2024-01-03 15:43:15 +01:00
Mouse Reeve 597378bb78
Merge pull request #3183 from bookwyrm-social/erase_user_command
Adds management command to clear all deleted user data
2024-01-02 20:13:03 -08:00
Mouse Reeve 9c3e6384f8
Merge pull request #3118 from rosschapman/let-a-user-search-within-their-books
Let a user search books within their shelves
2024-01-02 18:37:33 -08:00
Mouse Reeve 01db77a745 Adds success message 2024-01-02 18:29:55 -08:00
Mouse Reeve d287581620 Fixes html validation error 2024-01-02 13:31:18 -08:00
Mouse Reeve 193a1c7d54 updates wording and fixes get or create logic 2024-01-02 13:28:25 -08:00
Mouse Reeve 8be9e91d21 Re-use schedules rather than creating new ones 2024-01-02 13:18:26 -08:00
Mouse Reeve f36af42f41 Adds view to see scheduled tasks 2024-01-02 13:05:44 -08:00
Mouse Reeve 5509941aa4 Adds schedule-able task to check for version updates 2024-01-02 13:05:26 -08:00
Mouse Reeve d6f7f76c4d Removes outdated/unused version and updating code
I had the bright idea of creating this update script but it doesn't work
and hasn't been maintained, so it's just sitting there causing confusing
and requiring weird things to exist in other places.

Now, the unused `version` field can be removed and I can scrap the
management command for getting versions.
2024-01-02 11:37:01 -08:00
Mouse Reeve 381490e31d Adds management command to clear all deleted user data 2024-01-02 10:50:46 -08:00
Mouse Reeve 2a85378456 Removes part of migration causing upgrade issues 2024-01-02 09:57:41 -08:00
Mouse Reeve 913a19c8f0 Formats migration file 2024-01-01 19:33:49 -08:00
Mouse Reeve f72ada4780 Updates javascript cache buster just in case 2024-01-01 19:29:43 -08:00
Mouse Reeve 86d79f537a Adds merge migration 2024-01-01 19:29:24 -08:00
Mouse Reeve fb16806afe
Merge pull request #3177 from dato/naturalday_partial_fixes
Adjustments to naturalday_partial
2024-01-01 19:16:16 -08:00
Mouse Reeve ffeca9f908
Merge pull request #3150 from dato/get_representative_atomic
Make get_representative() atomic
2024-01-01 19:14:19 -08:00
Mouse Reeve ca79cb1ca7
Merge pull request #3054 from bookwyrm-social/user-migration
User migration via export file
2024-01-01 19:04:43 -08:00
Adeodato Simó 4711b3bc19
naturalday_partial: simplify/refactor 2024-01-01 18:36:31 +01:00
Adeodato Simó 0d908b594c
naturalday_partial: do not naturalize dates with missing parts 2024-01-01 18:36:31 +01:00
Adeodato Simó 0e3936cb61
naturalday_partial: do naturalize date and datetime objects 2024-01-01 18:36:30 +01:00
Mouse Reeve 47cdc14bc0
Update bookwyrm/migrations/0189_alter_user_preferred_language.py
Co-authored-by: Demid <grrrr@protonmail.com>
2023-12-17 06:54:39 -08:00
Mouse Reeve 430e4eb90d
Update bookwyrm/settings.py
Co-authored-by: Demid <grrrr@protonmail.com>
2023-12-17 06:52:49 -08:00
Ross Chapman b728bb4323 Uses block trans 2023-12-16 12:05:35 -08:00
Ross Chapman a4172214d1 Updates size of filters panel label 2023-12-15 13:17:23 -08:00
Ross Chapman fb36958444 Removes unused variable 2023-12-14 13:47:51 -08:00
Ross Chapman 44d21d1ba4 Updates view logic 2023-12-14 13:04:45 -08:00
Ross Chapman bd3acdbf31 Puts string in template 2023-12-14 12:33:27 -08:00
Ross Chapman 4a4046a704 Shows message if empty and renames "search" to "filter" 2023-12-14 11:30:01 -08:00
Ross Chapman 7cca199a11 Merge branch 'main' into let-a-user-search-within-their-books 2023-12-14 10:25:05 -08:00
Hugh Rundle 7fcadb1d4d
fix upsert_statuses
- remote_id is now updated on import of statuses
- statuses cannot be imported unless source has target listed in alsoKnownAs or movedTo
- add alert boxes to import and export screens advising of the above
- update tests accordingly
2023-12-13 20:55:38 +11:00
Mouse Reeve 5c0e159d43 Adds Ukranian locale and updates locales 2023-12-12 15:42:40 -08:00
Mouse Reeve 8bb5a664c5 Fixes incorrect translation and display of moved user page 2023-12-11 20:12:14 -08:00
Mouse Reeve e032e5491d
Merge pull request #3144 from villasv/patch-1
Update page formatter on ordered collection
2023-12-11 19:54:24 -08:00
Mouse Reeve 4bfa1ca5b8
Merge pull request #3124 from hughrun/softblock
Allow removing followers and fix follow rejections
2023-12-11 19:49:45 -08:00
Adeodato Simó 13374917f3
Make get_representative() atomic 2023-12-11 20:48:32 -03:00
Mouse Reeve 799f842115
Merge pull request #3146 from dato/setup_test_data
Faster tests with setUpTestData
2023-12-11 15:45:40 -08:00
Adeodato Simó aa67f598dd
Explicitly set doctype to html5 when invoking tidy_document()
Many tests break without this on newer versions of html-tidy.
2023-12-11 19:40:48 -03:00
Adeodato Simó 9d502f5ee2
Use setUpTestData() to speed up tests
Pylint's `bad-classmethod-argument` is disabled for each definition
to avoid rewriting the method bodies just to rename `self` → `cls`.
This can be done gradually, as the setUpTestData methods are modified
along the way.
2023-12-11 19:40:30 -03:00
Mouse Reeve 198c0037c6
Merge pull request #3121 from hughrun/413
Display custom page on 413 errors
2023-12-09 08:31:25 -08:00
Mouse Reeve e5d292919c
Merge pull request #3143 from dato/test_ordered_collection_use_bulk_create
Use bulk_create to test ordered collections
2023-12-09 08:30:23 -08:00
Mouse Reeve 029b438355 Clarify import/export of book vs user
I think this wording is a little clearer
2023-12-09 08:18:31 -08:00
Mouse Reeve dd72013225 Small fixes for notifications
Adds a link in the text of the notification, and fixes references to
notification type in the model
2023-12-09 08:09:22 -08:00
Ross Chapman aac8aa1adf Fixes formatting 2023-12-06 11:36:15 -08:00
Ross Chapman 0f6e567b21 Clean up 2023-12-05 19:49:38 -08:00
Ross Chapman c65e165aeb Hides filter if shelf empty 2023-12-05 19:37:29 -08:00
Ross Chapman 979162da10 Uses filters, fixes for any shelf 2023-12-05 19:33:59 -08:00
Ross Chapman b27ed847d5 Fixes result set passed to template 2023-12-05 16:36:58 -08:00
Ross Chapman d93da4e86d Checkpoint 2023-12-05 15:46:08 -08:00
Victor Villas 8fd05004ea
Update page formatter on ordered collection 2023-12-03 20:03:33 -08:00
Adeodato Simó 5384e4c470
Use bulk_create to test ordered collections 2023-11-30 15:58:48 -03:00
Matt Lehrer 7f55495287 Merge branch 'move-ratings-and-reviews-when-switching-editions' of github.com:mattlehrer/bookwyrm into move-ratings-and-reviews-when-switching-editions 2023-11-30 11:15:33 +01:00
Matt Lehrer 31a78a5c9e linted 2023-11-30 11:13:11 +01:00
Mouse Reeve 193a36390b
Merge pull request #3083 from hughrun/file-resubmit
use bw-file-resubmit to retain images during validation checks
2023-11-29 15:36:33 -08:00
Adeodato Simó d6eb390cee
Add test that forces book_authors_search_vector_trigger to execute 2023-11-26 15:59:17 -03:00
Adeodato Simó b5805accac
Minor improvements to bookwyrm_book trigger code
- do not COALESCE columns that cannot be NULL
- do not bring bookwyrm_book to author names JOIN
- add comments documenting the four steps
2023-11-25 21:49:15 -03:00
Adeodato Simó bbfbd1e97a
Add tests for trigger code (i.e. how search_vector is computed) 2023-11-25 20:54:49 -03:00
Adeodato Simó 9bcb5b80ea
Further simplify bookwyrm_author trigger 2023-11-25 18:13:40 -03:00
Adeodato Simó 8df408e07e
Define search_vector_trigger via Book.Meta.triggers 2023-11-25 17:02:54 -03:00
Adeodato Simó bcb3a343d4
Fix JOIN in author_search_vector_trigger, add missing WHERE clause 2023-11-25 16:23:21 -03:00
Adeodato Simó 416a6caf2d
Define author_search_vector_trigger via Author.Meta.triggers
Previously, triggers lived only in a particular migration file. With
this change, code for the triggers resides in the model, and their
lifecycle is managed through normal Django migrations.
2023-11-25 16:17:51 -03:00
Adeodato Simó 44ef928c3c
Alter object row IDs to force test failure in original code 2023-11-25 16:11:01 -03:00
Adeodato Simó e4d688665c
Remove index for author.search_vector, which is never used 2023-11-24 22:43:12 -03:00
Adeodato Simó 0299f2e235
Add functional tests for search_vector triggers
As metadata changes, search continues to work.
2023-11-24 22:28:41 -03:00
Adeodato Simó c997d2d44a
Add test to assert distinct() clause
Also, tweak other `search_title_author()` tests to verify ordering by
edition rank.
2023-11-24 02:28:27 -03:00
Adeodato Simó e322d3cae1
Do not create a set for already-distinct query result 2023-11-23 23:01:56 -03:00
Hugh Rundle 99a9a64708
notification type migration after merge 2023-11-24 06:50:32 +11:00
Hugh Rundle 72c1c6ee3d
merge migrations and lint 2023-11-22 21:29:54 +11:00
Hugh Rundle 0276c15948
Merge branch 'main' into user-migration 2023-11-22 21:00:04 +11:00
Hugh Rundle c6dea2523c
Merge branch 'main' into softblock 2023-11-22 20:06:02 +11:00
Hugh Rundle 6ba7418121
improve tests and minor cleanup 2023-11-22 20:04:17 +11:00
Hugh Rundle 8ed4a997f8
add comment back to bookwyrm.js 2023-11-21 20:20:11 +11:00
Hugh Rundle 2c9ebba5d7
fix reject PR
- rationalise activitypub.Reject and fix model being undefined
- fix not being able to follow users from followers page: 'delete' option now in user_options dropdown
- revert bookwyrm.js
- fix delete_follow_request deleting instead of rejecting
- add user id to 'remove-follow' path
2023-11-21 20:13:56 +11:00
Mouse Reeve 7c2de92df3
Merge pull request #3128 from bookwyrm-social/test-themes
Give admins option to test if a theme loads correctly
2023-11-20 12:26:09 -08:00
Mouse Reeve b6325da9ab
Update bookwyrm/tests/views/admin/test_themes.py
Co-authored-by: Adeodato Simó <73768+dato@users.noreply.github.com>
2023-11-20 10:37:12 -08:00
Mouse Reeve 179dbd75aa Adds tests 2023-11-20 10:23:59 -08:00
Mouse Reeve b022b5a1b7
Merge pull request #3120 from hughrun/permission-required
403 handler
2023-11-20 10:06:24 -08:00
Mouse Reeve c2742b4d80 Updates migrations 2023-11-20 10:02:49 -08:00
Mouse Reeve cfe42305be Merge branch 'main' into test-themes 2023-11-20 10:02:23 -08:00
Mouse Reeve d828ba0bc6 Give admins option to test if a theme loads correctly
If a theme is uploaded incorrectly or has errors in it, users can still
select the theme but it will cause a 500 error on every page, making the
app unusable and also making it impossible for them to switch to a
functional theme.

A better fix would be to fail gracefully, but in lieu of that, this will
at least let admins confirm if a theme is broken safely.
2023-11-20 09:56:51 -08:00
Matt Lehrer 6933f70af3
Merge branch 'bookwyrm-social:main' into move-ratings-and-reviews-when-switching-editions 2023-11-20 09:31:45 +01:00
Mouse Reeve d94b27b723
Merge branch 'main' into user-migration 2023-11-19 19:18:22 -08:00
Mouse Reeve 3d9f339bd5
Merge pull request #3059 from dato/stable_dates_v2
Partial, stable dates with automatic precision field
2023-11-19 19:17:49 -08:00
Mouse Reeve 1d5cc83347
Merge branch 'main' into permission-required 2023-11-19 19:12:32 -08:00
Mouse Reeve d8018cb937
Merge pull request #3125 from hughrun/instance-actor
hide instance actor from users
2023-11-19 19:11:17 -08:00
Hugh Rundle 446854ccf0
fix saved list pagination
The SavedLists view was passing through an incorrect "path" value. Now it's not.
2023-11-20 12:45:39 +11:00
Hugh Rundle f011f2bce9
hide instance actor from users
The Instance Actor is required for signing http GET requests but is not a "user" and should not be otherwise interacted with.

- hides instance actor profile page, returning a 404
- excludes instance actor from search results and suggestions including in Getting Started
- replaces link to user profile in user admin page with a brief message box
- replaces panel in user admin page that allows for user to be suspended or removed with a message explaining why that is a very bad idea

fixes #3119
2023-11-20 12:17:52 +11:00
Adeodato Simó ff1f239a57
Use typing_extensions.Self instead of TypeVar 2023-11-19 15:10:14 -03:00
Adeodato Simó 6aaff28c13
Accept argument in naturalday_partial, downcast format if necessary 2023-11-19 15:10:14 -03:00
Adeodato Simó aaea1b1b9e
Add tests for naturalday_partial tag 2023-11-19 15:10:13 -03:00
Adeodato Simó 8dbfba17d6
Merge from 'main' into stable_dates 2023-11-19 15:09:52 -03:00
Hugh Rundle 2ba0e3d7ff
Allow removing followers and fix follow rejections
* adds the ability to remove a user from your followers list
* fixes verbs.Reject to process reject activities for previously accepted follows in both directions

fixes #2635
2023-11-19 20:03:48 +11:00
Hugh Rundle a7fcd898c2
middleware for displaying 413 page
When a RequestDataTooBig exception is thrown, users are largely in the dark about what happened and how it can be fixed.
This commit resolves this by inserting middleware to redirect the request to a custom 413 error page.

This exception is thrown when DATA_UPLOAD_MAX_MEMORY_SIZE is exceeded. The default value is 2.5MB.

Fixes #2340
Fixes #2633
2023-11-18 22:10:36 +11:00
Hugh Rundle 97757fa1ee
fix blocktrans 2023-11-18 15:58:01 +11:00
Hugh Rundle a56ba0ce1c
always return 403 to POST requests
- POST requests need to receive a 403 error code
- minor wording updates
2023-11-18 13:41:52 +11:00
Hugh Rundle 8ddafafa84
make naming consistent 2023-11-18 12:40:36 +11:00
Hugh Rundle d620bd7350
add handler for 403s
fixes #3104
2023-11-18 12:36:03 +11:00
Matt Lehrer f4da9fbf34 remove unnecessary loop.
ReviewRatings are a subclass and are included in the models.Review block
2023-11-16 20:37:46 +01:00
Matt Lehrer bf81192d73
Merge branch 'main' into move-ratings-and-reviews-when-switching-editions 2023-11-16 10:49:05 +01:00
Matt Lehrer bd920a4630 move reviews to new edition 2023-11-16 10:38:45 +01:00
Matt Lehrer 7684101f15 move ratings to new edition 2023-11-16 10:38:41 +01:00
Mouse Reeve 1a7a843dea Re-creates migrations and removes failing test
I think the test was failing because it was extremely brittle, not
because of anything wrong with the code itself.
2023-11-15 17:08:15 -08:00
Mouse Reeve 62f985edb8 Merge branch 'main' into user-migration 2023-11-15 16:46:18 -08:00
Hugh Rundle 54ec5e2ae0
Fix migrations properly (#3116)
* Revert "fix migrations and linting"
This reverts commit 53e410627f.
* really fix migrations
2023-11-15 19:54:16 +11:00
Adeodato Simó 01d4381898
Create notifications for incoming invite requests
Closes: #2066
2023-11-14 07:09:04 -03:00
Adeodato Simó b81170c149
Add missing migration from #3099 2023-11-13 19:56:00 -03:00
Hugh Rundle bbc78f03ae
fix DB migrations (#3111)
fix migrations and linting
2023-11-14 07:21:27 +11:00
Hugh Rundle d5762f1d52
Merge branch 'main' into user-migration 2023-11-13 21:17:07 +11:00
Hugh Rundle 891b72c79c
update user export file to use ActivityPub objects where possible. (#3109)
* add more context to user export page
* fix BookData fields wrong for files
* use to_activity and to_model where possible
* fixes for import and export
- use AP JSON where possible
- minor template wording updates
* import fixes and updates tests
* minor cleanup
* remove todo for mastodon
2023-11-13 21:14:03 +11:00
Hugh Rundle 1bedcdaebd
Merge branch 'main' into file-resubmit 2023-11-11 13:14:52 +11:00
Hugh Rundle f3fc5f6179
add file_resubmit to DUMMY caches settings 2023-11-11 12:45:04 +11:00
Adeodato Simó 99a9dbe5f4
Create NotificationType as class, not through API
This way, we need not list every value again to create the enum.

N.B.: enum values are now accessed as `models.NotificationType.FOO`,
instead of `models.Notification.FOO`.
2023-11-09 22:43:36 -03:00
Adeodato Simó be9d92b1c2
Remove last references to "seal" in partial_date.py and migration 2023-11-09 14:00:45 -03:00
Adeodato Simó edfa6b18a1
Rename utils.sealed_date module (and tests) to utils.partial_date 2023-11-09 14:00:44 -03:00
Adeodato Simó fa80aa54a9
SealedDate renames, pt. 2
• SealedDate -> PartialDate
• MonthSeal  -> MonthParts
• YearSeal   -> YearParts
2023-11-09 14:00:44 -03:00
Adeodato Simó 0e4c5ed439
SealedDate renames, pt. 1
• SealedDateField      -> PartialDateModel
• SealedDateFormField  -> PartialDateFormField
• SealedDateDescriptor -> PartialDateDescriptor
2023-11-09 14:00:44 -03:00
Adeodato Simó c120fa8c87
Rename: templatetags/{sealed_dates => date_ext}.py 2023-11-09 14:00:44 -03:00
Adeodato Simó 2bb7652dfe
Update partial date migration to latest main 2023-11-09 14:00:22 -03:00
Adeodato Simó e928027e16
Merge from main for up-to-date migrations 2023-11-09 14:00:14 -03:00
Adeodato Simó dccac11527
PartialDateField: allow incoming dates without timezone 2023-11-09 13:04:09 -03:00
Mouse Reeve 44b14f4933 Fixes workflow errors 2023-11-08 16:00:10 -08:00
Mouse Reeve 0bb4b0d71d Changes to how images are serialized
I'm just going to see if any tests fail?
2023-11-08 15:24:47 -08:00
Hugh Rundle 2248206a66
fix missing types in BookData file fields
activitypub.BookData includes fields for 'files' and 'fileLinks'.
This is a problem because BookData is inherited by Book and Author, neither of which have 'files' as a field in the main model.
Additionally, Author doesn't have a value for 'file_links'.
When serializing to JSON, BookData therefore throws 'TypeError: Object of type _MISSING_TYPE is not JSON serializable'

This fixes the problem by removing links and moving fileLinks to activitypub.Book.
2023-11-08 18:30:49 +11:00
Hugh Rundle 0a5e1048ce
Add more info to user export page (#3093)
- match page title to menu
- change description on IMPORT page from 'readthroughs' to 'reading history'
- provide more information on export page about what is and is not included.
2023-11-07 12:09:06 +11:00
Mouse Reeve 9ddd631549
Merge pull request #3089 from bookwyrm-social/notification-and-download-links
UI changes for notification and download link in import/export flow
2023-11-06 16:31:09 -08:00