Bug 36399

Summary: Better fetch/cache the authorised values
Product: Koha Reporter: Jonathan Druart <jonathan.druart>
Component: Architecture, internals, and plumbingAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low    
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36315
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on:    
Bug Blocks: 36398    

Description Jonathan Druart 2024-03-22 10:07:24 UTC
The code improved recently but it's still not consistent and wrongly done.

We have "special" authorised value category (branches, locations, itemtypes, etc.) that can be used in some places and not in others.

* C4::Koha::GetAuthorisedValues does not handle them

* Koha/UI/Form/Builder/Item.pm does

* TT plugin AuthorisedValues.GetByCode does not retrieve from cache

etc...

We should have big structs cached in L1.

When we need to access the description of a given value: { category => { value_1 => { %$av }, etc. }

In other places when we need to fetch a whole (ordered) list: { category => [ @avs ] }