Staff info is using createdAt field to store owner's name
Description
CSP Request Details
CSP Rejection Details
Potential Workaround
Attachments
- 24 Mar 2023, 09:17 AM
- 31 Jan 2023, 04:15 PM
defines
has to be done before
has to be finished together with
relates to
Checklist
hideTestRail: Results
Activity
Oleksandr Hrusha March 24, 2023 at 12:36 PM
Hello @Stephanie Buck could you please confirm fix?
Oleksandr Hrusha March 24, 2023 at 9:17 AM
Tested on snapshot. Work as expected. See attachment:
Brooks Travis February 16, 2023 at 8:09 PM
@Oleksandr Vidinieiev Sorry for missing the notifications on this. I meant just pick a service point UUID to use for each tenant. That would probably need to be coordinated for each one. I'm not sure what I was thinking with the second bullet. There should only be one default service point per user; though it sounds like we have combination of different values in these fields.
Oleksandr Vidinieiev February 6, 2023 at 2:43 PM
Replace non-UUID values in createdAt with a default service point ID value
@Brooks Travis what do you mean by "default service point"?
Alexander Kurash February 6, 2023 at 11:04 AM
@Brooks Travis It's actually worse than I thought. After @Demian Katz mentioned automated fees/fines ("Overdue fine", "Lost item fee", "Lost item processing fee"), I've checked mod-circulation code which creates automated fees/fines and it actually puts service point names into the createdAt field. This means that we have 3 different kinds of values in this field:
Fee/fine owner names (Staff info actions)
Service point name (automated fees/fine charge actions - "Overdue fine", "Lost item fee", "Lost item processing fee")
Service point ID
Overview:
Steps to Reproduce:
Create fee/fine
Navigate to fee/fine details page
Create staff info
Expected Results:
Service point ID should be stored in feefineaction's createdAt field.
Actual Results:
Owner's name is written to createdAt field. Example:
{ "dateAction" : "2021-07-19T08:56:47.000+00:00", "typeAction" : "Staff info only", "comments" : "STAFF : Info for staff", "amountAction" : 0.0, "balance" : 86.0, "transactionInformation" : "", "createdAt" : "test-owner", "source" : "ADMINISTRATOR, DIKU", "accountId" : "2a53c7fe-0797-485c-801f-2aee8ed9ab4e", "userId" : "2205005b-ca51-4a04-87fd-938eefa8f6de", "id" : "57c3e9f8-6c54-49d5-a83c-beaf52340aee" }
Additional Information:
This bug is affecting other parts of fee/fine functionality:
UUID validation is being added to the ID fields in all mod-feesfines JSON schemas (https://folio-org.atlassian.net/browse/MODFEE-98#icft=MODFEE-98). It can't be added to createdAt field currently because Staff info functionality will stop working.
Financial transactions details report (MODFEE-179) supports filtering by service point (createdAt field). Obviously, it can't filter Staff info records correctly.
What makes this bug even worse, it's unclear what should be done about the historical data that's already stored in the database.