@@ -, +, @@ cancellation --- .../data/mysql/atomicupdate/bug_27947.pl | 24 +++++++++++++++++++ installer/data/mysql/en/optional/auth_val.yml | 9 +++++++ installer/data/mysql/kohastructure.sql | 1 + .../data/mysql/mandatory/auth_val_cat.sql | 3 ++- 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100755 installer/data/mysql/atomicupdate/bug_27947.pl --- a/installer/data/mysql/atomicupdate/bug_27947.pl +++ a/installer/data/mysql/atomicupdate/bug_27947.pl @@ -0,0 +1,24 @@ +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{ + 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"; + }, +} --- a/installer/data/mysql/en/optional/auth_val.yml +++ a/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" --- a/installer/data/mysql/kohastructure.sql +++ a/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`), --- a/installer/data/mysql/mandatory/auth_val_cat.sql +++ a/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 --