- add timeout to isni API call
- use activitypub.Author dataclass instead of bespoke dict
- display isni authors as "Author of" first title in ISNI record if possible
- sensible fallbacks if title info unavailable in isni record
When an existing author is selected as a new author when editing a book,
if they have an ISNI ID recorded we check the record and augment the local
database record from the ISNI data.
Also dedupes author aliases for this feature and when adding a completely
new author.
If an existing author has an isni on record and it matches an author from the isni api call,
display the isni short description to aid with identifying the appropriate author.
Check the authors suggested from the local DB for a matching ISNI when pulling authors from ISNI.
i.e. we do not want to suggest the same author twice when we *know* it is the same author.
If a user selects an author pulled from the ISNI service when editing a book, use any relevant data from ISNI to populate the new author record.
This includes
- bio
- aliases
- isni
- wikipedia url
- viaf
Whoops, forgot to add this functionality earlier.
- allow owner to delete a group
- change all group lists to closed curation with group=False when group deleted
- fix form details not appearing in group member search view
- fix query term appearing in main search box when searching for new members
- direct request user back to the group rather than the user when adding a user to a group
Use .save() twice, but with broadcast=False on the second update. This is more efficient than doing a query and update() and avoids the duplicate AP broadcast.
This reverts commit 41f27a4a66.
I forgot that update() can only be done on a query result, not on an object, so we will need to go back to querying in order to update rather than saving.