View | Details | Raw Unified | Return to bug 23781
Collapse All | Expand All

(-)a/Koha/Recall.pm (-5 / +6 lines)
Lines 358-370 sub set_waiting { Link Here
358
        },
358
        },
359
    );
359
    );
360
360
361
    my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences({ borrowernumber => $self->patron_id, message_name => 'Recall_Waiting' });
361
    my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences(
362
        { borrowernumber => $self->patron_id, message_name => 'Recall_Waiting' } );
362
    while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) {
363
    while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) {
363
        if ( $transport eq 'email' ){
364
        if ( $transport eq 'email' ) {
364
            C4::Message->enqueue($letter, $self->patron, 'email');
365
            C4::Message->enqueue( $letter, $self->patron, 'email' );
365
        }
366
        }
366
        if ( $transport eq 'sms' ){
367
        if ( $transport eq 'sms' ) {
367
            C4::Message->enqueue($letter, $self->patron, 'sms');
368
            C4::Message->enqueue( $letter, $self->patron, 'sms' );
368
        }
369
        }
369
    }
370
    }
370
371
(-)a/Koha/Recalls.pm (-3 / +4 lines)
Lines 167-179 sub add_recall { Link Here
167
            },
167
            },
168
        );
168
        );
169
169
170
        my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences({ borrowernumber => $checkout->borrowernumber, message_name => 'Recall_Requested' });
170
        my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences(
171
            { borrowernumber => $checkout->borrowernumber, message_name => 'Recall_Requested' } );
171
172
172
        while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) {
173
        while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) {
173
            if ( $transport eq 'email' ){
174
            if ( $transport eq 'email' ) {
174
                C4::Message->enqueue( $letter, $checkout->patron, 'email' );
175
                C4::Message->enqueue( $letter, $checkout->patron, 'email' );
175
            }
176
            }
176
            if ( $transport eq 'sms' ){
177
            if ( $transport eq 'sms' ) {
177
                C4::Message->enqueue( $letter, $checkout->patron, 'sms' );
178
                C4::Message->enqueue( $letter, $checkout->patron, 'sms' );
178
            }
179
            }
179
        }
180
        }
(-)a/installer/data/mysql/atomicupdate/bug_23781-recalls_message_attributes.pl (-4 / +6 lines)
Lines 1-12 Link Here
1
use Modern::Perl;
1
use Modern::Perl;
2
2
3
return {
3
return {
4
    bug_number => "23781",
4
    bug_number  => "23781",
5
    description => "Adding message attributes for recalls: Recall_Waiting, Recall_Requested",
5
    description => "Adding message attributes for recalls: Recall_Waiting, Recall_Requested",
6
    up => sub {
6
    up          => sub {
7
        my ($args) = @_;
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
9
10
        $dbh->do(q{ INSERT IGNORE INTO message_attributes (message_attribute_id, message_name, takes_days) VALUES (12, 'Recall_Waiting', 0), (13, 'Recall_Requested', 0) });
10
        $dbh->do(
11
            q{ INSERT IGNORE INTO message_attributes (message_attribute_id, message_name, takes_days) VALUES (12, 'Recall_Waiting', 0), (13, 'Recall_Requested', 0) }
12
        );
11
    },
13
    },
12
};
14
};
(-)a/installer/data/mysql/atomicupdate/bug_23781-recalls_message_transports.pl (-4 / +6 lines)
Lines 1-12 Link Here
1
use Modern::Perl;
1
use Modern::Perl;
2
2
3
return {
3
return {
4
    bug_number => "23781",
4
    bug_number  => "23781",
5
    description => "Adding message transports for recalls notices",
5
    description => "Adding message transports for recalls notices",
6
    up => sub {
6
    up          => sub {
7
        my ($args) = @_;
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
9
10
        $dbh->do(q{ INSERT IGNORE INTO message_transports (message_attribute_id, message_transport_type, is_digest, letter_module, letter_code, branchcode) VALUES (12, "email", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (12, "sms", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (13, "email", 0, "circulation", "RETURN_RECALLED_ITEM", null), (13, "sms", 0, "circulation", "RETURN_RECALLED_ITEM", null) });
10
        $dbh->do(
11
            q{ INSERT IGNORE INTO message_transports (message_attribute_id, message_transport_type, is_digest, letter_module, letter_code, branchcode) VALUES (12, "email", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (12, "sms", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (13, "email", 0, "circulation", "RETURN_RECALLED_ITEM", null), (13, "sms", 0, "circulation", "RETURN_RECALLED_ITEM", null) }
12
        );
11
    },
13
    },
12
};
14
};
(-)a/installer/data/mysql/atomicupdate/bug_23781-recalls_sms_notices.pl (-5 / +7 lines)
Lines 1-13 Link Here
1
use Modern::Perl;
1
use Modern::Perl;
2
2
3
return {
3
return {
4
    bug_number => "23781",
4
    bug_number  => "23781",
5
    description => "Add recalls SMS notices: RETURN_RECALLED_ITEM, PICKUP_RECALLED_ITEM",
5
    description => "Add recalls SMS notices: RETURN_RECALLED_ITEM, PICKUP_RECALLED_ITEM",
6
    up => sub {
6
    up          => sub {
7
        my ($args) = @_;
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
9
10
        $dbh->do(q{ INSERT IGNORE INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES ('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
10
        $dbh->do(
11
            q{ INSERT IGNORE INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES ('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
11
12
12
<<borrowers.firstname>> <<borrowers.surname>>,
13
<<borrowers.firstname>> <<borrowers.surname>>,
13
14
Lines 19-24 Thank you!','sms'), ('circulation','PICKUP_RECALLED_ITEM','','Recalled item awai Link Here
19
20
20
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
21
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
21
22
22
Thank you!','sms') });
23
Thank you!','sms') }
24
        );
23
    },
25
    },
24
};
26
};
(-)a/t/db_dependent/Koha/Recall.t (-5 / +7 lines)
Lines 126-136 $expected_expirationdate = dt_from_string->add({ days => 3 }); Link Here
126
$expirationdate = $recall2->calc_expirationdate;
126
$expirationdate = $recall2->calc_expirationdate;
127
is( t::lib::Dates::compare( $expirationdate, $expected_expirationdate ), 0, "Expiration date calculated based on circulation rules" );
127
is( t::lib::Dates::compare( $expirationdate, $expected_expirationdate ), 0, "Expiration date calculated based on circulation rules" );
128
128
129
C4::Members::Messaging::SetMessagingPreference({
129
C4::Members::Messaging::SetMessagingPreference(
130
    borrowernumber => $patron1->borrowernumber,
130
    {
131
    message_attribute_id => 12, # Recall_Waiting
131
        borrowernumber          => $patron1->borrowernumber,
132
    message_transport_types => [ qw( email sms ) ],
132
        message_attribute_id    => 12,                         # Recall_Waiting
133
});
133
        message_transport_types => [qw( email sms )],
134
    }
135
);
134
136
135
$recall2->set_waiting({ expirationdate => $expirationdate });
137
$recall2->set_waiting({ expirationdate => $expirationdate });
136
is( $recall2->waiting, 1, "Recall is waiting" );
138
is( $recall2->waiting, 1, "Recall is waiting" );
(-)a/t/db_dependent/Koha/Recalls.t (-6 / +7 lines)
Lines 68-78 Koha::CirculationRules->set_rules({ Link Here
68
C4::Circulation::AddIssue( $patron3->unblessed, $item1->barcode );
68
C4::Circulation::AddIssue( $patron3->unblessed, $item1->barcode );
69
C4::Circulation::AddIssue( $patron3->unblessed, $item2->barcode );
69
C4::Circulation::AddIssue( $patron3->unblessed, $item2->barcode );
70
70
71
C4::Members::Messaging::SetMessagingPreference({
71
C4::Members::Messaging::SetMessagingPreference(
72
    borrowernumber => $patron3->borrowernumber,
72
    {
73
    message_attribute_id => 13, # Recall_Requested
73
        borrowernumber          => $patron3->borrowernumber,
74
    message_transport_types => [ qw( email sms ) ],
74
        message_attribute_id    => 13,                         # Recall_Requested
75
});
75
        message_transport_types => [qw( email sms )],
76
    }
77
);
76
78
77
my ( $recall, $due_interval, $due_date ) = Koha::Recalls->add_recall({
79
my ( $recall, $due_interval, $due_date ) = Koha::Recalls->add_recall({
78
    patron => undef,
80
    patron => undef,
79
- 

Return to bug 23781