[Koha-patches] [PATCH] bug 7343 - Fix empty values in statistic 1 and 2 dropboxes in neworderempty

alex.arnaud at biblibre.com alex.arnaud at biblibre.com
Fri Jan 20 10:02:42 CET 2012


From: Alex Arnaud <alex.arnaud at biblibre.com>

---
 acqui/fetch_sort_dropbox.pl                        |   93 ++++++++++++++++++++
 .../prog/en/modules/acqui/neworderempty.tt         |   10 +-
 2 files changed, 98 insertions(+), 5 deletions(-)
 create mode 100755 acqui/fetch_sort_dropbox.pl

diff --git a/acqui/fetch_sort_dropbox.pl b/acqui/fetch_sort_dropbox.pl
new file mode 100755
index 0000000..95b7b20
--- /dev/null
+++ b/acqui/fetch_sort_dropbox.pl
@@ -0,0 +1,93 @@
+#!/usr/bin/perl
+
+# Copyright 2008-2009 BibLibre SARL
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+use CGI;
+use C4::Context;
+use C4::Output;
+use C4::Auth;
+use C4::Budgets;
+
+=head1 NAME
+
+fetch_sort_dropbox.pl
+
+=head1 DESCRIPTION
+
+ This script fetches sort values for a given budget id. Currently it is used to dynamically fill 
+ 'Statistic 1' and 'Statistic 2' comboboxes in neworderempty page. Values retrieved depend on
+ categories of authorized values defined in funds configuration.
+
+=head1 CGI PARAMETERS
+
+=over 4
+
+=item budget_id
+
+Budget identifier
+
+=item sort
+
+Sort number. 1 or 2 for the moment.
+
+=back
+
+=cut
+
+my $input = new CGI;
+
+my $budget_id = $input->param('budget_id');
+my $sort_id   = $input->param('sort');
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {   template_name   => "acqui/ajax.tmpl",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired => {editcatalogue => 'edit_catalogue'},
+        debug => 0,
+    }
+);
+
+my $budget = GetBudget($budget_id);
+my $dropbox_values = GetAuthvalueDropbox( $budget->{'sort'.$sort_id.'_authcat'}, '' );
+
+my @authorised_values;
+my %authorised_lib;
+
+foreach ( @$dropbox_values) {
+    push @authorised_values, $_->{value};
+    $authorised_lib{$_->{value}} = $_->{label};
+}
+
+my $budget_authvalue_dropbox = CGI::scrolling_list(
+    -values   => \@authorised_values,
+    -labels   => \%authorised_lib,
+    -default  => $authorised_values[0],
+);
+
+
+# strip off select tags
+$budget_authvalue_dropbox =~ s/^\<select.*?\"\>//;
+$budget_authvalue_dropbox =~ s/\<\/select\>$//;
+chomp $budget_authvalue_dropbox;
+
+$template->param( return => $budget_authvalue_dropbox );
+output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
index a6f26c4..e1dbbde 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
@@ -476,9 +476,9 @@ $(document).ready(function()
                     <select id="sort1" size="1" name="sort1">
                     [% FOREACH sort_opt IN CGIsort1 %]
                        [% IF sort_opt.default %]
-                          <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option>
+                          <option value="[% sort_opt.value %]" selected="selected">[% sort_opt.label %]</option>
                         [% ELSE %]
-                          <option value="[% sort_opt.id %]">[% sort_opt.label %]</option>
+                          <option value="[% sort_opt.value %]">[% sort_opt.label %]</option>
                         [% END %]
                     [% END %]
                     </select>
@@ -491,12 +491,12 @@ $(document).ready(function()
                 <label for="sort2">Statistic 2: </label>
 
                 [% IF CGIsort2 %]
-                    <select id="sort2" size="1" name="sort1">
+                    <select id="sort2" size="1" name="sort2">
                     [% FOREACH sort_opt IN CGIsort2 %]
                        [% IF sort_opt.default %]
-                          <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option>
+                          <option value="[% sort_opt.value %]" selected="selected">[% sort_opt.label %]</option>
                         [% ELSE %]
-                          <option value="[% sort_opt.id %]">[% sort_opt.label %]</option>
+                          <option value="[% sort_opt.value %]">[% sort_opt.label %]</option>
                         [% END %]
                     [% END %]
                     </select>
-- 
1.7.0.4



More information about the Koha-patches mailing list