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

(-)a/C4/Reserves.pm (-41 / +17 lines)
Lines 1860-1874 sub _koha_notify_reserve { Link Here
1860
    
1860
    
1861
    # Try to get the borrower's email address
1861
    # Try to get the borrower's email address
1862
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1862
    my $to_address = C4::Members::GetNoticeEmailAddress($borrowernumber);
1863
    
1863
1864
    my $letter_code;
1864
    my $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( {
1865
    my $print_mode = 0;
1865
            borrowernumber => $borrowernumber,
1866
    my $messagingprefs;
1866
            message_name => 'Hold_Filled'
1867
    if ( $to_address || $borrower->{'smsalertnumber'} ) {
1867
    } );
1868
        $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $borrowernumber, message_name => 'Hold_Filled' } );
1869
    } else {
1870
        $print_mode = 1;
1871
    }
1872
1868
1873
    my $sth = $dbh->prepare("
1869
    my $sth = $dbh->prepare("
1874
        SELECT *
1870
        SELECT *
Lines 1895-1937 sub _koha_notify_reserve { Link Here
1895
        substitute => { today => C4::Dates->new()->output() },
1891
        substitute => { today => C4::Dates->new()->output() },
1896
    );
1892
    );
1897
1893
1898
1894
    my $print_sent = 0;
1899
    if ( $print_mode ) {
1895
    while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) {
1900
        $letter_params{ 'letter_code' } = 'HOLD_PRINT';
1896
        if ( ($mtt eq 'email' and not $to_address) or ($mtt eq 'sms' and not $borrower->{smsalertnumber}) ) {
1901
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1897
            # email or sms is requested but not exist, do a print.
1898
            $mtt = 'print';
1899
        }
1900
        $letter_params{letter_code} = $letter_code;
1901
        $letter_params{message_transport_type} = $mtt;
1902
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params )
1903
            or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1902
1904
1903
        C4::Letters::EnqueueLetter( {
1905
        C4::Letters::EnqueueLetter( {
1904
            letter => $letter,
1906
            letter => $letter,
1905
            borrowernumber => $borrowernumber,
1907
            borrowernumber => $borrowernumber,
1906
            message_transport_type => 'print',
1908
            from_address => $admin_email_address,
1909
            message_transport_type => $mtt,
1907
        } );
1910
        } );
1908
        
1909
        return;
1910
    }
1911
1912
    if ( $to_address && defined $messagingprefs->{transports}->{'email'} ) {
1913
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'email'};
1914
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1915
1916
        C4::Letters::EnqueueLetter(
1917
            {   letter                 => $letter,
1918
                borrowernumber         => $borrowernumber,
1919
                message_transport_type => 'email',
1920
                from_address           => $admin_email_address,
1921
            }
1922
        );
1923
    }
1924
1925
    if ( $borrower->{'smsalertnumber'} && defined $messagingprefs->{transports}->{'sms'} ) {
1926
        $letter_params{ 'letter_code' } = $messagingprefs->{transports}->{'sms'};
1927
        my $letter =  C4::Letters::GetPreparedLetter ( %letter_params ) or die "Could not find a letter called '$letter_params{'letter_code'}' in the 'reserves' module";
1928
1929
        C4::Letters::EnqueueLetter(
1930
            {   letter                 => $letter,
1931
                borrowernumber         => $borrowernumber,
1932
                message_transport_type => 'sms',
1933
            }
1934
        );
1935
    }
1911
    }
1936
}
1912
}
1937
1913
(-)a/installer/data/mysql/updatedatabase.pl (+20 lines)
Lines 7971-7976 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
7971
}
7971
}
7972
7972
7973
7973
7974
7975
7976
7977
7978
$DBversion = "3.15.00.XXX";
7979
if ( CheckVersion($DBversion) ) {
7980
    $dbh->do(q|
7981
        UPDATE message_transports SET letter_code='HOLD' WHERE letter_code='HOLD_PHONE' OR letter_code='HOLD_PRINT'
7982
    |);
7983
    $dbh->do(q|
7984
        UPDATE letter SET code='HOLD', message_transport_type='print' WHERE code='HOLD_PRINT'
7985
    |);
7986
    $dbh->do(q|
7987
        UPDATE letter SET code='HOLD', message_transport_type='phone' WHERE code='HOLD_PHONE'
7988
    |);
7989
    print "Upgrade to $DBversion done (Bug 10845: Multi transport types for holds)\n";
7990
    SetVersion($DBversion);
7991
}
7992
7993
7974
=head1 FUNCTIONS
7994
=head1 FUNCTIONS
7975
7995
7976
=head2 TableExists($table)
7996
=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