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

(-)a/C4/Reserves.pm (-41 / +17 lines)
Lines 1890-1904 sub _koha_notify_reserve { Link Here
1890
    
1890
    
1891
    # Try to get the borrower's email address
1891
    # Try to get the borrower's email address
1892
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1892
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1893
    
1893
1894
    my $letter_code;
1894
    my $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( {
1895
    my $print_mode = 0;
1895
            borrowernumber => $borrowernumber,
1896
    my $messagingprefs;
1896
            message_name => 'Hold_Filled'
1897
    if ( $to_address || $borrower->{'smsalertnumber'} ) {
1897
    } );
1898
        $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $borrowernumber, message_name => 'Hold_Filled' } );
1899
    } else {
1900
        $print_mode = 1;
1901
    }
1902
1898
1903
    my $sth = $dbh->prepare("
1899
    my $sth = $dbh->prepare("
1904
        SELECT *
1900
        SELECT *
Lines 1925-1967 sub _koha_notify_reserve { Link Here
1925
        substitute => { today => C4::Dates->new()->output() },
1921
        substitute => { today => C4::Dates->new()->output() },
1926
    );
1922
    );
1927
1923
1928
1924
    my $print_sent = 0;
1929
    if ( $print_mode ) {
1925
    while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) {
1930
        $letter_params{ 'letter_code' } = 'HOLD_PRINT';
1926
        if ( ($mtt eq 'email' and not $to_address) or ($mtt eq 'sms' and not $borrower->{smsalertnumber}) ) {
1931
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1927
            # email or sms is requested but not exist, do a print.
1928
            $mtt = 'print';
1929
        }
1930
        $letter_params{letter_code} = $letter_code;
1931
        $letter_params{message_transport_type} = $mtt;
1932
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params )
1933
            or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1932
1934
1933
        C4::Letters::EnqueueLetter( {
1935
        C4::Letters::EnqueueLetter( {
1934
            letter => $letter,
1936
            letter => $letter,
1935
            borrowernumber => $borrowernumber,
1937
            borrowernumber => $borrowernumber,
1936
            message_transport_type => 'print',
1938
            from_address => $admin_email_address,
1939
            message_transport_type => $mtt,
1937
        } );
1940
        } );
1938
        
1939
        return;
1940
    }
1941
1942
    if ( $to_address && defined $messagingprefs->{transports}->{'email'} ) {
1943
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'email'};
1944
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1945
1946
        C4::Letters::EnqueueLetter(
1947
            {   letter                 => $letter,
1948
                borrowernumber         => $borrowernumber,
1949
                message_transport_type => 'email',
1950
                from_address           => $admin_email_address,
1951
            }
1952
        );
1953
    }
1954
1955
    if ( $borrower->{'smsalertnumber'} && defined $messagingprefs->{transports}->{'sms'} ) {
1956
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'sms'};
1957
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1958
1959
        C4::Letters::EnqueueLetter(
1960
            {   letter                 => $letter,
1961
                borrowernumber         => $borrowernumber,
1962
                message_transport_type => 'sms',
1963
            }
1964
        );
1965
    }
1941
    }
1966
}
1942
}
1967
1943
(-)a/installer/data/mysql/updatedatabase.pl (+20 lines)
Lines 8260-8265 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
8260
}
8260
}
8261
8261
8262
8262
8263
8264
8265
8266
8267
$DBversion = "3.15.00.XXX";
8268
if ( CheckVersion($DBversion) ) {
8269
    $dbh->do(q|
8270
        UPDATE message_transports SET letter_code='HOLD' WHERE letter_code='HOLD_PHONE' OR letter_code='HOLD_PRINT'
8271
    |);
8272
    $dbh->do(q|
8273
        UPDATE letter SET code='HOLD', message_transport_type='print' WHERE code='HOLD_PRINT'
8274
    |);
8275
    $dbh->do(q|
8276
        UPDATE letter SET code='HOLD', message_transport_type='phone' WHERE code='HOLD_PHONE'
8277
    |);
8278
    print "Upgrade to $DBversion done (Bug 10845: Multi transport types for holds)\n";
8279
    SetVersion($DBversion);
8280
}
8281
8282
8263
=head1 FUNCTIONS
8283
=head1 FUNCTIONS
8264
8284
8265
=head2 TableExists($table)
8285
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/help/tools/letter.tt (-7 / +1 lines)
Lines 100-111 Link Here
100
    <li>When this notice references the branches table it is referring to the pickup library information.</li>
100
    <li>When this notice references the branches table it is referring to the pickup library information.</li>
101
</ul>
101
</ul>
102
</li>
102
</li>
103
	<li>HOLD_PRINT (Printed notice when hold available for pickup)
104
<ul>
105
	<li>This notice is used for hold confirmation notices that are sent out in print format. This will not effect what the email notice looks like.</li>
106
    <li>When this notice references the branches table it is referring to the pickup library information.</li>
107
</ul>
108
</li>
109
	<li>ODUE (Overdue Notice)
103
	<li>ODUE (Overdue Notice)
110
<ul>
104
<ul>
111
	<li>This notice is used to send Overdue Notices to Patrons</li>
105
	<li>This notice is used to send Overdue Notices to Patrons</li>
Lines 159-162 Link Here
159
153
160
<p><strong>See the full documentation for Notices in the <a href="http://manual.koha-community.org/[% helpVersion %]/en/notices.html">manual</a> (online).</strong></p>
154
<p><strong>See the full documentation for Notices in the <a href="http://manual.koha-community.org/[% helpVersion %]/en/notices.html">manual</a> (online).</strong></p>
161
155
162
[% INCLUDE 'help-bottom.inc' %]
156
[% INCLUDE 'help-bottom.inc' %]
(-)a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl (-3 / +3 lines)
Lines 70-76 my $type_module_map = { Link Here
70
my $type_notice_map = {
70
my $type_notice_map = {
71
    'PREOVERDUE' => 'PREDUE_PHONE',
71
    'PREOVERDUE' => 'PREDUE_PHONE',
72
    'OVERDUE'    => 'OVERDUE_PHONE',
72
    'OVERDUE'    => 'OVERDUE_PHONE',
73
    'RESERVE'    => 'HOLD_PHONE',
73
    'RESERVE'    => 'HOLD',
74
};
74
};
75
75
76
GetOptions(
76
GetOptions(
Lines 133-139 foreach my $type (@types) { Link Here
133
            tables      => {
133
            tables      => {
134
                borrowers   => $issues->{'borrowernumber'},
134
                borrowers   => $issues->{'borrowernumber'},
135
                biblio      => $issues->{'biblionumber'},
135
                biblio      => $issues->{'biblionumber'},
136
                biblioitems => $issues->{'biblionumber'}
136
                biblioitems => $issues->{'biblionumber'},
137
                message_transport_type => 'phone',
137
            },
138
            },
138
        );
139
        );
139
140
140
- 

Return to bug 10845