Bug 5549 : Koha::Calendar needs to accept scalar add_durations
[koha.git] / acqui / fetch_sort_dropbox.pl
index fa405f9..2dfeb81 100755 (executable)
 # 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., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# 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
+=head1 NAME
 
-fetch_sort_dropbox : 
+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
 
@@ -36,7 +57,7 @@ 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", # FIXME: REMOVE TMPL DEP?
+    {   template_name   => "acqui/ajax.tmpl",
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
@@ -45,20 +66,28 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $sort_dropbox;
 my $budget = GetBudget($budget_id);
+my $dropbox_values = GetAuthvalueDropbox( $budget->{'sort'.$sort_id.'_authcat'}, '' );
+
+my @authorised_values;
+my %authorised_lib;
 
-if ( $sort_id == 1 ) {
-    $sort_dropbox = GetAuthvalueDropbox( 'sort1', $budget->{'sort1_authcat'}, '' );
-} elsif ( $sort_id == 2 ) {
-    $sort_dropbox = GetAuthvalueDropbox( 'sort2', $budget->{'sort2_authcat'}, '' );
+foreach ( @$dropbox_values) {
+    push @authorised_values, $_->{value};
+    $authorised_lib{$_->{value}} = $_->{label};
 }
 
-#strip off select tags ;/
-$sort_dropbox =~ s/^\<select.*?\"\>//;
-$sort_dropbox =~ s/\<\/select\>$//;
-chomp $sort_dropbox;
+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 => $sort_dropbox );
+$template->param( return => $budget_authvalue_dropbox );
 output_html_with_http_headers $input, $cookie, $template->output;
-1;