use C4::Log;
use C4::Koha; # XXX subfield_is_koha_internal_p
use C4::Branch; # XXX subfield_is_koha_internal_p
+use C4::ClassSource;
+
use Date::Calc qw(Today);
use MARC::File::USMARC;
use MARC::File::XML;
}
$value = $itemtype unless ($value);
+ #---- class_sources
+ }
+ elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "cn_source" ) {
+ push @authorised_values, ""
+ unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+
+ my $class_sources = GetClassSources();
+
+ my $default_source = C4::Context->preference("DefaultClassificationSource");
+
+ foreach my $class_source (sort keys %$class_sources) {
+ next unless $class_sources->{$class_source}->{'used'} or
+ ($value and $class_source eq $value) or
+ ($class_source eq $default_source);
+ push @authorised_values, $class_source;
+ $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
+ $value = $class_source unless ($value);
+ $value = $default_source unless ($value);
+ }
#---- "true" authorised value
}
else {
my $cgidir = C4::Context->intranetdir . "/cgi-bin/cataloguing/value_builder";
unless ( opendir( DIR, "$cgidir" ) ) {
$cgidir = C4::Context->intranetdir . "/cataloguing/value_builder";
+ closedir( DIR );
}
my $plugin = $cgidir . "/" . $tagslib->{$tag}->{$subfield}->{'value_builder'};
- do $plugin || die "Plugin Failed: ".$plugin;
- my $extended_param = plugin_parameters( $dbh, $rec, $tagslib, $subfield_data{id}, $tabloop );
- my ( $function_name, $javascript ) = plugin_javascript( $dbh, $rec, $tagslib, $subfield_data{id}, $tabloop );
-# my ( $function_name, $javascript,$extended_param );
+ if (do $plugin) {
+ my $extended_param = plugin_parameters( $dbh, $rec, $tagslib, $subfield_data{id}, $tabloop );
+ my ( $function_name, $javascript ) = plugin_javascript( $dbh, $rec, $tagslib, $subfield_data{id}, $tabloop );
- $subfield_data{marc_value} =
- "<input tabindex=\"1\"
- type=\"text\"
+ $subfield_data{marc_value} =
+ "<input tabindex=\"1\"
+ type=\"text\"
+ id=\"".$subfield_data{id}."\"
+ name=\"".$subfield_data{id}."\"
+ value=\"$value\"
+ class=\"input_marceditor\"
+ onfocus=\"Focus$function_name($index_tag)\"
+ size=\"67\"
+ maxlength=\"255\"
+ onblur=\"Blur$function_name($index_tag); \" \/>
+ <a href=\"#\" class=\"buttonDot\" onclick=\"Clic$function_name('$subfield_data{id})'; return false;)\" title=\"Tag Editor\">...</a>
+ $javascript";
+ } else {
+ warn "Plugin Failed: $plugin";
+ # supply default input form
+ $subfield_data{marc_value} =
+ "<input type=\"text\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
value=\"$value\"
- class=\"input_marceditor\"
- onfocus=\"Focus$function_name($index_tag)\"
+ tabindex=\"1\"
size=\"67\"
maxlength=\"255\"
- onblur=\"Blur$function_name($index_tag); \" \/>
- <a href=\"#\" class=\"buttonDot\" onclick=\"Clic$function_name('$subfield_data{id}'); return false;\" title=\"Tag Editor\">...</a>
- $javascript";
+ class=\"input_marceditor\"
+ \/>
+ ";
+ }
# it's an hidden field
}
elsif ( $tag eq '' ) {