Bug 27947: Add authorised values list in article requests cancellation
[koha.git] / installer / data / mysql / atomicupdate / bug_27947.pl
1 use Modern::Perl;
2
3 return {
4     bug_number => "27947",
5     description => "Add authorised values list in article requests cancellation",
6     up => sub {
7         my ($args) = @_;
8         my ($dbh, $out) = @$args{qw(dbh out column_exists)};
9         # Do you stuffs here
10         $dbh->do(q{
11             INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
12             VALUES ('AR_CANCELLATION', 0)
13         });
14         # Print useful stuff here
15         say $out "Add AR_CANCELLATION category for authorised values";
16
17         $dbh->do(q{
18             INSERT IGNORE INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','NOT_FOUND','Item could not be located on shelves');
19         });
20
21         $dbh->do(q{
22             INSERT IGNORE INTO authorised_values (category, authorised_value, lib) VALUES ('AR_CANCELLATION','DAMAGED','Item was found to be too damaged to fill article request');
23         });
24
25         say $out "Add AR_CANCELLATION authorised values";
26
27         $dbh->do(q{
28             ALTER TABLE `article_requests` ADD COLUMN `cancellation_reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value AR_CANCELLATION' AFTER `urls`
29         }) unless column_exists('article_requests', 'cancellation_reason');
30
31         # Print useful stuff here
32         say $out "Add cancellation_reason column in article_requests table";
33
34         $dbh->do(q{
35             UPDATE `letter`
36             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'
37             WHERE   `module` = 'circulation'
38                     AND `code` = 'AR_CANCELED'
39         })
40     },
41 }