[Bug 40391] New: Add support for EDI LSL field
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Bug ID: 40391 Summary: Add support for EDI LSL field Change sponsored?: --- Product: Koha Version: 24.11 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Acquisitions Assignee: koha-bugs@lists.koha-community.org Reporter: martin.renvoize@openfifth.co.uk QA Contact: testopia@bugs.koha-community.org More recent versions of the EDIFACT EDItEUR/BiC profiles added support for an LSL (Library sub-location) field. This new field would allow people to 'have their cake and eat it' with regards to location + collection handling. Currently, we have the `EdifactLSQ` system preference which allows you to set the 'GIR:LSQ' field content to map to either the Location or Collection for a Koha item. Adding 'GIR:LSL' parsing would allow us to support vendors passing both codes. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |martin.renvoize@openfifth.c |ity.org |o.uk -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Add support for EDI LSL |EDI: Add support for |field |GIR:LSL field -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hdunne-howrie@westminster.g | |ov.uk -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Change sponsored?|--- |Sponsored -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|24.11 |unspecified -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #1 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 185031 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=185031&action=edit Bug 40391: Add unit tests for GIR:LSL support in EDI This adds unit tests for adding supprt for the new LSL field support: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #2 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 185032 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=185032&action=edit Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing This implements support for the new EDItEUR/BiC GIR:LSL (Library Sub-Location) field to complement the existing GIR:LSQ (Library Sequence) functionality, allowing flexible mapping of both fields to location and collection item fields. Changes: - Add LSL mapping to GIR field extraction in Koha::Edifact::Line - Update gir_segments() in Koha::Edifact::Order to handle both LSL and LSQ preferences independently - Add validation functions in Koha::EDI using Koha::AuthorisedValues for location/collection codes - Add EdifactLSL system preference for independent LSL field mapping - Update EdifactLSQ to include empty option for ignore functionality - Add admin interface configuration for LSL preference The implementation provides maximum flexibility: - EdifactLSQ can be set to: location, ccode, or empty (ignore) - EdifactLSL can be set to: location, ccode, or empty (ignore) - Both fields can be mapped independently or to same target field - Validation ensures codes exist in LOC/CCODE authorised values - Maintains full backwards compatibility with existing LSQ-only setups Test plan: 1. Apply both patches 2. Update database: installer/data/mysql/updatedatabase.pl 3. Verify new system preferences in Administration > System preferences > Acquisitions: - EdifactLSQ: "Map EDI sequence code (GIR+LSQ) to Koha Item field" - EdifactLSL: "Map EDI sub-location code (GIR+LSL) to Koha Item field" 4. Create test authorised values: - LOC category: Add values like FICTION, REFERENCE - CCODE category: Add values like ADULT, CHILD 5. Set preferences to test combinations: - EdifactLSQ=location, EdifactLSL=ccode - EdifactLSQ=ccode, EdifactLSL=location - EdifactLSQ=location, EdifactLSL="" (empty) 6. Process EDIFACT messages containing GIR+LSL and GIR+LSQ segments 7. Verify items created with correct location/ccode values per preferences 8. Test invalid codes generate appropriate error messages 9. Confirm existing LSQ-only configurations continue working unchanged 10. Run: prove t/Edifact.t t/db_dependent/Koha/EDI.t t/db_dependent/Koha/Edifact/Order.t -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |Needs Signoff -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kyle@bywatersolutions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #185031|0 |1 is obsolete| | --- Comment #3 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 185233 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=185233&action=edit Bug 40391: Add unit tests for GIR:LSL support in EDI This adds unit tests for adding supprt for the new LSL field support: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #185032|0 |1 is obsolete| | --- Comment #4 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 185234 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=185234&action=edit Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing This implements support for the new EDItEUR/BiC GIR:LSL (Library Sub-Location) field to complement the existing GIR:LSQ (Library Sequence) functionality, allowing flexible mapping of both fields to location and collection item fields. Changes: - Add LSL mapping to GIR field extraction in Koha::Edifact::Line - Update gir_segments() in Koha::Edifact::Order to handle both LSL and LSQ preferences independently - Add validation functions in Koha::EDI using Koha::AuthorisedValues for location/collection codes - Add EdifactLSL system preference for independent LSL field mapping - Update EdifactLSQ to include empty option for ignore functionality - Add admin interface configuration for LSL preference The implementation provides maximum flexibility: - EdifactLSQ can be set to: location, ccode, or empty (ignore) - EdifactLSL can be set to: location, ccode, or empty (ignore) - Both fields can be mapped independently or to same target field - Validation ensures codes exist in LOC/CCODE authorised values - Maintains full backwards compatibility with existing LSQ-only setups Test plan: 1. Apply both patches 2. Update database: installer/data/mysql/updatedatabase.pl 3. Verify new system preferences in Administration > System preferences > Acquisitions: - EdifactLSQ: "Map EDI sequence code (GIR+LSQ) to Koha Item field" - EdifactLSL: "Map EDI sub-location code (GIR+LSL) to Koha Item field" 4. Create test authorised values: - LOC category: Add values like FICTION, REFERENCE - CCODE category: Add values like ADULT, CHILD 5. Set preferences to test combinations: - EdifactLSQ=location, EdifactLSL=ccode - EdifactLSQ=ccode, EdifactLSL=location - EdifactLSQ=location, EdifactLSL="" (empty) 6. Process EDIFACT messages containing GIR+LSL and GIR+LSQ segments 7. Verify items created with correct location/ccode values per preferences 8. Test invalid codes generate appropriate error messages 9. Confirm existing LSQ-only configurations continue working unchanged 10. Run: prove t/Edifact.t t/db_dependent/Koha/EDI.t t/db_dependent/Koha/Edifact/Order.t -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- QA Contact|testopia@bugs.koha-communit |kyle@bywatersolutions.com |y.org | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #185233|0 |1 is obsolete| | --- Comment #5 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 187174 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=187174&action=edit Bug 40391: Add unit tests for GIR:LSL support in EDI This adds unit tests for adding supprt for the new LSL field support: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #185234|0 |1 is obsolete| | --- Comment #6 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 187175 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=187175&action=edit Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing This implements support for the new EDItEUR/BiC GIR:LSL (Library Sub-Location) field to complement the existing GIR:LSQ (Library Sequence) functionality, allowing flexible mapping of both fields to location and collection item fields. Changes: - Add LSL mapping to GIR field extraction in Koha::Edifact::Line - Update gir_segments() in Koha::Edifact::Order to handle both LSL and LSQ preferences independently - Add validation functions in Koha::EDI using Koha::AuthorisedValues for location/collection codes - Add EdifactLSL system preference for independent LSL field mapping - Update EdifactLSQ to include empty option for ignore functionality - Add admin interface configuration for LSL preference The implementation provides maximum flexibility: - EdifactLSQ can be set to: location, ccode, or empty (ignore) - EdifactLSL can be set to: location, ccode, or empty (ignore) - Both fields can be mapped independently or to same target field - Validation ensures codes exist in LOC/CCODE authorised values - Maintains full backwards compatibility with existing LSQ-only setups Test plan: 1. Apply both patches 2. Update database: installer/data/mysql/updatedatabase.pl 3. Verify new system preferences in Administration > System preferences > Acquisitions: - EdifactLSQ: "Map EDI sequence code (GIR+LSQ) to Koha Item field" - EdifactLSL: "Map EDI sub-location code (GIR+LSL) to Koha Item field" 4. Create test authorised values: - LOC category: Add values like FICTION, REFERENCE - CCODE category: Add values like ADULT, CHILD 5. Set preferences to test combinations: - EdifactLSQ=location, EdifactLSL=ccode - EdifactLSQ=ccode, EdifactLSL=location - EdifactLSQ=location, EdifactLSL="" (empty) 6. Process EDIFACT messages containing GIR+LSL and GIR+LSQ segments 7. Verify items created with correct location/ccode values per preferences 8. Test invalid codes generate appropriate error messages 9. Confirm existing LSQ-only configurations continue working unchanged 10. Run: prove t/Edifact.t t/db_dependent/Koha/EDI.t t/db_dependent/Koha/Edifact/Order.t Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #187174|0 |1 is obsolete| | --- Comment #7 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189562 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189562&action=edit Bug 40391: Add unit tests for GIR:LSL support in EDI This adds unit tests for adding support for the new LSL field: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - Copy function tests in t/db_dependent/Koha/EDI.t for location/collection code assignment - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values - LSL maps to location, LSQ maps to ccode - LSL maps to ccode, LSQ maps to location (swapped configuration) - Only LSL field present (LSQ empty) - Only LSQ field present (LSL empty) - Both LSL and LSQ map to location (edge case) - Both fields disabled Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #187175|0 |1 is obsolete| | --- Comment #8 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189563 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189563&action=edit Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing This implements support for the new EDItEUR/BiC GIR:LSL (Library Sub-Location) field to complement the existing GIR:LSQ (Library Sequence) functionality, allowing flexible mapping of both fields to location and collection item fields. Changes: - Add LSL mapping to GIR field extraction in Koha::Edifact::Line - Update gir_segments() in Koha::Edifact::Order to handle both LSL and LSQ preferences independently - Add validation functions in Koha::EDI using Koha::AuthorisedValues for location/collection codes - Add EdifactLSL system preference for independent LSL field mapping - Update EdifactLSQ to include empty option for ignore functionality - Add admin interface configuration for LSL preference The implementation provides maximum flexibility: - EdifactLSQ can be set to: location, ccode, or empty (ignore) - EdifactLSL can be set to: location, ccode, or empty (ignore) - Both fields can be mapped independently or to same target field - Validation ensures codes exist in LOC/CCODE authorised values - Maintains full backwards compatibility with existing LSQ-only setups Test plan: 1. Apply both patches 2. Update database: installer/data/mysql/updatedatabase.pl 3. Verify new system preferences in Administration > System preferences > Acquisitions: - EdifactLSQ: "Map EDI sequence code (GIR+LSQ) to Koha Item field" - EdifactLSL: "Map EDI sub-location code (GIR+LSL) to Koha Item field" 4. Create test authorised values: - LOC category: Add values like FICTION, REFERENCE - CCODE category: Add values like ADULT, CHILD 5. Set preferences to test combinations: - EdifactLSQ=location, EdifactLSL=ccode - EdifactLSQ=ccode, EdifactLSL=location - EdifactLSQ=location, EdifactLSL="" (empty) 6. Process EDIFACT messages containing GIR+LSL and GIR+LSQ segments 7. Verify items created with correct location/ccode values per preferences 8. Test invalid codes generate appropriate error messages 9. Confirm existing LSQ-only configurations continue working unchanged 10. Run: prove t/Edifact.t t/db_dependent/Koha/EDI.t t/db_dependent/Koha/Edifact/Order.t Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #9 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Just a rebase -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #10 from Kyle M Hall (khall) <kyle@bywatersolutions.com> --- Created attachment 189573 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189573&action=edit Bug 40391: Add unit tests for GIR:LSL support in EDI This adds unit tests for adding support for the new LSL field: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - Copy function tests in t/db_dependent/Koha/EDI.t for location/collection code assignment - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values - LSL maps to location, LSQ maps to ccode - LSL maps to ccode, LSQ maps to location (swapped configuration) - Only LSL field present (LSQ empty) - Only LSQ field present (LSL empty) - Both LSL and LSQ map to location (edge case) - Both fields disabled Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #11 from Kyle M Hall (khall) <kyle@bywatersolutions.com> --- Created attachment 189574 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189574&action=edit Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing This implements support for the new EDItEUR/BiC GIR:LSL (Library Sub-Location) field to complement the existing GIR:LSQ (Library Sequence) functionality, allowing flexible mapping of both fields to location and collection item fields. Changes: - Add LSL mapping to GIR field extraction in Koha::Edifact::Line - Update gir_segments() in Koha::Edifact::Order to handle both LSL and LSQ preferences independently - Add validation functions in Koha::EDI using Koha::AuthorisedValues for location/collection codes - Add EdifactLSL system preference for independent LSL field mapping - Update EdifactLSQ to include empty option for ignore functionality - Add admin interface configuration for LSL preference The implementation provides maximum flexibility: - EdifactLSQ can be set to: location, ccode, or empty (ignore) - EdifactLSL can be set to: location, ccode, or empty (ignore) - Both fields can be mapped independently or to same target field - Validation ensures codes exist in LOC/CCODE authorised values - Maintains full backwards compatibility with existing LSQ-only setups Test plan: 1. Apply both patches 2. Update database: installer/data/mysql/updatedatabase.pl 3. Verify new system preferences in Administration > System preferences > Acquisitions: - EdifactLSQ: "Map EDI sequence code (GIR+LSQ) to Koha Item field" - EdifactLSL: "Map EDI sub-location code (GIR+LSL) to Koha Item field" 4. Create test authorised values: - LOC category: Add values like FICTION, REFERENCE - CCODE category: Add values like ADULT, CHILD 5. Set preferences to test combinations: - EdifactLSQ=location, EdifactLSL=ccode - EdifactLSQ=ccode, EdifactLSL=location - EdifactLSQ=location, EdifactLSL="" (empty) 6. Process EDIFACT messages containing GIR+LSL and GIR+LSQ segments 7. Verify items created with correct location/ccode values per preferences 8. Test invalid codes generate appropriate error messages 9. Confirm existing LSQ-only configurations continue working unchanged 10. Run: prove t/Edifact.t t/db_dependent/Koha/EDI.t t/db_dependent/Koha/Edifact/Order.t Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Kyle M Hall (khall) <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Passed QA --- Comment #12 from Kyle M Hall (khall) <kyle@bywatersolutions.com> --- This adds unit tests for adding support for the new LSL field: - GIR segment extraction tests in t/Edifact.t for sub_location_code field mapping - Validation function tests in t/db_dependent/Koha/EDI.t for location/collection code validation - Copy function tests in t/db_dependent/Koha/EDI.t for location/collection code assignment - gir_segments generation tests in t/db_dependent/Koha/Edifact/Order.t for preference handling Tests cover: - LSL field extraction from GIR segments alongside existing LSQ fields - Independent LSQ/LSL preference mapping (location/ccode/empty combinations) - Validation of location and collection codes against authorised values - Error handling and message formatting - Backwards compatibility with existing LSQ-only configurations - Edge cases including missing data and invalid preference values - LSL maps to location, LSQ maps to ccode - LSL maps to ccode, LSQ maps to location (swapped configuration) - Only LSL field present (LSQ empty) - Only LSQ field present (LSL empty) - Both LSL and LSQ map to location (edge case) - Both fields disabled Test plan: 1. Apply this patch 2. Run: prove t/Edifact.t - Should pass with 8 new LSL-related tests included 3. Run: prove t/db_dependent/Koha/EDI.t - Should pass with 16 new validation function tests 4. Run: prove t/db_dependent/Koha/Edifact/Order.t - Should pass with 14 new gir_segments LSL/LSQ tests 5. Verify all existing tests still pass - no regression Sponsored-by: Westminster City Council <https://www.westminster.gov.uk/> Sponsored-by: Royal Borough of Kensington and Chelsea <https://www.rbkc.gov.uk/> Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Kyle M Hall (khall) <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189562|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Kyle M Hall (khall) <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189563|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Lucas Gass (lukeg) <lucas@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lucas@bywatersolutions.com Keywords| |rel_26_05_candidate -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Lucas Gass (lukeg) <lucas@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version(s)| |26.05.00 released in| | Status|Passed QA |Pushed to main -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 --- Comment #13 from Lucas Gass (lukeg) <lucas@bywatersolutions.com> --- Nice work everyone! Pushed to main for 26.05 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Lucas Gass (lukeg) <lucas@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|rel_26_05_candidate |release-notes-needed --- Comment #14 from Lucas Gass (lukeg) <lucas@bywatersolutions.com> --- please add release notes -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Text to go in the| |Add support for the Library release notes| |Sub-location field in | |EDIfact messages, to allow | |both Collection Code and | |Location Code mappings from | |EDI messages. Keywords|release-notes-needed | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Irene <i.tortorella@arts.ac.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |i.tortorella@arts.ac.uk -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Pushed to main |Needs documenting --- Comment #15 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- This bug won't be backported to the 25.11.x branch as it has been deemed an enhancement or new feature. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40391 Aude Charillon <aude.charillon@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aude.charillon@openfifth.co | |.uk -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org