[Koha-bugs] [Bug 22280] New: The ILL module assumes every status needs a next/previous status
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Wed Feb 6 10:57:03 CET 2019
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22280
Bug ID: 22280
Summary: The ILL module assumes every status needs a
next/previous status
Change sponsored?: ---
Product: Koha
Version: master
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P5 - low
Component: ILL
Assignee: koha-bugs at lists.koha-community.org
Reporter: magnus at libriotech.no
Target Milestone: ---
Swedish ILL is very centrally driven, so some status changes are only done by
updates from the API. That means that these statuses do not need a prev_actions
or a next_actions:
IN_NEG => {
prev_actions => [ ],
id => 'IN_NEG',
name => 'Inlån Negativt svar',
ui_method_name => 'Negativt svar',
method => 'requestitem',
next_actions => [ ],
ui_method_icon => 'fa-send-o'
},
But leaving these blank as above leads to errors, around line 386 of
/usr/share/koha/lib/Koha/Illrequest.pm:
# Update all core methods' next_actions.
foreach my $prev_action ( @{$backend_status->{prev_actions}} ) {
if ( grep $prev_action, @core_status_ids ) {
my @next_actions =
@{$status_graph->{$prev_action}->{next_actions}}; ###
ERROR HERE
push @next_actions, $backend_status_key;
$status_graph->{$prev_action}->{next_actions}
= \@next_actions;
}
}
# Update all core methods' prev_actions
foreach my $next_action ( @{$backend_status->{next_actions}} ) {
if ( grep $next_action, @core_status_ids ) {
my @prev_actions =
@{$status_graph->{$next_action}->{prev_actions}}; ### AND
HERE
push @prev_actions, $backend_status_key;
$status_graph->{$next_action}->{prev_actions}
= \@prev_actions;
}
}
The error is something like "Can't treat an undefined value as an array".
Changing those lines to check if an array is defined makes the error go away,
and I have not seen any bad side effects:
@{$status_graph->{$prev_action}->{next_actions}} if
$status_graph->{$prev_action}->{next_actions}; ### NO MORE ERROR HERE
@{$status_graph->{$next_action}->{prev_actions}} if
$status_graph->{$next_action}->{prev_actions}; ### OR HERE
Does that change make sense to others, or am I missing some other way to work
around this?
--
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.
More information about the Koha-bugs
mailing list