X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=admin%2Fauth_subfields_structure.pl;h=e8451363d39aac841bb90b81abeec1ec53c95733;hb=2292bff781305dc8a16328c43394fb2c3aaa34f6;hp=432d49667fa4bec4fb046fd5adea3d686e554b9f;hpb=bdd0e225bc291280cc40b4a8326a33a21638338b;p=koha.git diff --git a/admin/auth_subfields_structure.pl b/admin/auth_subfields_structure.pl index 432d49667f..e8451363d3 100755 --- a/admin/auth_subfields_structure.pl +++ b/admin/auth_subfields_structure.pl @@ -21,8 +21,9 @@ use strict; #use warnings; FIXME - Bug 2505 use C4::Output; use C4::Auth; -use CGI; +use CGI qw ( -utf8 ); use C4::Context; +use C4::Koha; sub string_search { @@ -53,11 +54,11 @@ my $op = $input->param('op') || ''; my $script_name = "/cgi-bin/koha/admin/auth_subfields_structure.pl"; my ($template, $borrowernumber, $cookie) = get_template_and_user( - { template_name => "admin/auth_subfields_structure.tmpl", + { template_name => "admin/auth_subfields_structure.tt", query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { parameters => 1 }, + flagsrequired => { parameters => 'parameters_remaining_permissions' }, debug => 1, } ); @@ -91,25 +92,14 @@ if ($op eq 'add_form') { push @kohafields, "auth_header.".$field; } - # build authorised value list - $sth2 = $dbh->prepare("select distinct category from authorised_values"); - $sth2->execute; - my @authorised_values; - push @authorised_values,""; - while ((my $category) = $sth2->fetchrow_array) { - push @authorised_values, $category; - } - push (@authorised_values,"branches"); - push (@authorised_values,"itemtypes"); - - # build thesaurus categories list - $sth2 = $dbh->prepare("select authtypecode from auth_types"); - $sth2->execute; - my @authtypes; - push @authtypes, ""; - while ( ( my $authtypecode ) = $sth2->fetchrow_array ) { - push @authtypes, $authtypecode; - } + # build authorised value list + my $authorised_values = C4::Koha::GetAuthorisedValueCategories; + unshift @$authorised_values, ''; + push @$authorised_values, 'branches'; + push @$authorised_values, 'itemtypes'; + + # build thesaurus categories list + my @authtypes = (sort keys %{C4::Koha::getauthtypes()}); # build value_builder list my @value_builder=(''); @@ -124,8 +114,9 @@ if ($op eq 'add_form') { opendir(DIR, "$cgidir/cataloguing/value_builder") || die "can't opendir $cgidir/value_builder: $!"; } while (my $line = readdir(DIR)) { - if ($line =~ /\.pl$/) { - push (@value_builder,$line); + if ( $line =~ /\.pl$/ && + $line !~ /EXAMPLE\.pl$/ ) { # documentation purposes + push (@value_builder,$line); } } @value_builder= sort {$a cmp $b} @value_builder; @@ -139,97 +130,40 @@ if ($op eq 'add_form') { while ($data =$sth->fetchrow_hashref) { my %row_data; # get a fresh hash for the row data - $row_data{tab} = CGI::scrolling_list(-name=>'tab', - -id=>"tab$i", - -values => - [ '-1', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ], - -labels => { - '-1' => 'ignore', - '0' => '0', - '1' => '1', - '2' => '2', - '3' => '3', - '4' => '4', - '5' => '5', - '6' => '6', - '7' => '7', - '8' => '8', - '9' => '9', - }, - -default=>$data->{'tab'}, - -size=>1, - -tabindex=>'', - -multiple=>0, - ); - $row_data{ohidden} = CGI::scrolling_list(-name=>'ohidden', - -id=>"ohidden$i", - #-values=>['0','1','2'], - #-labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - -values=>['0','-5'], - -labels => {'0'=>'Show All','-5'=>'Hide All',}, - -default=>$data->{'hidden'}, - #-default=>"-5", - -size=>1, - -multiple=>0, - ); - #$row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden', - # -id=>"ihidden$i", - # -values=>['0','1','2'], - # -labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - # -default=>substr($data->{'hidden'},1,1), - # -size=>1, - # -multiple=>0, - # ); - #$row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden', - # -id=>"ehidden$i", - # -values=>['0','1','2'], - # -labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - # -default=>substr($data->{'hidden'}." ",2,1), - # -size=>1, - # -multiple=>0, - # ); + $row_data{defaultvalue} = $data->{defaultvalue}; + $row_data{tab} = { + id => "tab$i", + default => $data->{'tab'}, + }; + $row_data{ohidden} = { + id => "ohidden$i", + default => $data->{'hidden'} + }; $row_data{tagsubfieldinput} = "{'tagsubfield'}."\" id=\"tagsubfield\" />"; $row_data{tagsubfield} = $data->{'tagsubfield'}; $row_data{liblibrarian} = CGI::escapeHTML($data->{'liblibrarian'}); $row_data{libopac} = CGI::escapeHTML($data->{'libopac'}); $row_data{seealso} = CGI::escapeHTML($data->{'seealso'}); - $row_data{kohafield}= CGI::scrolling_list( -name=>"kohafield", - -id=>"kohafield$i", - -values=> \@kohafields, - -default=> "$data->{'kohafield'}", - -size=>1, - -multiple=>0, - ); - $row_data{authorised_value} = CGI::scrolling_list(-name=>'authorised_value', - -id=>"authorised_value$i", - -values=> \@authorised_values, - -default=>$data->{'authorised_value'}, - -size=>1, - -tabindex=>'', - -multiple=>0, - ); - $row_data{frameworkcode} = CGI::scrolling_list(-name=>'frameworkcode', - -id=>"frameworkcode$i", - -values=> \@authtypes, - -default=>$data->{'frameworkcode'}, - -size=>1, - -tabindex=>'', - -multiple=>0, - ); - $row_data{value_builder} = CGI::scrolling_list(-name=>'value_builder', - -id=>"value_builder$i", - -values=> \@value_builder, - -default=>$data->{'value_builder'}, - -size=>1, - -tabindex=>'', - -multiple=>0, - ); + $row_data{kohafield} = { + id => "kohafield$i", + values => \@kohafields, + default => "$data->{'kohafield'}", + }; + $row_data{authorised_value} = { + id => "authorised_value$i", + values => $authorised_values, + default => $data->{'authorised_value'}, + }; + $row_data{frameworkcode} = { + id => "frameworkcode$i", + values => \@authtypes, + default => $data->{'frameworkcode'}, + }; + $row_data{value_builder} = { + id => "value_builder$i", + values => \@value_builder, + default => $data->{'value_builder'}, + }; $row_data{repeatable} = CGI::checkbox(-name=>"repeatable$i", -checked => $data->{'repeatable'}?'checked':'', @@ -255,63 +189,15 @@ if ($op eq 'add_form') { for (my $i=1;$i<=$more_subfields;$i++) { my %row_data; # get a fresh hash for the row data $row_data{'new_subfield'} = 1; - $row_data{tab} = CGI::scrolling_list(-name=>'tab', - -id => "tab$i", - -values => - [ '-1', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ], - -labels => { - '-1' => 'ignore', - '0' => '0', - '1' => '1', - '2' => '2', - '3' => '3', - '4' => '4', - '5' => '5', - '6' => '6', - '7' => '7', - '8' => '8', - '9' => '9', - }, - -default=>"", - -size=>1, - -tabindex=>'', - -multiple=>0, - ); - $row_data{ohidden} = CGI::scrolling_list(-name=>'ohidden', - -id=>"ohidden$i", - #-values=>['0','1','2'], - #-labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - -values=>['0','-5'], - -labels => {'0'=>'Show All','-5'=>'Hide All',}, - #-default=>"0", - -default=>$data->{'hidden'}, - #-default=>"-5", - -size=>1, - -multiple=>0, - ); + $row_data{tab} = { + id => "tab$i", + default => $data->{'tab'}, + }; + $row_data{ohidden} = { + id => "ohidden$i", + default => $data->{'hidden'} + }; - #$row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden', - # -id=>"ihidden$i", - # -values=>['0','1','2'], - # -labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - # -default=>"0", - # -size=>1, - # -multiple=>0, - # ); - #$row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden', - # -id=>"ehidden$i", - # -values=>['0','1','2'], - # -labels => {'0'=>'Show','1'=>'Show Collapsed', - # '2' =>'Hide', - # }, - # -default=>"0", - # -size=>1, - # -multiple=>0, - # ); $row_data{tagsubfieldinput} = "{'tagsubfield'}."\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" />"; $row_data{tagsubfieldinput} = "