Koha/t/db_dependent
Martin Renvoize ed6791d64e
Bug 29523: Add redaction for inaccessible objects
This patch switches from removing inaccessible items from the responses
to instead redacting fields in innaccessible responses.

This allows for embed traversal and keeps counts etc correct but also
hides the data we want to hide.

We add support for an 'unredact_list' method at the Koha::* class level
allowing for individual classes to specify which fields they wish to
expose to restricted users regardless of their restriction.

It is to be used in combination with the is_accessible method introduced
earlier in this patchset which is used to denote whether the current
user should be allowed to see the full record or only a subset of it as
defined in the unredacted_list.

We undefine any fields not listed in the unredact_list for the API
response. This has the effect of still returning the full object of
keys, but setting most fields to a JSON null.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-27 16:40:46 -03:00
..
Acquisition Bug 34845: Fix GetBasketGroupAsCSV.t is CSVDelimiter is not ',' 2023-09-22 10:52:43 -03:00
api/v1 Bug 29523: Remove the FIXME 2023-10-27 16:40:45 -03:00
Auth
AuthoritiesMarc
Authority Bug 19693: Add test sub to Merge.t 2022-10-24 17:20:25 -03:00
Biblio Bug 34549: Strip non-XML chars during TransformHtmlToMarc 2023-10-09 11:41:32 -03:00
Budgets Bug 27550: Add unit test for CloneBudgetHierarchy 2022-09-22 08:18:43 -03:00
Circulation Bug 25560: Unit tests 2023-10-10 10:53:58 -03:00
CourseReserves Bug 32351: Fix CourseItems.t 2022-11-30 15:58:18 -03:00
Creators
cronjobs
data Bug 29697: Fix t/db_dependent/Search.t 2022-07-25 10:16:48 -03:00
Exporter Bug 25503: Add failing test for _get_biblio_for_export 2023-05-10 15:26:19 -03:00
Holds Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Illrequest Bug 34842: Fix Illrequest/Config.t if DB upgraded twice 2023-10-03 08:51:12 -04:00
Items Bug 31196: Remove 'default_value_for_mod_marc-' clear_from_cache calls 2022-10-25 11:16:57 -03:00
Koha Bug 29523: Add redaction for inaccessible objects 2023-10-27 16:40:46 -03:00
Labels Bug 10762: (QA follow-up) Perltidy 2023-10-25 10:35:31 -03:00
LDAP
Letters Bug 31383: Adjust and add tests 2023-10-20 14:43:57 -03:00
Members Bug 33947: Remove GetAllIssues 2023-10-20 11:03:03 -03:00
misc/translator
OAI Bug 29697: Replace some missing occurrences 2022-07-25 09:30:30 -03:00
Patron Bug 16223: Tidy 2023-10-11 12:13:12 -03:00
Record Bug 33045: Fix shebang of marcrecord2csv.t 2023-09-15 11:57:17 -03:00
Reports Bug 26669: Last Run if report not always updated 2022-04-04 16:23:46 +02:00
Reserves Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Search
selenium Bug 27634: Fix self_registration.t 2023-10-03 09:24:45 -04:00
Serials Bug 23775: Claiming a serial issue doesn't create the next one 2023-07-03 10:35:09 -03:00
SIP Bug 15504: Fix tests count 2023-10-24 10:05:25 -03:00
Template/Plugin Bug 31383: (bug 29691 follow-up) Remove get_opac_news_by_id 2023-10-23 10:45:34 -03:00
Utils Bug 30063: Remove occurrences of C4::Utils::DataTables::Members 2022-04-04 09:47:01 +02:00
www Bug 33020: (QA follow-up) POD and chmod 2023-02-27 11:33:50 -03:00
00-strict.t
Accounts.t Bug 34912: Add 14 hours to 1970 date in Account(s).t 2023-10-04 09:15:39 -04:00
Acquisition.t Bug 14092: (QA follow-up) Avoid fiddling with the hash in the template 2023-10-20 16:31:15 -03:00
Amazon.t
ArticleRequests.t
AudioAlerts.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Auth.t Bug 15504: (follow-up) Unit tests 2023-10-24 10:05:15 -03:00
Auth_with_cas.t
Auth_with_ldap.t Bug 30646: Unit tests for Auth_with_ldap 2022-10-03 14:02:40 -03:00
Auth_with_shibboleth.t Bug 33778: (QA follow-up) Update for master 2023-06-29 11:11:10 -03:00
AuthorisedValues.t Bug 32997: Add tests 2023-03-02 12:00:16 -03:00
AuthoritiesMarc.t
AuthoritiesMarc_GetTagsLabels.t Bug 30446: Add a test for GetTagsLabels 2022-04-21 21:01:09 -10:00
AuthUtils.t
Barcodes.t
Barcodes_ValueBuilder.t Bug 26328: Add test 2022-03-23 10:50:51 -10:00
Biblio.t Bug 34014: Unit test 2023-10-20 11:02:59 -03:00
Biblio_holdsqueue.t Bug 30728: Add unit tests 2022-05-12 22:17:46 -10:00
Breeding.t Bug 28166: (QA follow-up) Fix and tidy tests and code 2023-10-23 11:33:50 -03:00
Breeding_Auth.t Bug 33404: Add unit tests 2023-07-05 12:17:22 -03:00
Budgets.t Bug 31631: (QA follow-up) Tidy code 2023-10-18 15:41:37 -03:00
Cache.t
Calendar.t Bug 33727: (QA follow-up) perl tidy whole file 2023-07-14 12:14:37 -03:00
Charset.t
check_kohastructure.t
check_sysprefs.t
Circulation.t Bug 25393: (QA follow-up) Tidy 2023-10-20 16:31:24 -03:00
Circulation_holdsqueue.t Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Clubs.t
Context.t Bug 32687: Get server version in Context::get_versions 2023-02-24 17:52:28 -03:00
Contract.t
CourseReserves.t
db_structure.t
DecreaseLoanHighHolds.t Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Filter_MARC_ViewPolicy.t Bug 32648: Clear cache in Filter_MARC_ViewPolicy.t 2023-05-16 11:24:26 +02:00
Fines.t
FrameworkPlugin.t
Heading.t Bug 33557: Add LinkerConsiderThesaurus system preference 2023-05-10 15:26:26 -03:00
Heading_MARC21.t Bug 33277: Do not search using thesaurus when linking non 6XX fields 2023-05-10 15:26:22 -03:00
Hold.t Bug 14783: (QA follow-up) Rename method and move tests 2022-10-17 15:43:22 -03:00
Holds.t Bug 32894: (QA follow-up) Fix tests 2023-06-07 16:44:05 -03:00
HoldsQueue.t Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Holidays.t Bug 27249: Replace DateTime->now by dt_from_string 2023-10-17 14:45:34 -03:00
Illbatches.t Bug 30719: Remove unused Koha::Illbatch->requests_count method 2023-10-17 14:45:24 -03:00
IllbatchStatuses.t Bug 30719: (QA follow-up) Updating remaining naming 2023-10-17 14:45:23 -03:00
Illcomments.t
Illrequestattributes.t Bug 33970: Fix tests 2023-10-25 12:09:46 -03:00
Illrequests.t Bug 34905: Fix icon 2023-10-04 09:15:41 -04:00
ILSDI_Services.t Bug 15504: Remove PatronLastActivity preference 2023-10-24 10:05:22 -03:00
ImportBatch.t Bug 32804: (QA follow-up) Typo ahs and fix ImportBatch.t 2023-03-17 09:59:12 -03:00
ImportExportFramework.t Bug 13952: (follow-up) Tests 2022-04-04 16:23:45 +02:00
Installer.t
Items.t Bug 32496: Fix tests 2023-09-22 12:35:47 -03:00
Koha.t Bug 34812: Move subtests to db_dependent/Koha.t 2023-09-18 12:06:27 -03:00
Koha_Database.t
Koha_Elasticsearch.t
Koha_ExternalContent_OverDrive.t
Koha_MetadataRecord_Authority.t Bug 30756: Rename to Koha_MetadataRecord_Authority 2022-06-02 13:53:39 -03:00
Koha_Misc_Files.t
Languages.t Bug 32775: (QA follow-up) remove useless empty line 2023-05-15 18:23:54 -03:00
Letters.t Bug 12532: (follow-up) Catch more cases in tests 2023-10-10 09:58:54 -03:00
LibraryGroups.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Linker_Default.t Bug 30280: Add Unit tests 2022-10-03 10:00:12 -03:00
Linker_FirstMatch.t
Log.t Bug 32057: (QA follow-up) Add a simple test 2023-03-14 08:49:34 -03:00
MarcModificationTemplates.t Bug 31644: (QA follow-up) Add two missing shebang lines 2022-10-24 11:53:19 -03:00
Matcher.t Bug 33869: Move Matcher.t to t/db_dependent 2023-09-01 11:07:45 -03:00
Members.t Bug 15504: Remove PatronLastActivity preference 2023-10-24 10:05:22 -03:00
Message.t Bug 33192: (QA follow-up) Fix it-IT sample data and unit tests 2023-04-14 11:35:40 -03:00
MungeMarcPrice.t
Overdues.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Passwordrecovery.t Bug 31739: Password recovery from staff fails if previous expired reset-entry exists. 2022-10-24 14:12:16 -03:00
Patroncards.t
PatronLists.t
Patrons.t Bug 12446: (QA follow-up) Rename canbeguarantee => can_be_guarantee 2022-06-23 13:34:05 -03:00
Prices.t Bug 34967: Move to db_dependent 2023-10-03 09:24:50 -04:00
Record.t
RecordProcessor_EmbedSeeFromHeadings.t
Reports.t
Reserves.t Bug 8838: (follow-up) Rebase, fix typos, and tidy. 2023-10-25 11:07:49 -03:00
rollingloans.t Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
RotatingCollections.t Bug 29144: Remove opac_info from a few tests 2022-09-16 09:55:20 -03:00
Search.t Bug 34847: Fix t/db_dependent/Search.t 2023-09-22 10:52:43 -03:00
Serials.t Bug 31846: Add syspref for serials search results limit 2023-10-25 10:35:27 -03:00
Serials_2.t
Service.t
ShelfBrowser.t
Sitemapper.t Bug 33871: Test where parameter in Sitemapper.t 2023-09-01 11:23:26 -03:00
SocialData.t Bug 33833: Move to db_dependent 2023-09-05 14:35:36 -03:00
StockRotationItems.t Bug 30518: Unit test 2022-04-19 21:25:50 -10:00
StockRotationRotas.t
StockRotationStages.t
SuggestionEngine_ExplodedTerms.t Bug 31069: Remove ExplodedTerms dependency on templates 2022-07-18 12:37:35 -03:00
Suggestions.t Bug 32942: (follow-up) Fix test 2023-09-19 15:51:39 -03:00
sysprefs.t
TablesSettings.t
Tags.t Bug 31517: Remove unused get_tag function 2022-11-04 19:30:56 -03:00
Templates.t Bug 29695: Remove GetColumnDefs 2022-04-12 11:40:16 +02:00
TestBuilder.t Bug 28966: (QA follow-up) Fix failing unit tests 2023-07-26 15:41:12 -03:00
Upload.t Bug 31598: Fix random failure on Jenkins for Upload.t 2022-09-22 08:07:01 -03:00
UsageStats.t
Virtualshelves.t Bug 30418: Unit tests 2023-05-15 18:23:58 -03:00
XISBN.t
XSLT.t Bug 33733: Move to db_dependent 2023-05-16 12:38:16 +02:00
yaml.t
zebra_config.pl