Lines 1-45
Link Here
|
1 |
$DBversion = 'XXX'; |
1 |
$DBversion = 'XXX'; |
2 |
if( CheckVersion( $DBversion ) ) { |
2 |
if ( CheckVersion($DBversion) ) { |
3 |
|
3 |
|
4 |
# ACCOUNT_CREDIT UPDATES |
4 |
# ACCOUNT_CREDIT UPDATES |
5 |
# replace patron variable with credit.patron |
5 |
# backup existing notice to action_logs |
6 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% patron', '[% credit.patron') WHERE code = 'ACCOUNT_CREDIT' "); |
6 |
my $credit_arr = $dbh->selectall_arrayref( |
7 |
# replace library variable with credit.library.branchname |
7 |
"SELECT lang FROM letter WHERE code = 'ACCOUNT_CREDIT'", { Slice => {} }); |
8 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% library', '[% credit.library.branchname') WHERE code = 'ACCOUNT_CREDIT' "); |
8 |
my $c_sth = $dbh->prepare(q{ |
9 |
|
9 |
INSERT INTO action_logs ( timestamp, module, action, object, info, interface ) |
10 |
# replace offsets variable with credit.offsets |
10 |
SELECT NOW(), 'NOTICES', 'UPGRADE', id, content, 'cli' |
11 |
$dbh->do("UPDATE letter SET content = REPLACE(content, ' offsets %]', ' credit.offsets %]') WHERE code = 'ACCOUNT_CREDIT' "); |
11 |
FROM letter |
12 |
# replace change_given variable with change |
12 |
WHERE lang = ? AND code = 'ACCOUNT_CREDIT' |
13 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% change_given', '[% change') WHERE code = 'ACCOUNT_CREDIT' "); |
13 |
}); |
14 |
|
14 |
|
15 |
# replace accounts foreach with basic check |
15 |
for my $c ( @{$credit_arr} ) { |
16 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% FOREACH account IN accounts %]', '[% IF credit %]') WHERE code = 'ACCOUNT_CREDIT' "); |
16 |
$c_sth->execute( $c->{lang} ); |
17 |
# replace account with credit |
17 |
} |
18 |
$dbh->do("UPDATE letter SET content = REPLACE(content, 'account.', 'credit.') WHERE code = 'ACCOUNT_CREDIT' "); |
18 |
|
19 |
# replace amountcredit with amount >= 0 |
19 |
# replace notice with default |
20 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '( credit.amountcredit )', '( credit.amount <= 0 )') WHERE code = 'ACCOUNT_CREDIT' "); |
20 |
my $c_notice = q{ |
|
|
21 |
[% USE Price %] |
22 |
[% PROCESS 'accounts.inc' %] |
23 |
<table> |
24 |
[% IF ( LibraryName ) %] |
25 |
<tr> |
26 |
<th colspan="4" class="centerednames"> |
27 |
<h3>[% LibraryName | html %]</h3> |
28 |
</th> |
29 |
</tr> |
30 |
[% END %] |
31 |
<tr> |
32 |
<th colspan="4" class="centerednames"> |
33 |
<h2><u>Fee receipt</u></h2> |
34 |
</th> |
35 |
</tr> |
36 |
<tr> |
37 |
<th colspan="4" class="centerednames"> |
38 |
<h2>[% Branches.GetName( credit.patron.branchcode ) | html %]</h2> |
39 |
</th> |
40 |
</tr> |
41 |
<tr> |
42 |
<th colspan="4"> |
43 |
Received with thanks from [% credit.patron.firstname | html %] [% credit.patron.surname | html %] <br /> |
44 |
Card number: [% credit.patron.cardnumber | html %]<br /> |
45 |
</th> |
46 |
</tr> |
47 |
<tr> |
48 |
<th>Date</th> |
49 |
<th>Description of charges</th> |
50 |
<th>Note</th> |
51 |
<th>Amount</th> |
52 |
</tr> |
53 |
|
54 |
<tr class="highlight"> |
55 |
<td>[% credit.date | $KohaDates %]</td> |
56 |
<td> |
57 |
[% PROCESS account_type_description account=credit %] |
58 |
[%- IF credit.description %], [% credit.description | html %][% END %] |
59 |
</td> |
60 |
<td>[% credit.note | html %]</td> |
61 |
<td class="credit">[% credit.amount | $Price %]</td> |
62 |
</tr> |
63 |
|
64 |
<tfoot> |
65 |
<tr> |
66 |
<td colspan="3">Total outstanding dues as on date: </td> |
67 |
[% IF ( credit.patron.account.balance >= 0 ) %]<td class="credit">[% ELSE %]<td class="debit">[% END %][% credit.patron.account.balance | $Price %]</td> |
68 |
</tr> |
69 |
</tfoot> |
70 |
</table> |
71 |
}; |
72 |
|
73 |
my $c_insert = $dbh->prepare("UPDATE letter SET content = ?, is_html = 1 WHERE code = 'ACCOUNT_CREDIT'"); |
74 |
$c_insert->execute($c_notice); |
21 |
|
75 |
|
22 |
# ACCOUNT_DEBIT UPDATES |
76 |
# ACCOUNT_DEBIT UPDATES |
23 |
# replace patron variable with debit.patron |
77 |
# backup existing notice to action_logs |
24 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% patron', '[% debit.patron') WHERE code = 'ACCOUNT_DEBIT' "); |
78 |
my $debit_arr = $dbh->selectall_arrayref( |
25 |
# replace library variable with debit.library.branchname |
79 |
"SELECT lang FROM letter WHERE code = 'ACCOUNT_DEBIT'", { Slice => {} }); |
26 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% library', '[% debit.library.branchname') WHERE code = 'ACCOUNT_DEBIT' "); |
80 |
my $d_sth = $dbh->prepare(q{ |
27 |
# replace offsets variable with debit.offsets |
81 |
INSERT INTO action_logs ( timestamp, module, action, object, info, interface ) |
28 |
$dbh->do("UPDATE letter SET content = REPLACE(content, ' offsets %]', ' debit.offsets %]') WHERE code = 'ACCOUNT_DEBIT' "); |
82 |
SELECT NOW(), 'NOTICES', 'UPGRADE', id, content, 'cli' |
29 |
|
83 |
FROM letter |
30 |
# replace accounts foreach with basic check |
84 |
WHERE lang = ? AND code = 'ACCOUNT_DEBIT' |
31 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% FOREACH account IN accounts %]', '[% IF debit %]') WHERE code = 'ACCOUNT_DEBIT' "); |
85 |
}); |
32 |
# replace account with debit |
86 |
|
33 |
$dbh->do("UPDATE letter SET content = REPLACE(content, 'account.', 'debit.') WHERE code = 'ACCOUNT_DEBIT' "); |
87 |
for my $d ( @{$debit_arr} ) { |
34 |
# replace amountcredit with amount >= 0 |
88 |
$d_sth->execute( $d->{lang} ); |
35 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '( debit.amountcredit )', '( debit.amount <= 0 )') WHERE code = 'ACCOUNT_DEBIT' "); |
89 |
} |
36 |
# replace amountoutstandingcredit with amount >= 0 |
90 |
|
37 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '( debit.amountoutstandingcredit )', '( debit.amountoutstanding <= 0 )') WHERE code = 'ACCOUNT_DEBIT' "); |
91 |
# replace notice with default |
38 |
|
92 |
my $d_notice = q{ |
39 |
# replace total variable with debit.patron.account.balance |
93 |
[% USE Price %] |
40 |
$dbh->do("UPDATE letter SET content = REPLACE(content, '[% total ', '[% debit.patron.account.balance ') WHERE code = 'ACCOUNT_DEBIT' "); |
94 |
[% PROCESS 'accounts.inc' %] |
41 |
# replace totalcredit variable with debit.patron.account.balance <= 0 |
95 |
<table> |
42 |
$dbh->do("UPDATE letter SET content = REPLACE(content, 'totalcredit', 'debit.patron.account.balance <= 0') WHERE code = 'ACCOUNT_DEBIT' "); |
96 |
[% IF ( LibraryName ) %] |
43 |
|
97 |
<tr> |
44 |
NewVersion( $DBversion, 26734, "Update notices to use standard variables"); |
98 |
<th colspan="5" class="centerednames"> |
|
|
99 |
<h3>[% LibraryName | html %]</h3> |
100 |
</th> |
101 |
</tr> |
102 |
[% END %] |
103 |
|
104 |
<tr> |
105 |
<th colspan="5" class="centerednames"> |
106 |
<h2><u>INVOICE</u></h2> |
107 |
</th> |
108 |
</tr> |
109 |
<tr> |
110 |
<th colspan="5" class="centerednames"> |
111 |
<h2>[% Branches.GetName( debit.patron.branchcode ) | html %]</h2> |
112 |
</th> |
113 |
</tr> |
114 |
<tr> |
115 |
<th colspan="5" > |
116 |
Bill to: [% debit.patron.firstname | html %] [% debit.patron.surname | html %] <br /> |
117 |
Card number: [% debit.patron.cardnumber | html %]<br /> |
118 |
</th> |
119 |
</tr> |
120 |
<tr> |
121 |
<th>Date</th> |
122 |
<th>Description of charges</th> |
123 |
<th>Note</th> |
124 |
<th style="text-align:right;">Amount</th> |
125 |
<th style="text-align:right;">Amount outstanding</th> |
126 |
</tr> |
127 |
|
128 |
<tr class="highlight"> |
129 |
<td>[% debit.date | $KohaDates%]</td> |
130 |
<td> |
131 |
[% PROCESS account_type_description account=debit %] |
132 |
[%- IF debit.description %], [% debit.description | html %][% END %] |
133 |
</td> |
134 |
<td>[% debit.note | html %]</td> |
135 |
<td class="debit">[% debit.amount | $Price %]</td> |
136 |
<td class="debit">[% debit.amountoutstanding | $Price %]</td> |
137 |
</tr> |
138 |
|
139 |
<tfoot> |
140 |
<tr> |
141 |
<td colspan="4">Total outstanding dues as on date: </td> |
142 |
[% IF ( debit.patron.account.balance <= 0 ) %]<td class="credit">[% ELSE %]<td class="debit">[% END %][% debit.patron.account.balance | $Price %]</td> |
143 |
</tr> |
144 |
</tfoot> |
145 |
</table> |
146 |
}; |
147 |
my $d_insert = $dbh->prepare("UPDATE letter SET content = ?, is_html = 1 WHERE code = 'ACCOUNT_DEBIT'"); |
148 |
$d_insert->execute($d_notice); |
149 |
|
150 |
NewVersion( $DBversion, 26734, "Update notices to use defaults" ); |
45 |
} |
151 |
} |
46 |
- |
|
|