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

(-)a/C4/Reserves.pm (-41 / +17 lines)
Lines 1839-1853 sub _koha_notify_reserve { Link Here
1839
    
1839
    
1840
    # Try to get the borrower's email address
1840
    # Try to get the borrower's email address
1841
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1841
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1842
    
1842
1843
    my $letter_code;
1843
    my $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( {
1844
    my $print_mode = 0;
1844
            borrowernumber => $borrowernumber,
1845
    my $messagingprefs;
1845
            message_name => 'Hold_Filled'
1846
    if ( $to_address || $borrower->{'smsalertnumber'} ) {
1846
    } );
1847
        $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $borrowernumber, message_name => 'Hold_Filled' } );
1848
    } else {
1849
        $print_mode = 1;
1850
    }
1851
1847
1852
    my $sth = $dbh->prepare("
1848
    my $sth = $dbh->prepare("
1853
        SELECT *
1849
        SELECT *
Lines 1874-1916 sub _koha_notify_reserve { Link Here
1874
        substitute => { today => C4::Dates->new()->output() },
1870
        substitute => { today => C4::Dates->new()->output() },
1875
    );
1871
    );
1876
1872
1877
1873
    my $print_sent = 0;
1878
    if ( $print_mode ) {
1874
    while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) {
1879
        $letter_params{ 'letter_code' } = 'HOLD_PRINT';
1875
        if ( ($mtt eq 'email' and not $to_address) or ($mtt eq 'sms' and not $borrower->{smsalertnumber}) ) {
1880
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1876
            # email or sms is requested but not exist, do a print.
1877
            $mtt = 'print';
1878
        }
1879
        $letter_params{letter_code} = $letter_code;
1880
        $letter_params{message_transport_type} = $mtt;
1881
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params )
1882
            or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1881
1883
1882
        C4::Letters::EnqueueLetter( {
1884
        C4::Letters::EnqueueLetter( {
1883
            letter => $letter,
1885
            letter => $letter,
1884
            borrowernumber => $borrowernumber,
1886
            borrowernumber => $borrowernumber,
1885
            message_transport_type => 'print',
1887
            from_address => $admin_email_address,
1888
            message_transport_type => $mtt,
1886
        } );
1889
        } );
1887
        
1888
        return;
1889
    }
1890
1891
    if ( $to_address && defined $messagingprefs->{transports}->{'email'} ) {
1892
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'email'};
1893
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1894
1895
        C4::Letters::EnqueueLetter(
1896
            {   letter                 => $letter,
1897
                borrowernumber         => $borrowernumber,
1898
                message_transport_type => 'email',
1899
                from_address           => $admin_email_address,
1900
            }
1901
        );
1902
    }
1903
1904
    if ( $borrower->{'smsalertnumber'} && defined $messagingprefs->{transports}->{'sms'} ) {
1905
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'sms'};
1906
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1907
1908
        C4::Letters::EnqueueLetter(
1909
            {   letter                 => $letter,
1910
                borrowernumber         => $borrowernumber,
1911
                message_transport_type => 'sms',
1912
            }
1913
        );
1914
    }
1890
    }
1915
}
1891
}
1916
1892
(-)a/installer/data/mysql/updatedatabase.pl (+20 lines)
Lines 7163-7168 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
7163
}
7163
}
7164
7164
7165
7165
7166
7167
7168
7169
7170
$DBversion = "3.13.00.XXX";
7171
if ( CheckVersion($DBversion) ) {
7172
    $dbh->do(q|
7173
        UPDATE message_transports SET letter_code='HOLD' WHERE letter_code='HOLD_PHONE' OR letter_code='HOLD_PRINT'
7174
    |);
7175
    $dbh->do(q|
7176
        UPDATE letter SET code='HOLD', message_transport_type='print' WHERE code='HOLD_PRINT'
7177
    |);
7178
    $dbh->do(q|
7179
        UPDATE letter SET code='HOLD', message_transport_type='phone' WHERE code='HOLD_PHONE'
7180
    |);
7181
    print "Upgrade to $DBversion done (Bug 10845: Multi transport types for holds)\n";
7182
    SetVersion($DBversion);
7183
}
7184
7185
7166
=head1 FUNCTIONS
7186
=head1 FUNCTIONS
7167
7187
7168
=head2 TableExists($table)
7188
=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/3.12/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/3.12/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