| Summary: | warnings sometimes generated when using ShowComponentRecords feature | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Janusz Kaczmarek <januszop> |
| Component: | Cataloging | Assignee: | Janusz Kaczmarek <januszop> |
| Status: | Signed Off --- | QA Contact: | Testopia <testopia> |
| Severity: | normal | ||
| Priority: | P5 - low | CC: | m.de.rooy, martin.renvoize |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | Sponsored | Comma delimited list of Sponsors: | Ignatianum University in Cracow |
| Crowdfunding goal: | 0 | Patch complexity: | Trivial patch |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: | Version(s) released in: | ||
| Circulation function: | |||
| Attachments: |
Bug 41713: warnings sometimes generated when using ShowComponentRecords feature
Bug 41713: Unit tests Bug 41713: warnings sometimes generated when using ShowComponentRecords feature Bug 41713: Unit tests Bug 41713: warnings sometimes generated when using ShowComponentRecords feature Bug 41713: Unit tests |
||
|
Description
Janusz Kaczmarek
2026-01-26 14:38:43 UTC
Created attachment 192054 [details] [review] Bug 41713: warnings sometimes generated when using ShowComponentRecords feature When using ShowComponentRecords feature warnings are generated from staff interface detail view when: 1. ShowComponentRecords = 'both' or 'staff' AND 2. UseControlNumber is on AND 3. record lacks 001 field Test plan ========= 1. Have a standard ktd instance with Elasticsearch. 2. Set UseControlNumber systempreference to Use. 3. In OPAC and in staff interface, open in Normal view a record without field 001, e.g. # 399 ("Art Since 1980"). 4. Check plack-opac-error.log and plack-intranet-error.log. You should see fresh warnings like: [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/opac/opac-detail.pl line 640 [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/catalogue/detail.pl line 273. 5. Apply the patch; restart_all. 6. Repeat p. 4. There should be no new warnings. Sponsored-by: Ignatianum University in Cracow Created attachment 192055 [details] [review] Bug 41713: Unit tests Created attachment 192056 [details] [review] Bug 41713: warnings sometimes generated when using ShowComponentRecords feature When using ShowComponentRecords feature warnings are generated from staff interface detail view when: 1. ShowComponentRecords = 'both' or 'staff' AND 2. UseControlNumber is on AND 3. record lacks 001 field Test plan ========= 1. Have a standard ktd instance with Elasticsearch. 2. Set UseControlNumber systempreference to Use. Set ShowComponentRecords systempreference to both staff and OPAC. 3. In OPAC and in staff interface, open in Normal view a record without field 001, e.g. # 399 ("Art Since 1980"). 4. Check plack-opac-error.log and plack-intranet-error.log. You should see fresh warnings like: [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/opac/opac-detail.pl line 640 [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/catalogue/detail.pl line 273. 5. Apply the patch; restart_all. 6. Repeat p. 4. There should be no new warnings. Sponsored-by: Ignatianum University in Cracow Created attachment 192057 [details] [review] Bug 41713: Unit tests Nota bene: the key change is to examine the @{$components} array, not the reference to the array ($components) in 'if' statement.
In the old version:
if ( my $components = $biblio->get_marc_components(...
the condition is always true since get_marc_components always returns an array reference, even if if is an empty array.
Created attachment 192106 [details] [review] Bug 41713: warnings sometimes generated when using ShowComponentRecords feature When using ShowComponentRecords feature warnings are generated from staff interface detail view when: 1. ShowComponentRecords = 'both' or 'staff' AND 2. UseControlNumber is on AND 3. record lacks 001 field Test plan ========= 1. Have a standard ktd instance with Elasticsearch. 2. Set UseControlNumber systempreference to Use. Set ShowComponentRecords systempreference to both staff and OPAC. 3. In OPAC and in staff interface, open in Normal view a record without field 001, e.g. # 399 ("Art Since 1980"). 4. Check plack-opac-error.log and plack-intranet-error.log. You should see fresh warnings like: [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/opac/opac-detail.pl line 640 [WARN] Use of uninitialized value in concatenation (.) or string at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm line 352. [WARN] Use of uninitialized value $comp_query_str in concatenation (.) or string at /kohadevbox/koha/catalogue/detail.pl line 273. 5. Apply the patch; restart_all. 6. Repeat p. 4. There should be no new warnings. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Created attachment 192107 [details] [review] Bug 41713: Unit tests Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> |