Summary: | Remove few warnings from circulation.pl | ||
---|---|---|---|
Product: | Koha | Reporter: | Marcel de Rooy <m.de.rooy> |
Component: | Architecture, internals, and plumbing | Assignee: | Marcel de Rooy <m.de.rooy> |
Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
Severity: | normal | ||
Priority: | P5 - low | CC: | jonathan.druart |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | Trivial patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Attachments: |
Bug 19493: Remove few warnings from circulation.pl
Bug 19493: Remove few warnings from circulation.pl Bug 19493: Force scalar context to prevent future error |
Description
Marcel de Rooy
2017-10-19 07:44:47 UTC
Created attachment 68288 [details] [review] Bug 19493: Remove few warnings from circulation.pl If you click Submit on the staff home page without entering a cardnumber, you will find these warnings in the log: Problem = a value of override_high_holds has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Problem = a value of nopermission has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Use of uninitialized value $val in concatenation (.) or string at /usr/share/koha/masterclone/C4/Templates.pm line 137. Problem = a value of has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Cause is this call to $template->param: $template->param( CircAutocompl => C4::Context->preference("CircAutocompl"), debarments => GetDebarments({ borrowernumber => $borrowernumber }), todaysdate => output_pref( { dt => dt_from_string()->set(hour => 23)->set(minute => 59), dateformat => 'sql' } ), has_modifications => $has_modifications, override_high_holds => $override_high_holds, nopermission => scalar $query->param('nopermission'), In this specific case GetDebarments returns undef in list context (empty list), so all items in the list shift one place. Either we should force GetDebarments to return []; or we force scalar context in a construction like this. This patch does the last thing. Note: The calls in memberentry.pl and moremember.pl are not affected. Test plan: [1] Do not apply. Click Submit without cardnumber. Check the log. [2] Apply. Click Submit again without cardnumber. Check log. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Moving to SO: super trivial. Created attachment 68599 [details] [review] Bug 19493: Remove few warnings from circulation.pl If you click Submit on the staff home page without entering a cardnumber, you will find these warnings in the log: Problem = a value of override_high_holds has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Problem = a value of nopermission has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Use of uninitialized value $val in concatenation (.) or string at /usr/share/koha/masterclone/C4/Templates.pm line 137. Problem = a value of has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137. Cause is this call to $template->param: $template->param( CircAutocompl => C4::Context->preference("CircAutocompl"), debarments => GetDebarments({ borrowernumber => $borrowernumber }), todaysdate => output_pref( { dt => dt_from_string()->set(hour => 23)->set(minute => 59), dateformat => 'sql' } ), has_modifications => $has_modifications, override_high_holds => $override_high_holds, nopermission => scalar $query->param('nopermission'), In this specific case GetDebarments returns undef in list context (empty list), so all items in the list shift one place. Either we should force GetDebarments to return []; or we force scalar context in a construction like this. This patch does the last thing. Note: The calls in memberentry.pl and moremember.pl are not affected. Test plan: [1] Do not apply. Click Submit without cardnumber. Check the log. [2] Apply. Click Submit again without cardnumber. Check log. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Created attachment 68755 [details] [review] Bug 19493: Force scalar context to prevent future error If someone decide the reuse the template->param statement to pass values to the template, we will get the same issue. Pushed to master for 17.11, thanks to everybody involved! |