Bugzilla – Attachment 3412 Details for
Bug 5728
Adding note and manager_id fields to accountlines
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Rebased patch
0001-Bug-5728-adding-note-and-manager_id-fields-to-accoun.patch (text/plain), 15.51 KB, created by
Julian Maurice
on 2011-03-23 08:10:10 UTC
(
hide
)
Description:
Rebased patch
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2011-03-23 08:10:10 UTC
Size:
15.51 KB
patch
obsolete
>From e0f25b76f085dd9a9828ea0ccfbee76786391b6a Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?St=C3=A9phane=20Delaune?= <stephane.delaune@biblibre.com> >Date: Fri, 27 Aug 2010 17:26:10 +0200 >Subject: [PATCH] Bug 5728: adding note and manager_id fields to accountlines > >Biblibre bug #1874 >--- > C4/Accounts.pm | 25 ++++++--- > C4/Context.pm | 2 +- > installer/data/mysql/kohastructure.sql | 2 + > installer/data/mysql/updatedatabase.pl | 7 +++ > .../prog/en/modules/members/boraccount.tmpl | 2 + > .../prog/en/modules/members/mancredit.tmpl | 1 + > .../prog/en/modules/members/maninvoice.tmpl | 1 + > .../intranet-tmpl/prog/en/modules/members/pay.tmpl | 12 ++++- > members/mancredit.pl | 19 ++++--- > members/maninvoice.pl | 55 ++++++++++--------- > members/pay.pl | 8 +++ > 11 files changed, 88 insertions(+), 46 deletions(-) > >diff --git a/C4/Accounts.pm b/C4/Accounts.pm >index d73fc2e..6210ea3 100644 >--- a/C4/Accounts.pm >+++ b/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 ) = @_; >diff --git a/C4/Context.pm b/C4/Context.pm >index 484d4e1..85d1c18 100644 >--- a/C4/Context.pm >+++ b/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'; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index a62e07c..fbe2d21 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -2289,6 +2289,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`), >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 5dcbc97..a5359cc 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -4113,6 +4113,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { > SetVersion ($DBversion); > } > >+$DBversion = 'XXX'; >+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 > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl >index ef59ad2..4f66ec5 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl >+++ b/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" --> <!-- TMPL_IF NAME="itemnumber" --><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->">View item</a> <!-- /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" --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl >index 16f7a7b..d23cf18 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl >+++ b/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> > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl >index a7c49e8..0062bfe 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl >+++ b/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> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl >index 1177ba2..99fdc2a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tmpl >@@ -32,6 +32,7 @@ > <tr> > <th>Fines & 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> >diff --git a/members/mancredit.pl b/members/mancredit.pl >index 0e80861..2d81c09 100755 >--- a/members/mancredit.pl >+++ b/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", >diff --git a/members/maninvoice.pl b/members/maninvoice.pl >index 50595ad..12803b5 100755 >--- a/members/maninvoice.pl >+++ b/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) >diff --git a/members/pay.pl b/members/pay.pl >index cefdfba..259bcd1 100755 >--- a/members/pay.pl >+++ b/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'}; >-- >1.7.4.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 5728
:
3379
|
3412
|
3748
|
3749