5 description => "Update accounts notices",
8 my ($dbh, $out) = @$args{qw(dbh out)};
11 my $account_credit = q{
12 [%- USE AuthorisedValues -%]
15 [%- PROCESS "accounts.inc" -%]
17 [% IF ( LibraryName ) %]
19 <th colspan="2" class="centerednames">
20 <h3>[% LibraryName | html %]</h3>
24 [% IF credit.library %]
26 <th colspan="2" class="centerednames">
27 <h2>[% credit.library.branchname | html %]</h2>
32 <th colspan="2" class="centerednames">
33 <h3>[% today | $KohaDates %]</h3>
37 <td>Transaction ID: </td>
38 <td>[% credit.accountlines_id %]</td>
41 <td>Operator ID: </td>
42 <td>[% credit.manager_id %]</td>
44 [% IF credit.payment_type %]
46 <td>Payment type: </td>
47 <td>[% AuthorisedValues.GetByCode('PAYMENT_TYPE', credit.payment_type) %]</td>
51 <th colspan="2" class="centerednames">
52 <h2><u>[%- PROCESS credit_type_description credit_type = credit.credit_type -%] receipt</u></h2>
55 [% IF ( credit.credit_type_code == 'PAYMENT' ) %]
58 Received with thanks from [% credit.patron.firstname | html %] [% credit.patron.surname | html %] <br />
59 Card number: [% credit.patron.cardnumber | html %]<br />
62 [% ELSIF ( credit.credit_type_code == 'CREDIT' ) %]
65 Credit added to account for [% credit.patron.firstname | html %] [% credit.patron.surname | html %] <br />
66 Card number: [% credit.patron.cardnumber | html %]<br />
69 [% ELSIF ( credit.credit_type_code == 'WRITEOFF' ) %]
72 Writeoff added to account for [% credit.patron.firstname | html %] [% credit.patron.surname | html %] <br />
73 Card number: [% credit.patron.cardnumber | html %]<br />
77 [% IF credit.amountoutstanding + 0 != 0 %]
79 <th>Description of credit</th>
83 <td>[%- PROCESS credit_type_description credit_type = credit.credit_type -%]</td>
84 <td>[% credit.amount * -1 | $Price %]</td>
87 <th style="text-align:right;">Total available:</th>
88 <td>[% credit.amountoutstanding * -1 | $Price %]</td>
91 [% IF credit.amount != credit.amountoutstanding %]
93 <th>Description of charges</th>
96 [% FOREACH offset IN credit.credit_offsets %]
98 <td>[% PROCESS account_type_description account=offset.debit %][% IF ( offset.debit.itemnumber ) %] - [% offset.debit.item.biblio.title %][% END %]</td>
99 <td>[% offset.amount * -1 | $Price %]</td>
104 <tr class="highlight">
106 <td>[% credit.amount * -1 | $Price %]</td>
108 [% IF change.defined %]
110 <td>Change given: </td>
111 <td>[% change | $Price %]</td>
115 <td colspan="2"></td>
118 <td>Account balance as on date:</td>
119 <td>[% credit.patron.account.balance * -1 | $Price %]</td>
125 my $account_credit_old = q{<table>[%IF(LibraryName)%]<tr><thcolspan="4"class="centerednames"><h3>[%LibraryName|html%]</h3></th></tr>[%END%]<tr><thcolspan="4"class="centerednames"><h2><u>Feereceipt</u></h2></th></tr><tr><thcolspan="4"class="centerednames"><h2>[%Branches.GetName(patron.branchcode)|html%]</h2></th></tr><tr><thcolspan="4">Receivedwiththanksfrom[%patron.firstname|html%][%patron.surname|html%]<br/>Cardnumber:[%patron.cardnumber|html%]<br/></th></tr><tr><th>Date</th><th>Descriptionofcharges</th><th>Note</th><th>Amount</th></tr>[%FOREACHaccountINaccounts%]<trclass="highlight"><td>[%account.date|$KohaDates%]</td><td>[%PROCESSaccount_type_descriptionaccount=account%][%-IFaccount.description%],[%account.description|html%][%END%]</td><td>[%account.note|html%]</td>[%IF(account.amountcredit)%]<tdclass="credit">[%ELSE%]<tdclass="debit">[%END%][%account.amount|$Price%]</td></tr>[%END%]<tfoot><tr><tdcolspan="3">Totaloutstandingduesasondate:</td>[%IF(totalcredit)%]<tdclass="credit">[%ELSE%]<tdclass="debit">[%END%][%total|$Price%]</td></tr></tfoot></table>};
127 my $sth = $dbh->prepare(q{
128 UPDATE letter SET content = ? WHERE code = 'ACCOUNT_CREDIT' AND REPLACE(REPLACE(content, ' ', ''), '\n','') = ?
130 $sth->execute( $account_credit, $account_credit_old );
132 # replace patron variable with credit.patron
133 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% patron', '[% credit.patron') WHERE code = 'ACCOUNT_CREDIT' ");
134 # replace library variable with credit.library.branchname
135 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% library', '[% credit.library.branchname') WHERE code = 'ACCOUNT_CREDIT' ");
136 # replace offsets variable with credit.offsets
137 $dbh->do("UPDATE letter SET content = REPLACE(content, ' offsets %]', ' credit.offsets %]') WHERE code = 'ACCOUNT_CREDIT' ");
138 # replace change_given variable with change
139 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% change_given', '[% change') WHERE code = 'ACCOUNT_CREDIT' ");
142 my $account_debit = q{
143 [% PROCESS "accounts.inc" %]
145 [%- USE KohaDates -%]
147 [% IF ( LibraryName ) %]
149 <th colspan="3" class="centerednames">
150 <h3>[% LibraryName | html %]</h3>
154 [% IF debit.library %]
156 <th colspan="3" class="centerednames">
157 <h2>[% debit.library.branchname | html %]</h2>
162 <td colspan="2" style="text-align:right;">Fee ID: </td>
163 <td>[% debit.accountlines_id %]</td>
165 [% IF credit.manager_id %]
167 <td colspan="2" style="text-align:right;">Operator ID: </td>
168 <td>[% credit.manager_id %]</td>
172 <th colspan="3" class="centerednames">
173 <h2><u>Invoice</u></h2>
178 Bill to: [% debit.patron.firstname | html %] [% debit.patron.surname | html %] <br />
179 Card number: [% debit.patron.cardnumber | html %]<br />
182 [% IF debit.amountoutstanding != 0 %]
185 <th>Description of charges</th>
189 <td>[% debit.date | $KohaDates %]</td>
190 <td>[% PROCESS account_type_description account=debit %]</td>
191 <td>[% debit.amount | $Price %]</td>
194 <td colspan="2" style="text-align:right;">Total owed:</td>
195 <td>[% debit.amount | $Price %]</td>
198 [% IF debit.amount != debit.amountoutstanding %]
201 <th>Description of payments</th>
204 [% FOREACH offset IN debit.debit_offsets %]
206 <td>[% offset.credit.date | $KohaDates %]</td>
207 <td>[% PROCESS account_type_description account=offset.credit %]</td>
208 <td>[% offset.amount * -1 | $Price %]</td>
211 <tr class="highlight">
212 <td colspan="2" style="text-align:right;">Total paid:</td>
213 <td>[% debit.amount - debit.amountoutstanding | $Price %]</td>
217 <td colspan="3"></td>
221 <th colspan="2" style="text-align:right;">Total outstanding:</th>
222 <td>[% debit.amountoutstanding | $Price %]</td>
228 my $account_debit_old = q{<table>[%IF(LibraryName)%]<tr><thcolspan="5"class="centerednames"><h3>[%LibraryName|html%]</h3></th></tr>[%END%]<tr><thcolspan="5"class="centerednames"><h2><u>INVOICE</u></h2></th></tr><tr><thcolspan="5"class="centerednames"><h2>[%Branches.GetName(patron.branchcode)|html%]</h2></th></tr><tr><thcolspan="5">Billto:[%patron.firstname|html%][%patron.surname|html%]<br/>Cardnumber:[%patron.cardnumber|html%]<br/></th></tr><tr><th>Date</th><th>Descriptionofcharges</th><th>Note</th><thstyle="text-align:right;">Amount</th><thstyle="text-align:right;">Amountoutstanding</th></tr>[%FOREACHaccountINaccounts%]<trclass="highlight"><td>[%account.date|$KohaDates%]</td><td>[%PROCESSaccount_type_descriptionaccount=account%][%-IFaccount.description%],[%account.description|html%][%END%]</td><td>[%account.note|html%]</td>[%IF(account.amountcredit)%]<tdclass="credit">[%ELSE%]<tdclass="debit">[%END%][%account.amount|$Price%]</td>[%IF(account.amountoutstandingcredit)%]<tdclass="credit">[%ELSE%]<tdclass="debit">[%END%][%account.amountoutstanding|$Price%]</td></tr>[%END%]<tfoot><tr><tdcolspan="4">Totaloutstandingduesasondate:</td>[%IF(totalcredit)%]<tdclass="credit">[%ELSE%]<tdclass="debit">[%END%][%total|$Price%]</td></tr></tfoot></table>};
230 $sth = $dbh->prepare(q{
231 UPDATE letter SET content = ? WHERE code = 'ACCOUNT_DEBIT' AND REPLACE(REPLACE(content, ' ', ''), '\n','') = ?
233 $sth->execute($account_debit, $account_debit_old);
235 # replace patron variable with debit.patron
236 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% patron', '[% debit.patron') WHERE code = 'ACCOUNT_DEBIT' ");
237 # replace library variable with debit.library.branchname
238 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% library', '[% debit.library.branchname') WHERE code = 'ACCOUNT_DEBIT' ");
239 # replace offsets variable with debit.offsets
240 $dbh->do("UPDATE letter SET content = REPLACE(content, ' offsets %]', ' debit.offsets %]') WHERE code = 'ACCOUNT_DEBIT' ");
241 # replace total variable with debit.patron.account.balance
242 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% total ', '[% debit.patron.account.balance ') WHERE code = 'ACCOUNT_DEBIT' ");
243 # replace totalcredit variable with debit.patron.account.balance <= 0
244 $dbh->do("UPDATE letter SET content = REPLACE(content, 'totalcredit', 'debit.patron.account.balance <= 0') WHERE code = 'ACCOUNT_DEBIT' ");
248 [% PROCESS "accounts.inc" %]
249 [%- USE KohaDates -%]
252 [% IF ( LibraryName ) %]
254 <th colspan="2" class="centerednames">
255 <h3>[% LibraryName | html %]</h3>
259 [% IF credit.library %]
261 <th colspan="2" class="centerednames">
262 <h2>[% payment.library.branchname ) | html %]</h2>
267 <th colspan="2" class="centerednames">
268 <h3>[% payment.date | $KohaDates %]</h3>
272 <td>Transaction ID: </td>
273 <td>[% payment.accountlines_id %]</td>
276 <td>Operator ID: </td>
277 <td>[% payment.manager_id %]</td>
280 <td>Payment type: </td>
281 <td>[% payment.payment_type %]</td>
284 <th colspan="2" class="centerednames">
285 <h2><u>Payment receipt</u></h2>
289 <th>Description of charges</th>
292 [% FOREACH offset IN payment.credit_offsets %]
294 <td>[% PROCESS account_type_description account=offset.debit %]</td>
295 <td>[% offset.amount * -1 | $Price %]</td>
299 <tr class="highlight">
301 <td>[% payment.amount * -1 | $Price %]</td>
305 <td>[% tendered | $Price %]</td>
308 <td>Change given:</td>
309 <td>[% change | $Price %]</td>
315 my $receipt_old = q{[%PROCESS"accounts.inc"%]<table>[%IF(LibraryName)%]<tr><thcolspan="2"class="centerednames"><h3>[%LibraryName|html%]</h3></th></tr>[%END%]<tr><thcolspan="2"class="centerednames"><h2>[%Branches.GetName(payment.branchcode)|html%]</h2></th></tr><tr><thcolspan="2"class="centerednames"><h3>[%payment.date|$KohaDates%]</h3></tr><tr><td>TransactionID:</td><td>[%payment.accountlines_id%]</td></tr><tr><td>OperatorID:</td><td>[%payment.manager_id%]</td></tr><tr><td>Paymenttype:</td><td>[%payment.payment_type%]</td></tr><tr></tr><tr><thcolspan="2"class="centerednames"><h2><u>Feereceipt</u></h2></th></tr><tr></tr><tr><th>Descriptionofcharges</th><th>Amount</th></tr>[%FOREACHoffsetINoffsets%]<tr><td>[%PROCESSaccount_type_descriptionaccount=offset.debit%]</td><td>[%offset.amount*-1|$Price%]</td></tr>[%END%]<tfoot><trclass="highlight"><td>Total:</td><td>[%payment.amount*-1|$Price%]</td></tr><tr><td>Tendered:</td><td>[%collected|$Price%]</td></tr><tr><td>Change:</td><td>[%change|$Price%]</td></tr></tfoot></table>};
317 $sth = $dbh->prepare(q{
318 UPDATE letter SET content = ? WHERE code = 'RECEIPT' AND REPLACE(REPLACE(content, ' ', ''), '\n','') = ?
320 $sth->execute($receipt,$receipt_old);
322 # replace offsets variable with debit.offsets
323 $dbh->do("UPDATE letter SET content = REPLACE(content, ' offsets %]', ' payment.offsets %]') WHERE code = 'RECEIPT' ");
324 # replace collected variable with tendered
325 $dbh->do("UPDATE letter SET content = REPLACE(content, '[% collected', '[% tendered') WHERE code = 'RECEIPT' ");