Browse Source

Bug 5728: adding note and manager_id fields to accountlines

Biblibre bug #1874

Signed-off-by: fdurand <frederic.durand@univ-lyon2.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
3.4.x
Stéphane Delaune 13 years ago
committed by Chris Cormack
parent
commit
1fafaafc9a
  1. 25
      C4/Accounts.pm
  2. 2
      C4/Context.pm
  3. 2
      installer/data/mysql/kohastructure.sql
  4. 8
      installer/data/mysql/updatedatabase.pl
  5. 2
      koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl
  6. 1
      koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl
  7. 1
      koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl
  8. 12
      koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl
  9. 19
      members/mancredit.pl
  10. 55
      members/maninvoice.pl
  11. 8
      members/pay.pl

25
C4/Accounts.pm

@ -35,7 +35,7 @@ BEGIN {
@ISA = qw(Exporter);
@EXPORT = qw(
&recordpayment &makepayment &manualinvoice
&getnextacctno &reconcileaccount &getcharges &getcredits
&getnextacctno &reconcileaccount &getcharges &ModNote &getcredits
&getrefunds &chargelostitem
&ReversePayment
); # removed &fixaccounts
@ -327,7 +327,7 @@ sub chargelostitem{
=head2 manualinvoice
&manualinvoice($borrowernumber, $itemnumber, $description, $type,
$amount, $user);
$amount, $note);
C<$borrowernumber> is the patron's borrower number.
C<$description> is a description of the transaction.
@ -351,7 +351,8 @@ should be the empty string.
#
sub manualinvoice {
my ( $borrowernumber, $itemnum, $desc, $type, $amount, $user ) = @_;
my ( $borrowernumber, $itemnum, $desc, $type, $amount, $note ) = @_;
my $manager_id = C4::Context->userenv->{'number'};
my $dbh = C4::Context->dbh;
my $notifyid = 0;
my $insert;
@ -403,16 +404,16 @@ sub manualinvoice {
$desc .= " " . $itemnum;
my $sth = $dbh->prepare(
"INSERT INTO accountlines
(borrowernumber, accountno, date, amount, description, accounttype, amountoutstanding, itemnumber,notify_id)
VALUES (?, ?, now(), ?,?, ?,?,?,?)");
$sth->execute($borrowernumber, $accountno, $amount, $desc, $type, $amountleft, $itemnum,$notifyid) || return $sth->errstr;
(borrowernumber, accountno, date, amount, description, accounttype, amountoutstanding, itemnumber,notify_id, note, manager_id)
VALUES (?, ?, now(), ?,?, ?,?,?,?,?,?)");
$sth->execute($borrowernumber, $accountno, $amount, $desc, $type, $amountleft, $itemnum,$notifyid, $note, $manager_id) || return $sth->errstr;
} else {
my $sth=$dbh->prepare("INSERT INTO accountlines
(borrowernumber, accountno, date, amount, description, accounttype, amountoutstanding,notify_id)
VALUES (?, ?, now(), ?, ?, ?, ?,?)"
(borrowernumber, accountno, date, amount, description, accounttype, amountoutstanding,notify_id, note, manager_id)
VALUES (?, ?, now(), ?, ?, ?, ?,?,?,?)"
);
$sth->execute( $borrowernumber, $accountno, $amount, $desc, $type,
$amountleft, $notifyid );
$amountleft, $notifyid, $note, $manager_id );
}
return 0;
}
@ -606,6 +607,12 @@ sub getcharges {
return (@results);
}
sub ModNote {
my ( $borrowernumber, $accountno, $note ) = @_;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare('UPDATE accountlines SET note = ? WHERE borrowernumber = ? AND accountno = ?');
$sth->execute( $note, $borrowernumber, $accountno );
}
sub getcredits {
my ( $date, $date2 ) = @_;

2
C4/Context.pm

@ -914,7 +914,7 @@ sub userenv {
my $var = $context->{"activeuser"};
return $context->{"userenv"}->{$var} if (defined $var and defined $context->{"userenv"}->{$var});
# insecure=1 management
if ($context->{"dbh"} && $context->preference('insecure')) {
if ($context->{"dbh"} && $context->preference('insecure') eq 'yes') {
my %insecure;
$insecure{flags} = '16382';
$insecure{branchname} ='Insecure';

2
installer/data/mysql/kohastructure.sql

@ -2299,6 +2299,8 @@ CREATE TABLE `accountlines` (
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`notify_id` int(11) NOT NULL default 0,
`notify_level` int(2) NOT NULL default 0,
`note` text NULL default NULL,
`manager_id` int(11) NULL,
KEY `acctsborridx` (`borrowernumber`),
KEY `timeidx` (`timestamp`),
KEY `itemnumber` (`itemnumber`),

8
installer/data/mysql/updatedatabase.pl

@ -4277,6 +4277,14 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
SetVersion ($DBversion);
}
$DBversion = '3.03.00.049';
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
$dbh->do("ALTER TABLE `accountlines` ADD `note` text NULL default NULL");
$dbh->do("ALTER TABLE `accountlines` ADD `manager_id` int( 11 ) NULL ");
print "Upgrade to $DBversion done (adding note and manager_id fields in accountlines table)\n";
SetVersion($DBversion);
}
=head1 FUNCTIONS
=head2 DropAllForeignKeys($table)

2
koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl

@ -30,6 +30,7 @@
<tr>
<th>Date</th>
<th>Description of charges</th>
<th>Note</th>
<th>Amount</th>
<th>Outstanding</th>
<!-- TMPL_IF NAME="reverse_col" -->
@ -44,6 +45,7 @@
<!-- TMPL_IF NAME="__odd__" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<td><!-- TMPL_VAR NAME="date" --></td>
<td><!-- TMPL_VAR NAME="description" -->&nbsp;<!-- TMPL_IF NAME="itemnumber" --><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->">View item</a>&nbsp;<!-- /TMPL_IF --><!-- TMPL_IF NAME="printtitle" --> <!-- TMPL_VAR NAME="title" escape="html" --><!-- /TMPL_IF --></td>
<td><!-- TMPL_VAR NAME="note" --></td>
<!-- TMPL_IF NAME="amountcredit" --><td class="credit"><!-- TMPL_ELSE --><td class="debit"><!-- /TMPL_IF --><!-- TMPL_VAR NAME="amount" --></td>
<!-- TMPL_IF NAME="amountoutstandingcredit" --><td class="credit"><!-- TMPL_ELSE --><td class="debit"><!-- /TMPL_IF --><!-- TMPL_VAR NAME="amountoutstanding" --></td>
<!-- TMPL_IF NAME="reverse_col" -->

1
koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl

@ -43,6 +43,7 @@ $(document).ready(function(){
</select></li>
<li><label for="barcode">Barcode: </label><input type="text" name="barcode" id="barcode" /></li>
<li><label for="desc">Description: </label><input type="text" name="desc" size="50" id="desc" /></li>
<li><label for="note">Note: </label><input type="text" name="note" size="50" id="note" /></li>
<li><label for="amount">Amount: </label><input type="text" name="amount" id="amount" /> Example: 5.00</li>
</ol></fieldset>

1
koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl

@ -67,6 +67,7 @@ type_fees['<!-- TMPL_VAR NAME="authorised_value" -->'] = "<!-- TMPL_VAR NAME="li
</li>
<li><label for="barcode">Barcode: </label><input type="text" name="barcode" id="barcode" /></li>
<li><label for="desc">Description: </label><input type="text" name="desc" id="desc" size="50" /></li>
<li><label for="note">Note: </label><input type="text" name="note" size="50" id="note" /></li>
<li><label for="amount">Amount: </label><input type="text" name="amount" id="amount" /> Example: 5.00</li>
</ol></fieldset>
<fieldset class="action"><input type="submit" name="add" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->">Cancel</a></fieldset>

12
koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl

@ -32,6 +32,7 @@
<tr>
<th>Fines &amp; Charges</th>
<th>Description</th>
<th>Note</th>
<th>Account Type</th>
<th>Notify id</th>
<th>Level</th>
@ -61,6 +62,13 @@
<input type="hidden" name="totals<!-- TMPL_VAR name="i" -->" value="<!-- TMPL_VAR name="totals" -->" />
</td>
<td><!-- TMPL_VAR name="description" --> <!-- TMPL_VAR name="title" escape="html" --></td>
<td>
<!-- TMPL_IF NAME="net_balance" -->
<input type="text" name="note<!-- TMPL_VAR name="i" -->" value="
<!-- /TMPL_IF -->
<!-- TMPL_VAR name="note" -->
<!-- TMPL_IF NAME="net_balance" -->" /><!-- /TMPL_IF -->
</td>
<td><!-- TMPL_VAR name="accounttype" --></td>
<td><!-- TMPL_VAR name="notify_id" --></td>
<td><!-- TMPL_VAR name="notify_level" --></td>
@ -71,13 +79,13 @@
<!-- TMPL_IF NAME="total"-->
<tr>
<td colspan="6">Sub Total</td>
<td colspan="7">Sub Total</td>
<td><!-- TMPL_VAR name="total" --></td>
</tr>
<!--/TMPL_IF-->
<!-- /TMPL_LOOP -->
<tr>
<td colspan="6">Total Due</td>
<td colspan="7">Total Due</td>
<td><!-- TMPL_VAR name="total" --></td>
</tr>
</table>

19
members/mancredit.pl

@ -43,14 +43,17 @@ my $data=GetMember('borrowernumber' => $borrowernumber);
my $add=$input->param('add');
if ($add){
my $barcode=$input->param('barcode');
my $itemnum = GetItemnumberFromBarcode($barcode) if $barcode;
my $desc=$input->param('desc');
my $amount=$input->param('amount') || 0;
$amount = -$amount;
my $type=$input->param('type');
manualinvoice($borrowernumber,$itemnum,$desc,$type,$amount);
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
if(checkauth($input)) {
my $barcode = $input->param('barcode');
my $itemnum = GetItemnumberFromBarcode($barcode) if $barcode;
my $desc = $input->param('desc');
my $note = $input->param('note');
my $amount = $input->param('amount') || 0;
$amount = -$amount;
my $type = $input->param('type');
manualinvoice( $borrowernumber, $itemnum, $desc, $type, $amount, $note );
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
}
} else {
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "members/mancredit.tmpl",

55
members/maninvoice.pl

@ -42,32 +42,35 @@ my $borrowernumber=$input->param('borrowernumber');
my $data=GetMember('borrowernumber'=>$borrowernumber);
my $add=$input->param('add');
if ($add){
# print $input->header;
my $barcode=$input->param('barcode');
my $itemnum = GetItemnumberFromBarcode($barcode) if $barcode;
my $desc=$input->param('desc');
my $amount=$input->param('amount');
my $type=$input->param('type');
my $error=manualinvoice($borrowernumber,$itemnum,$desc,$type,$amount);
if ($error){
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "members/maninvoice.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1},
debug => 1,
});
if ($error =~ /FOREIGN KEY/ && $error =~ /itemnumber/){
$template->param('ITEMNUMBER' => 1);
}
$template->param('ERROR' => $error);
output_html_with_http_headers $input, $cookie, $template->output;
}
else {
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
exit;
}
if(checkauth($input)) {
# print $input->header;
my $barcode=$input->param('barcode');
my $itemnum = GetItemnumberFromBarcode($barcode) if $barcode;
my $desc=$input->param('desc');
my $amount=$input->param('amount');
my $type=$input->param('type');
my $note = $input->param('note');
my $error = manualinvoice( $borrowernumber, $itemnum, $desc, $type, $amount, $note );
if ($error) {
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{ template_name => "members/maninvoice.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => { borrowers => 1 },
debug => 1,
}
);
if ( $error =~ /FOREIGN KEY/ && $error =~ /itemnumber/ ) {
$template->param( 'ITEMNUMBER' => 1 );
}
$template->param( 'ERROR' => $error );
output_html_with_http_headers $input, $cookie, $template->output;
} else {
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
exit;
}
}
} else {
my ($template, $loggedinuser, $cookie)

8
members/pay.pl

@ -84,7 +84,14 @@ for ( my $i = 0 ; $i < @names ; $i++ ) {
makepayment( $borrowernumber, $accountno, $amount, $user, $branch );
$check = 2;
}
if ( $temp eq 'no'||$temp eq 'yes'||$temp eq 'wo') {
my $borrowernumber = $input->param( $names[ $i + 5 ] );
my $accountno = $input->param( $names[ $i + 6 ] );
my $note = $input->param( $names[ $i + 10 ] );
ModNote( $borrowernumber, $accountno, $note );
}
}
my $total = $input->param('total') || '';
if ( $check == 0 ) {
if ( $total ne '' ) {
@ -115,6 +122,7 @@ if ( $check == 0 ) {
$line{borrowernumber} = $borrowernumber;
$line{accountno} = $accts->[$i]{'accountno'};
$line{description} = $accts->[$i]{'description'};
$line{note} = $accts->[$i]{'note'};
$line{title} = $accts->[$i]{'title'};
$line{notify_id} = $accts->[$i]{'notify_id'};
$line{notify_level} = $accts->[$i]{'notify_level'};

Loading…
Cancel
Save