[Koha-patches] [PATCH] Bug 766 Remove scrolling list from serials claims

Colin Campbell colin.campbell at ptfs-europe.com
Tue Jan 5 15:10:29 CET 2010


Let templating system do what its designed for
pass an array ref with the suppliers
---
 .../prog/en/modules/serials/claims.tmpl            |    7 ++++-
 serials/claims.pl                                  |   30 ++++++++-----------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tmpl
index dc482a4..15e059d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tmpl
@@ -166,7 +166,12 @@
 <!-- TMPL_UNLESS NAME="letter" --><div class="dialog alert">No claims notice defined. <a href="/cgi-bin/koha/tools/letter.pl">Please define one</a>.</div><!-- /TMPL_UNLESS -->
     <form id="claims" name="claims" action="claims.pl" method="post">
     <fieldset><label for="supplierid">View: </label>
-        <!-- TMPL_VAR name="CGIsupplier" -->
+        <select id="supplierid" size="1" name="supplierid">
+        <!-- TMPL_LOOP name="supplier_loop" -->
+            <option value="<!--TMPL_VAR name="id"-->" <!-- TMPL_IF NAME="selected" -->selected="1"<!-- /TMPL_IF -->>
+                 <!--TMPL_VAR name="name"--></option>
+        <!--/TMPL_LOOP-->
+        </select>
         <input type="submit" value="OK" />
         <!-- TMPL_IF name="phone" -->Phone: <!-- TMPL_VAR name="phone" --><!-- /TMPL_IF -->
         <!-- TMPL_IF name="booksellerfax" -->Fax: <!-- TMPL_VAR name="booksellerfax" --><!-- /TMPL_IF -->
diff --git a/serials/claims.pl b/serials/claims.pl
index 6d9f172..d6a7ce7 100755
--- a/serials/claims.pl
+++ b/serials/claims.pl
@@ -18,7 +18,7 @@ my $claimletter = $input->param('claimletter');
 my $supplierid = $input->param('supplierid');
 my $suppliername = $input->param('suppliername');
 my $order = $input->param('order');
-my %supplierlist = GetSuppliersWithLateIssues;
+my %supplierlist = GetSuppliersWithLateIssues();
 my @select_supplier;
 
 # open template first (security & userenv set here)
@@ -30,15 +30,19 @@ my ($template, $loggedinuser, $cookie)
             flagsrequired => {serials => 1},
             debug => 1,
             });
-foreach my $supplierid (sort {$supplierlist{$a} cmp $supplierlist{$b} } keys %supplierlist){
-        my ($count, @dummy) = GetLateOrMissingIssues($supplierid,"",$order);
-        my $counting = $count;
-        $supplierlist{$supplierid} = $supplierlist{$supplierid}." ($counting)";
-	push @select_supplier, $supplierid
+my $supplier_loop = [];
+foreach my $s_id (sort {$supplierlist{$a} cmp $supplierlist{$b} } keys %supplierlist){
+        my ($count) = GetLateOrMissingIssues($supplierid,q{},$order);
+        push @{$supplier_loop}, {
+            id   => $s_id,
+            name => $supplierlist{$s_id} . "($count)",
+            selected => ( $supplierid && $supplierid == $s_id ),
+        };
 }
-my $letters = GetLetters("claimissues");
+
+my $letters = GetLetters('claimissues');
 my @letters;
-foreach (keys %$letters){
+foreach (keys %{$letters}){
     push @letters ,{code=>$_,name=> $letters->{$_}};
 }
 
@@ -48,14 +52,6 @@ if ($supplierid) {
     ($count2, @missingissues) = GetLateOrMissingIssues($supplierid,$serialid,$order);
 }
 
-my $CGIsupplier=CGI::scrolling_list( -name     => 'supplierid',
-			-id        => 'supplierid',
-			-values   => \@select_supplier,
-			-default  => $supplierid,
-			-labels   => \%supplierlist,
-			-size     => 1,
-			-multiple => 0 );
-
 my ($singlesupplier, at supplierinfo);
 if($supplierid){
    (@supplierinfo)=GetBookSeller($supplierid);
@@ -81,7 +77,7 @@ if ($op eq "send_alert"){
 $template->param('letters'=>\@letters,'letter'=>$letter);
 $template->param(
         order =>$order,
-        CGIsupplier => $CGIsupplier,
+        supplier_loop => $supplier_loop,
         phone => $supplierinfo[0]->{phone},
         booksellerfax => $supplierinfo[0]->{booksellerfax},
         bookselleremail => $supplierinfo[0]->{bookselleremail},
-- 
1.6.5.2




More information about the Koha-patches mailing list