- # build values list
- my $sth=$dbh->prepare("select * from marc_subfield_structure where tagfield=? and itemtype=?"); # and tagsubfield='$tagsubfield'");
- $sth->execute($tagfield,$itemtype);
- my @loop_data = ();
- my $toggle="white";
- my $i=0;
- while ($data =$sth->fetchrow_hashref) {
- my %row_data; # get a fresh hash for the row data
- if ($toggle eq 'white'){
- $toggle="#ffffcc";
- } else {
- $toggle="white";
- }
- $row_data{tab} = CGI::scrolling_list(-name=>'tab',
- -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','10'=>'items (10)',
- },
- -default=>$data->{'tab'},
- -size=>1,
- -multiple=>0,
- );
- $row_data{tagsubfield} =$data->{'tagsubfield'}."<input type='hidden' name='tagsubfield' value='".$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",
- -values=> \@kohafields,
- -default=> "$data->{'kohafield'}",
- -size=>1,
- -multiple=>0,
- );
- $row_data{authorised_value} = CGI::scrolling_list(-name=>'authorised_value',
- -values=> \@authorised_values,
- -default=>$data->{'authorised_value'},
- -size=>1,
- -multiple=>0,
- );
- $row_data{value_builder} = CGI::scrolling_list(-name=>'value_builder',
- -values=> \@value_builder,
- -default=>$data->{'value_builder'},
- -size=>1,
- -multiple=>0,
- );
- $row_data{thesaurus_category} = CGI::scrolling_list(-name=>'thesaurus_category',
- -values=> \@thesaurus_category,
- -default=>$data->{'thesaurus_category'},
- -size=>1,
- -multiple=>0,
- );
- $row_data{repeatable} = CGI::checkbox("repeatable$i",$data->{'repeatable'}?'checked':'',1,'');
- $row_data{mandatory} = CGI::checkbox("mandatory$i",$data->{'mandatory'}?'checked':'',1,'');
- $row_data{hidden} = CGI::checkbox("hidden$i",$data->{'hidden'}?'checked':'',1,'');
- $row_data{isurl} = CGI::checkbox("isurl$i",$data->{'isurl'}?'checked':'',1,'');
- $row_data{bgcolor} = $toggle;
- push(@loop_data, \%row_data);
- $i++;
- }
- # add more_subfields empty lines for add if needed
- for (my $i=1;$i<=$more_subfields;$i++) {
- my %row_data; # get a fresh hash for the row data
- $row_data{tab} = CGI::scrolling_list(-name=>'tab',
- -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','10'=>'items (10)',
- },
- -default=>"",
- -size=>1,
- -multiple=>0,
- );
- $row_data{tagsubfield} = "<input type=\"text\" name=\"tagsubfield\" value=\"".$data->{'tagsubfield'}."\" size=\"3\" maxlength=\"1\">";
- $row_data{liblibrarian} = "";
- $row_data{libopac} = "";
- $row_data{seealso} = "";
- $row_data{repeatable} = CGI::checkbox('repeatable','',1,'');
- $row_data{mandatory} = CGI::checkbox('mandatory','',1,'');
- $row_data{hidden} = CGI::checkbox('hidden','',1,'');
- $row_data{isurl} = CGI::checkbox('isurl','',1,'');
- $row_data{kohafield}= CGI::scrolling_list( -name=>'kohafield',
- -values=> \@kohafields,
- -default=> "",
- -size=>1,
- -multiple=>0,
- );
- $row_data{authorised_value} = CGI::scrolling_list(-name=>'authorised_value',
- -values=> \@authorised_values,
- -size=>1,
- -multiple=>0,
- );
- $row_data{thesaurus_category} = CGI::scrolling_list(-name=>'thesaurus_category',
- -values=> \@thesaurus_category,
- -size=>1,
- -multiple=>0,
- );
- $row_data{bgcolor} = $toggle;
- push(@loop_data, \%row_data);
- }
- $template->param('use-heading-flags-p' => 1);
- $template->param('heading-edit-subfields-p' => 1);
- $template->param(action => "Edit subfields",
- tagfield => "<input type=\"hidden\" name=\"tagfield\" value=\"$tagfield\">$tagfield",
- loop => \@loop_data,
- more_subfields => $more_subfields,
- more_tag => $tagfield);
+ # build values list
+ my $sth =
+ $dbh->prepare(
+"select * from marc_subfield_structure where tagfield=? and frameworkcode=?"
+ ); # and tagsubfield='$tagsubfield'");
+ $sth->execute( $tagfield, $frameworkcode );
+ my @loop_data = ();
+ my $i = 0;
+ while ( $data = $sth->fetchrow_hashref ) {
+ my %row_data; # get a fresh hash for the row data
+ $row_data{defaultvalue} = $data->{defaultvalue};
+ $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',
+ '10' => 'items (10)',
+ },
+ -default => $data->{'tab'},
+ -size => 1,
+ -multiple => 0,
+ );
+ $row_data{tagsubfield} =
+ $data->{'tagsubfield'}
+ . "<input type=\"hidden\" name=\"tagsubfield\" value=\""
+ . $data->{'tagsubfield'}
+ . "\" id=\"tagsubfield\" />";
+ $row_data{subfieldcode} = $data->{'tagsubfield'} eq '@'?'_':$data->{'tagsubfield'};
+ $row_data{urisubfieldcode} = $row_data{subfieldcode} eq '%' ? 'pct' : $row_data{subfieldcode};
+ $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,
+ -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,
+ -multiple => 0,
+ );
+ $row_data{authtypes} = CGI::scrolling_list(
+ -name => "authtypecode",
+ -id => "authtypecode$i",
+ -values => \@authtypes,
+ -default => $data->{'authtypecode'},
+ -size => 1,
+ -multiple => 0,
+ );
+ $row_data{repeatable} = CGI::checkbox(
+ -name => "repeatable$i",
+ -checked => $data->{'repeatable'} ? 'checked' : '',
+ -value => 1,
+ -label => '',
+ -id => "repeatable$i"
+ );
+ $row_data{mandatory} = CGI::checkbox(
+ -name => "mandatory$i",
+ -checked => $data->{'mandatory'} ? 'checked' : '',
+ -value => 1,
+ -label => '',
+ -id => "mandatory$i"
+ );
+ $row_data{hidden} = CGI::escapeHTML( $data->{hidden} );
+ $row_data{isurl} = CGI::checkbox(
+ -name => "isurl$i",
+ -id => "isurl$i",
+ -checked => $data->{'isurl'} ? 'checked' : '',
+ -value => 1,
+ -label => ''
+ );
+ $row_data{row} = $i;
+ $row_data{link} = CGI::escapeHTML( $data->{'link'} );
+ push( @loop_data, \%row_data );
+ $i++;
+ }