Bug 30481: DBRev 21.12.00.031
[koha.git] / installer / data / mysql / db_revs / 210600035.pl
1 use Modern::Perl;
2
3 return {
4     bug_number => "28153",
5     description => "Add Hold Reminder messaging preference",
6     up => sub {
7         my ($args) = @_;
8         my ($dbh, $out) = @$args{qw(dbh out)};
9         my $attribute = $dbh->do(q{
10                 SELECT message_attribute_id
11                 FROM message_attributes
12                 WHERE message_name = "Hold_Reminder"
13         });
14         unless( $attribute == 1 ){
15             $dbh->do(q{
16                 INSERT IGNORE INTO `message_attributes`
17                     (message_attribute_id, message_name, `takes_days`)
18                 VALUES (10, 'Hold_Reminder', 0)
19             });
20             say $out "Message attribute added";
21             $dbh->do(q{
22                 INSERT IGNORE INTO `message_transports`
23                     (`message_attribute_id`, `message_transport_type`, `is_digest`, `letter_module`, `letter_code`)
24                 VALUES  (10, 'email', 0, 'circulation', 'HOLD_REMINDER'),
25                         (10, 'sms', 0, 'circulation', 'HOLD_REMINDER'),
26                         (10, 'phone', 0, 'circulation', 'HOLD_REMINDER'),
27                         (10, 'itiva', 0, 'circulation', 'HOLD_REMINDER')
28             });
29             say $out "HOLD_REMINDER added to message_transports";
30             $dbh->do(q{
31                     INSERT IGNORE INTO borrower_message_preferences
32                     ( borrowernumber, categorycode, message_attribute_id, days_in_advance, wants_digest )
33                     SELECT borrowernumber, categorycode, 10, days_in_advance, wants_digest
34                     FROM borrower_message_preferences WHERE message_attribute_id = 4
35             });
36             say $out "Hold_Filled message preference copied to Hold_Reminder";
37             $dbh->do(q{
38                     INSERT IGNORE INTO borrower_message_transport_preferences
39                     ( borrower_message_preference_id, message_transport_type )
40                     SELECT b1.borrower_message_preference_id, message_transport_type
41                     FROM borrower_message_preferences b1
42                     JOIN borrower_message_preferences b2 ON
43                       b1.message_attribute_id = 10 AND b2.message_attribute_id = 4 AND
44                       b1.borrowernumber=b2.borrowernumber
45                     JOIN borrower_message_transport_preferences bt ON
46                       b2.borrower_message_preference_id = bt.borrower_message_preference_id
47             });
48             say $out "Hold_Filled message transport preferences copied to Hold_Reminder";
49         } else {
50             say $out "Hold_Reminder message attribute exists, skipping update";
51         }
52     },
53 }