Bug 32799: Rename ILLSTATUS authorised value category to ILL_STATUS_ALIAS

To test:
1) Activate the IllModule system preference
2) Install a backend (BLDSS or FreeForm) following the wiki instructions:
3) Configure some authorised values for ILLSTATUS
4) Apply patch
5) Run database update
6) Verify your configured values have been updated to ILL_STATUS_ALIAS
7) Add another ILL_STATUS_ALIAS: there should now be an explanation in the
   categories list
8) Go to the ILL module and add a new request
9) Edit the request, verify that your status alias show in the status list
10) Set one of your status and save
11) Verify that the ILL requests list search filters show your status alias
12) Manage the request again and verify that the ILL request log shows the
    status descriptions correctly
13) Verify the description of the ILLHiddenRequestStatuses has
    been updated with the new authorised value category

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Katrin Fischer 2023-02-09 21:08:53 +00:00 committed by Tomas Cohen Arazi
parent 83bde3e650
commit 412c026101
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F
8 changed files with 28 additions and 12 deletions

View file

@ -158,11 +158,11 @@ sub statusalias {
my ( $self ) = @_;
return unless $self->status_alias;
# We can't know which result is the right one if there are multiple
# ILLSTATUS authorised values with the same authorised_value column value
# ILL_STATUS_ALIAS authorised values with the same authorised_value column value
# so we just use the first
return Koha::AuthorisedValues->search(
{
category => 'ILLSTATUS',
category => 'ILL_STATUS_ALIAS',
authorised_value => $self->SUPER::status_alias
},
{},
@ -256,11 +256,11 @@ sub status_alias {
return $ret;
}
# We can't know which result is the right one if there are multiple
# ILLSTATUS authorised values with the same authorised_value column value
# ILL_STATUS_ALIAS authorised values with the same authorised_value column value
# so we just use the first
my $alias = Koha::AuthorisedValues->search(
{
category => 'ILLSTATUS',
category => 'ILL_STATUS_ALIAS',
authorised_value => $self->SUPER::status_alias
},
{},

View file

@ -252,7 +252,7 @@ sub get_request_logs {
$notice_hash->{$notice->{code}} = $notice;
}
# Populate a lookup table for status aliases
my $aliases = C4::Koha::GetAuthorisedValues('ILLSTATUS');
my $aliases = C4::Koha::GetAuthorisedValues('ILL_STATUS_ALIAS');
my $alias_hash;
foreach my $alias(@{$aliases}) {
$alias_hash->{$alias->{authorised_value}} = $alias;

View file

@ -0,0 +1,14 @@
use Modern::Perl;
return {
bug_number => "32799",
description => "Rename ILLSTATUS authorised value category",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
# Do you stuffs here
$dbh->do(q{UPDATE authorised_value_categories SET category_name = "ILL_STATUS_ALIAS" WHERE category_name = "ILLSTATUS"});
# Print useful stuff here
say $out "Renamed authorised value category 'ILLSTATUS' to 'ILL_STATUS_ALIAS'";;
},
};

View file

@ -64,7 +64,7 @@ INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES
-- For Interlibrary loans
INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES
('ILLSTATUS');
('ILL_STATUS_ALIAS');
-- For Claims returned
INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES

View file

@ -535,6 +535,8 @@
<p>General holdings: type of unit designator</p>
[% CASE 'HOLD_CANCELLATION' %]
<p>Reasons why a hold might have been cancelled</p>
[% CASE 'ILL_STATUS_ALIAS' %]
<p>ILL request status aliases used by the interlibrary loans module</p>
[% CASE 'AR_CANCELLATION' %]
<p>Reasons why an article request might have been cancelled</p>
[% CASE 'HSBND_FREQ' %]

View file

@ -37,7 +37,7 @@ Interlibrary loans:
- "ILL statuses that are considered finished and should not be displayed in the ILL module: "
- pref: ILLHiddenRequestStatuses
class: multi
- (separated with |). If left empty, all ILL requests will be displayed. The request codes can be found in the <a href="/cgi-bin/koha/admin/authorised_values.pl?searchfield=ILLSTATUS">ILLSTATUS</a> authorized value category.
- (separated with |). If left empty, all ILL requests will be displayed. The request codes are defined in the backends and additional aliases can be configured via the <a href="/cgi-bin/koha/admin/authorised_values.pl?searchfield=ILL_STATUS_ALIAS">ILL_STATUS_ALIAS</a> authorized value category.
Notifications:
-
- "Send these ILL notices to staff when appropriate:"

View file

@ -422,7 +422,7 @@
[% END %]
[% request.capabilities.$stat.name | html %]
</option>
[% FOREACH alias IN AuthorisedValues.Get('ILLSTATUS') %]
[% FOREACH alias IN AuthorisedValues.Get('ILL_STATUS_ALIAS') %]
[% IF alias.authorised_value == current_alias %]
<option value="[% alias.authorised_value | html %]" selected>
[% ELSE %]

View file

@ -1517,7 +1517,7 @@ subtest 'Custom statuses' => sub {
my $cat = Koha::AuthorisedValueCategories->search(
{
category_name => 'ILLSTATUS'
category_name => 'ILL_STATUS_ALIAS'
}
);
@ -1526,7 +1526,7 @@ subtest 'Custom statuses' => sub {
{
class => 'Koha::AuthorisedValueCategory',
value => {
category_name => 'ILLSTATUS'
category_name => 'ILL_STATUS_ALIAS'
}
}
);
@ -1536,12 +1536,12 @@ subtest 'Custom statuses' => sub {
{
class => 'Koha::AuthorisedValues',
value => {
category => 'ILLSTATUS'
category => 'ILL_STATUS_ALIAS'
}
}
);
is($av->category, 'ILLSTATUS',
is($av->category, 'ILL_STATUS_ALIAS',
"Successfully created authorised value for custom status");
my $ill_req = $builder->build_object(