Browse Source

Bug 27947: Add authorised values list in article requests cancellation

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.11.x
Agustin Moyano 9 months ago
committed by Jonathan Druart
parent
commit
1b73fac810
  1. 41
      installer/data/mysql/atomicupdate/bug_27947.pl
  2. 9
      installer/data/mysql/en/optional/auth_val.yml
  3. 4
      installer/data/mysql/fr-CA/facultatif/auth_val.sql
  4. 4
      installer/data/mysql/fr-FR/1-Obligatoire/authorised_values.sql
  5. 1
      installer/data/mysql/kohastructure.sql
  6. 3
      installer/data/mysql/mandatory/auth_val_cat.sql
  7. 4
      installer/data/mysql/nb-NO/2-Valgfritt/auth_val.sql

41
installer/data/mysql/atomicupdate/bug_27947.pl

@ -0,0 +1,41 @@
use Modern::Perl;
return {
bug_number => "27947",
description => "Add authorised values list in article requests cancellation",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out column_exists)};
# Do you stuffs here
$dbh->do(q{
INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
VALUES ('AR_CANCELLATION', 0)
});
# Print useful stuff here
say $out "Add AR_CANCELLATION category for authorised values";
$dbh->do(q{
INSERT IGNORE INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
});
$dbh->do(q{
INSERT IGNORE INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','DAMAGED','Item was found to be too damaged to fill article request');
});
say $out "Add AR_CANCELLATION authorised values";
$dbh->do(q{
ALTER TABLE `article_requests` ADD COLUMN `cancellation_reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value AR_CANCELLATION' AFTER `urls`
}) unless column_exists('article_requests', 'cancellation_reason');
# Print useful stuff here
say $out "Add cancellation_reason column in article_requests table";
$dbh->do(q{
UPDATE `letter`
SET `content` = 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nYour request for an article from <<biblio.title>> (<<items.barcode>>) has been canceled for the following reason:\r\n\r\n<<reason>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\nFormat: [% IF article_request.format == ''PHOTOCOPY'' %]Copy[% ELSIF article_request.format == ''SCAN'' %]Scan[% END %]\r\n\r\nYour library'
WHERE `module` = 'circulation'
AND `code` = 'AR_CANCELED'
})
},
}

9
installer/data/mysql/en/optional/auth_val.yml

@ -300,3 +300,12 @@ tables:
- category: "HOLD_CANCELLATION"
authorised_value: "DAMAGED"
lib: "Item was found to be too damaged to fill hold"
# article request cancellations
- category: "AR_CANCELLATION"
authorised_value: "NOT_FOUND"
lib: "Item could not be located on shelves"
- category: "AR_CANCELLATION"
authorised_value: "DAMAGED"
lib: "Item was found to be too damaged to fill article request"

4
installer/data/mysql/fr-CA/facultatif/auth_val.sql

@ -90,3 +90,7 @@ INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RETURN_
-- hold cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','DAMAGED','Item was found to be too damaged to fill hold');
-- article request cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','DAMAGED','Item was found to be too damaged to fill article request');

4
installer/data/mysql/fr-FR/1-Obligatoire/authorised_values.sql

@ -724,3 +724,7 @@ INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RETURN_
-- hold cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','DAMAGED','Item was found to be too damaged to fill hold');
-- article request cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','DAMAGED','Item was found to be too damaged to fill article request');

1
installer/data/mysql/kohastructure.sql

@ -753,6 +753,7 @@ CREATE TABLE `article_requests` (
`notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`format` enum('PHOTOCOPY', 'SCAN') NOT NULL DEFAULT 'PHOTOCOPY',
`urls` MEDIUMTEXT,
`cancellation_reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value AR_CANCELLATION',
`created_on` timestamp NULL DEFAULT NULL COMMENT 'Be careful with two timestamps in one table not allowing NULL',
`updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`),

3
installer/data/mysql/mandatory/auth_val_cat.sql

@ -18,7 +18,8 @@ INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
('PAYMENT_TYPE', 0),
('PA_CLASS', 0),
('HOLD_CANCELLATION', 0),
('ROADTYPE', 0);
('ROADTYPE', 0),
('AR_CANCELLATION', 0);
INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
VALUES

4
installer/data/mysql/nb-NO/2-Valgfritt/auth_val.sql

@ -109,3 +109,7 @@ INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RETURN_
-- hold cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('HOLD_CANCELLATION','DAMAGED','Item was found to be too damaged to fill hold');
-- article request cancellation
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','DAMAGED','Item was found to be too damaged to fill article request');
Loading…
Cancel
Save