2433: Cannot apply manual credits with an item number
authorJoshua Ferraro <jmf@liblime.com>
Sat, 9 Aug 2008 17:56:04 +0000 (12:56 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Sat, 9 Aug 2008 17:56:04 +0000 (12:56 -0500)
This patch changes the behavior so that you can enter in
a barcode instead of an itemnumber for the manual credit
and invoice screens. Also, the borrower's account page now
displays a link back to the item record if an item was
linked to the charge

C4/Members.pm
koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tmpl
members/boraccount.pl
members/mancredit.pl
members/maninvoice.pl

index 385faf9..7df9424 100644 (file)
@@ -27,6 +27,7 @@ use C4::Log; # logaction
 use C4::Overdues;
 use C4::Reserves;
 use C4::Accounts;
+use C4::Biblio;
 
 our ($VERSION,@ISA,@EXPORT,@EXPORT_OK,$debug);
 
@@ -1145,6 +1146,8 @@ sub GetMemberAccountRecords {
     $sth->execute( @bind );
     my $total = 0;
     while ( my $data = $sth->fetchrow_hashref ) {
+               my $biblio = GetBiblioFromItemNumber($data->{itemnumber}) if $data->{itemnumber};
+               $data->{biblionumber} = $biblio->{biblionumber};
         $acctlines[$numlines] = $data;
         $numlines++;
         $total += $data->{'amountoutstanding'};
index 00a8671..949f239 100644 (file)
@@ -39,7 +39,7 @@
 
    <!-- TMPL_IF NAME="toggle" --> <tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
       <td><!-- TMPL_VAR NAME="date" --></td>
-      <td><!-- TMPL_VAR NAME="description" --><!-- TMPL_IF NAME="printtitle" --> <!-- TMPL_VAR NAME="title" --><!-- /TMPL_IF --></td>
+      <td><!-- TMPL_VAR NAME="description" -->&nbsp;<!-- 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>&nbsp;<!-- /TMPL_IF --><!-- TMPL_IF NAME="printtitle" --> <!-- TMPL_VAR NAME="title" --><!-- /TMPL_IF --></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>
     </tr>
index aa0e0bf..ec5caec 100644 (file)
@@ -34,7 +34,7 @@
 <option value="C">Credit</option>
 <option value="FOR">Forgiven</option>
 </select></li>
-       <li><label for="itemnum">Itemnumber: </label><input type="text" name="itemnum" id="itemnum" /></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="amount">Amount: </label><input type="text" name="amount" id="amount" /></li>
 </ol></fieldset>
index c84b212..4e09143 100644 (file)
@@ -41,7 +41,7 @@
 <option value="N">New Card</option>
 <option value="M">Sundry</option>
 </select></li>
-       <li><label for="itemnum">Itemnumber: </label><input type="text" name="itemnum" id="itemnum" /></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="amount">Amount: </label><input type="text" name="amount" id="amount" /></li>
        </ol></fieldset>
index 8d94adb..3860dc7 100755 (executable)
@@ -82,6 +82,8 @@ for (my $i=0;$i<$numaccts;$i++){
                 'amountoutstandingcredit' => $accts->[$i]{'amountoutstandingcredit'},
                 'toggle' => $accts->[$i]{'toggle'},
                 'description'       => $accts->[$i]{'description'},
+                               'itemnumber'       => $accts->[$i]{'itemnumber'},
+                               'biblionumber'       => $accts->[$i]{'biblionumber'},
                 'amount'            => sprintf("%.2f",$accts->[$i]{'amount'}),
                 'amountoutstanding' => sprintf("%.2f",$accts->[$i]{'amountoutstanding'}) );
     
index 847e528..b71233e 100755 (executable)
@@ -28,6 +28,8 @@ use CGI;
 
 use C4::Members;
 use C4::Accounts;
+use C4::Items;
+
 my $input=new CGI;
 
 my $borrowernumber=$input->param('borrowernumber');
@@ -37,7 +39,8 @@ my $data=GetMember($borrowernumber,'borrowernumber');
 my $add=$input->param('add');
 
 if ($add){
-    my $itemnum=$input->param('itemnum');
+    my $barcode=$input->param('barcode');
+    my $itemnum = GetItemnumberFromBarcode($barcode) if $barcode;
     my $desc=$input->param('desc');
     my $amount=$input->param('amount');
     $amount = -$amount;
index 6e3f225..d5cd765 100755 (executable)
@@ -27,6 +27,7 @@ use C4::Output;
 use CGI;
 use C4::Members;
 use C4::Accounts;
+use C4::Items;
 
 my $input=new CGI;
 
@@ -37,7 +38,8 @@ my $data=GetMember($borrowernumber,'borrowernumber');
 my $add=$input->param('add');
 if ($add){
 #  print $input->header;
-    my $itemnum=$input->param('itemnum');
+    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');