Mike Colagrosso
cae8271ecb
Set ReviewerUserId only if Status changed
...
For non-admin reviewers (i.e., without `CanReviewOwnArtwork`), the `PATCH` form
has a hidden element with the artwork's current `Status`. If the reviewer
updates the `EbookUrl` and not `Status`, then don't record the reviewer's
`ReviewerUserId` because they didn't review or change the `Status`.
Side note: Sending the `PATCH` form an invalid `Status` will result in a
validation error, but that validation error was hard to read because it was the
wrong exception type. This commit adds a new `InvalidArtworkStatusException` to
fix that.
Fixes #433
2024-12-13 09:06:57 -06:00
Alex Cabal
05ac7884e9
Convert artwork filters to enums
2024-11-15 23:11:01 -06:00
Alex Cabal
009505d182
Set artwork updated timestamp on save
2024-11-12 11:22:04 -06:00
Alex Cabal
f8d73ebaf1
Fix variable initializaion if museum is not found
2024-11-11 16:48:08 -06:00
Alex Cabal
b7b63a4be5
Refactor functions out of Library
2024-11-10 23:05:31 -06:00
Alex Cabal
acb30b897c
Add PropertyFromHttp trait and update codebase to use new pattern
2024-11-10 22:23:43 -06:00
Alex Cabal
be5574eaec
Move enums into their own namespace
2024-11-08 16:34:21 -06:00
Mike Colagrosso
0138b19000
Make Artwork robust to EbookNotFoundException
...
This probably means the Ebook is unreleased, but the artwork page can still show the EbookUrl.
Found this error during testing of the ebook DB here:
https://github.com/standardebooks/web/pull/401#issuecomment-2450588117
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4653b15288
Get ebook from DB for artworks
2024-11-04 13:16:56 -06:00
Alex Cabal
eec79712fc
Use a NOW constant instead of new DateTimeImmutable objects, and tweak how some donation drive dates work
2024-10-15 22:21:12 -05:00
Alex Cabal
c51fe594bf
Fix artwork validation logic
2024-06-03 13:14:37 -05:00
Alex Cabal
a9eab552ab
Flesh out some PHPDocs, and consistently name enums
2024-05-14 15:40:56 -05:00
Alex Cabal
acb6b2949f
Use static class names instead of strings when getting objects from the DB
2024-05-13 14:49:28 -05:00
Alex Cabal
110c091a7b
Define some constants to make HTTP input code less wordy
2024-05-12 12:29:30 -05:00
Alex Cabal
ee7c8343dd
Convert some constants to enums
2024-05-11 21:51:06 -05:00
Alex Cabal
703e1a7a03
Continue improving type hints
2024-05-10 23:38:57 -05:00
Alex Cabal
eb376c87bd
Remove error suppression that is no longer necessary
2024-05-10 21:08:32 -05:00
Alex Cabal
c4c8e7353f
Enable strict exception type hint checking in PHPStan and add exception type hints
2024-05-10 20:47:36 -05:00
Alex Cabal
41dd9db4aa
Change Accessor from class to trait
2024-05-04 13:07:03 -05:00
Alex Cabal
f4613aa9af
Fix docblocks
2024-05-01 23:56:52 -05:00
Alex Cabal
50efeb05d1
Style tweaks for getters and add more type hinting
2024-04-30 22:45:20 -05:00
Alex Cabal
7eaa400ae3
Type tweaks for exceptions and some validation
2024-04-25 20:40:49 -05:00
Alex Cabal
5b3f8f7b77
Add support for filling backed enum types in the DB ORM layer, and cleanup some formatting issues
2024-04-25 11:57:02 -05:00
Alex Cabal
40932332cb
Remove temporary fixup tag from artworks validation
2024-04-15 12:21:35 -05:00
Alex Cabal
e55fecaaa2
Switch from DateTime to DateTimeImmutable across codebase
2024-04-13 14:05:14 -05:00
Alex Cabal
debd0c31ae
Remove 'todo' tag processing
2024-04-05 14:00:15 -05:00
Alex Cabal
e4514e7882
Normalize non-.com Google TLDs in artwork page scans
2024-03-10 14:52:07 -05:00
Alex Cabal
350f65532f
Rename PropertiesBase to more accurate Accessor
2024-02-24 13:58:24 -06:00
Alex Cabal
90dcef216f
Force single-page view in Hathi Trust URLs
2024-02-12 13:58:48 -06:00
Mike Colagrosso
d6006528f2
Update the ebook URL validation error message
2024-02-11 13:48:54 -06:00
Alex Cabal
1bc946f7b5
Number format image dimensions in artwork listing
2024-02-09 12:17:44 -06:00
Alex Cabal
6da7f948b7
Add temporary support for the 'fixup' tag for cleaning up legacy artwork entries
2024-02-05 10:20:45 -06:00
Mike Colagrosso
f50fab37d3
Minor comment fixes
...
Fix one typo, remove a docstring meant for an old function
2024-01-30 11:10:05 -06:00
Alex Cabal
801b5f524a
Add special 'query-ebook-url' parameter to /artworks to get covers matching exactly the ebook URL
2024-01-26 12:05:34 -06:00
Alex Cabal
cbf87487eb
Use ebook URL and not filesystem slug to identify ebooks in artworks
2024-01-23 23:11:30 -06:00
Alex Cabal
770c010025
Add todo comment
2024-01-23 14:53:27 -06:00
Mike Colagrosso
d8360b28ca
Replace PHP filtering with pure SQL ( #323 )
...
* Replace PHP filtering with pure SQL
2024-01-21 14:08:46 -06:00
Alex Cabal
b96f7684ec
Fix artwork file upload logic
2024-01-19 11:55:43 -06:00
Alex Cabal
fe03f01393
Some more minor fixes, and checks for the temporary 'todo' tag
2024-01-18 21:31:36 -06:00
Alex Cabal
ca3fc6dbfd
Refactor HttpInput::Str and rename some exceptions for consistency
2024-01-18 11:21:05 -06:00
Alex Cabal
2b5f4f55a2
Style tweaks to artworks DB
2024-01-18 10:50:14 -06:00
Alex Cabal
c92ebb43c7
Make URL normalization method static to match museum method
2024-01-17 16:33:24 -06:00
Alex Cabal
f0bdd5596f
Rename ArtistAlternateSpellings to ArtistAlternateNames
2024-01-17 16:32:57 -06:00
Alex Cabal
5ef6d3aef8
Artwork db code tweaks, also remove 'in use' as a status
2024-01-17 16:04:11 -06:00
Mike Colagrosso
986411e684
Add comment about handling uploaded file
2024-01-17 12:12:25 -06:00
Mike Colagrosso
31d927ce2b
Don't set the Updated field in the Artists table
...
The DB does it automatically
2024-01-17 12:12:25 -06:00
Mike Colagrosso
60c6142688
Delete unreferenced artists after updating artwork
...
Also clean up ArtistAlternateSpellings at the same time we delete an artist
2024-01-17 12:12:25 -06:00
Mike Colagrosso
8b62a9130c
Add ?ts=<updated-timestamp>
to ImageUrl and ThumbUrl
...
Also add new ImageFsPath and ThumbFsPath properties for filesystem operations since they can't build on the Url properties.
2024-01-17 12:12:25 -06:00
Mike Colagrosso
87ce048a0e
Handle HTTP PUT methods and update Artwork::Save() to match how Artwork::Create() handles images and thumbnails
2024-01-17 12:12:25 -06:00
Mike Colagrosso
987de26b73
Artwork: Add EditUrl property on the artwork page
2024-01-17 12:12:25 -06:00