[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha/cataloguing addbiblio.pl
From: |
Joshua Ferraro |
Subject: |
[Koha-cvs] koha/cataloguing addbiblio.pl |
Date: |
Sun, 02 Apr 2006 19:12:01 +0000 |
CVSROOT: /sources/koha
Module name: koha
Branch:
Changes by: Joshua Ferraro <address@hidden> 06/04/02 19:12:01
Modified files:
cataloguing : addbiblio.pl
Log message:
syncing with rel_2_2, adding visibility handling
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/cataloguing/addbiblio.pl.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
Patches:
Index: koha/cataloguing/addbiblio.pl
diff -u koha/cataloguing/addbiblio.pl:1.12 koha/cataloguing/addbiblio.pl:1.13
--- koha/cataloguing/addbiblio.pl:1.12 Sat Apr 1 23:06:22 2006
+++ koha/cataloguing/addbiblio.pl Sun Apr 2 19:12:01 2006
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# $Id: addbiblio.pl,v 1.12 2006/04/01 23:06:22 kados Exp $
+# $Id: addbiblio.pl,v 1.13 2006/04/02 19:12:01 kados Exp $
# Copyright 2000-2002 Katipo Communications
#
@@ -31,6 +31,7 @@
use C4::Koha; # XXX subfield_is_koha_internal_p
use HTML::Template;
use MARC::File::USMARC;
+use MARC::File::XML;
use vars qw( $tagslib);
use vars qw( $authorised_values_sth);
@@ -169,17 +170,19 @@
$subfield_data{tag}=$tag;
$subfield_data{subfield}=$subfield;
$subfield_data{marc_lib}="<span
id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</span>";
+ $subfield_data{marc_lib_plain}=$tagslib->{$tag}->{$subfield}->{lib};
$subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
$subfield_data{kohafield}=$tagslib->{$tag}->{$subfield}->{kohafield};
$subfield_data{index} = $i;
+ $subfield_data{visibility} = "display:none" unless
(($tagslib->{$tag}->{$subfield}->{hidden}%2==0) or $value ne ''); #check parity
# it's an authorised field
if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
$subfield_data{marc_value}= build_authorized_values_list($tag,
$subfield, $value, $dbh,$authorised_values_sth);
# it's a thesaurus / authority field
} elsif ($tagslib->{$tag}->{$subfield}->{authtypecode}) {
- $subfield_data{marc_value}="<input type=\"text\"
name=\"field_value\" value=\"$value\" size=\"67\" maxlength=\"255\" DISABLE
READONLY /> <a
href=\"javascript:Dopop('../authorities/auth_finder.pl?authtypecode=".$tagslib->{$tag}->{$subfield}->{authtypecode}."&index=$i',$i)\">...</a>";
+ $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffff00;'\"\" tabindex=\"1\"
type=\"text\" name=\"field_value\" value=\"$value\" size=\"70\"
maxlength=\"255\" DISABLE READONLY> <a style=\"cursor: help;\"
href=\"javascript:Dopop('../authorities/auth_finder.pl?authtypecode=".$tagslib->{$tag}->{$subfield}->{authtypecode}."&index=$i',$i)\">...</a>";
# it's a plugin field
} elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
# opening plugin. Just check wether we are on a developper
computer on a production one
@@ -192,18 +195,18 @@
require $plugin;
my $extended_param =
plugin_parameters($dbh,$rec,$tagslib,$i,$tabloop);
my ($function_name,$javascript) =
plugin_javascript($dbh,$rec,$tagslib,$i,$tabloop);
- $subfield_data{marc_value}="<input type=\"text\"
name=\"field_value\" value=\"$value\" size=\"67\" maxlength=\"255\"
OnFocus=\"javascript:Focus$function_name($i)\"
OnBlur=\"javascript:Blur$function_name($i)\" /> <a
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
+ $subfield_data{marc_value}="<input tabindex=\"1\" type=\"text\"
name=\"field_value\" value=\"$value\" size=\"70\" maxlength=\"255\"
OnFocus=\"javascript:Focus$function_name($i)\"
OnBlur=\"javascript:Blur$function_name($i); \"> <a style=\"cursor: help;\"
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
# it's an hidden field
} elsif ($tag eq '') {
- $subfield_data{marc_value}="<input type=\"hidden\"
name=\"field_value\" value=\"$value\" />";
+ $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffff00'; \" tabindex=\"1\"
type=\"hidden\" name=\"field_value\" value=\"$value\">";
} elsif ($tagslib->{$tag}->{$subfield}->{'hidden'}) {
- $subfield_data{marc_value}="<input type=\"text\"
name=\"field_value\" value=\"$value\" size=\"70\" maxlength=\"255\" DISABLE
READONLY />";
+ $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffff00'; \" tabindex=\"1\" type=\"text\"
name=\"field_value\" value=\"$value\" size=\"70\" maxlength=\"255\" >";
# it's a standard field
} else {
if (length($value) >100) {
$subfield_data{marc_value}="<textarea
name=\"field_value\" cols=\"70\" rows=\"5\" >$value</textarea>";
} else {
- $subfield_data{marc_value}="<input type=\"text\"
name=\"field_value\" value=\"$value\" size=\"70\" />"; #"
+ $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffff00'; \" tabindex=\"1\" type=\"text\"
name=\"field_value\" value=\"$value\" size=\"70\">"; #"
}
}
return \%subfield_data;
@@ -264,6 +267,7 @@
next if (length $subfield !=1);
next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
next if ($tag<10);
+ next if
(($tagslib->{$tag}->{$subfield}->{hidden}<=-4) or
($tagslib->{$tag}->{$subfield}->{hidden}>=5) ); #check for visibility flag
next if
(defined($field->subfield($subfield)));
push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$record,$authorised_values_sth));
$i++;
@@ -275,6 +279,10 @@
$tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
$tag_data{indicator} =
$record->field($tag)->indicator(1). $record->field($tag)->indicator(2) if
($tag>=10);
$tag_data{subfield_loop} =
address@hidden;
+ if ($tag<10) {
+
$tag_data{fixedfield} = 1;
+ }
+
push (@loop_data, \%tag_data);
}
# If there is more than 1 field, add an empty hidden field as separator.
@@ -286,6 +294,9 @@
$tag_data{tag_lib} = '';
$tag_data{indicator} = '';
$tag_data{subfield_loop} =
address@hidden;
+ if ($tag<10) {
+ $tag_data{fixedfield} = 1;
+
}
push (@loop_data, \%tag_data);
$i++;
}
@@ -295,6 +306,7 @@
my @subfields_data;
foreach my $subfield (sort(keys
%{$tagslib->{$tag}})) {
next if (length $subfield !=1);
+ next if
(($tagslib->{$tag}->{$subfield}->{hidden}<=-5) or
($tagslib->{$tag}->{$subfield}->{hidden}>=4) ); #check for visibility flag
next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$record,$authorised_values_sth));
$i++;
@@ -306,6 +318,10 @@
$tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
$tag_data{indicator} = $indicator;
$tag_data{subfield_loop} =
address@hidden;
+ $tag_data{tagfirstsubfield} =
$tag_data{subfield_loop}[0];
+ if ($tag<10) {
+ $tag_data{fixedfield} = 1;
+ }
push (@loop_data, \%tag_data);
}
}
@@ -460,16 +476,16 @@
} elsif ($op eq "addfield") {
#------------------------------------------------------------------------------------------------------------------------------
my $addedfield = $input->param('addfield_field');
+ my $tagaddfield_subfield = $input->param('addfield_subfield');
my @tags = $input->param('tag');
my @subfields = $input->param('subfield');
my @values = $input->param('field_value');
- # build indicator hash.
my @ind_tag = $input->param('ind_tag');
my @indicator = $input->param('indicator');
my $xml =
MARChtml2xml(address@hidden,address@hidden,address@hidden,address@hidden,address@hidden);
- my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
+ my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
# adding an empty field
- my $field = MARC::Field->new("$addedfield",'','','a'=> "");
+ my $field =
MARC::Field->new("$addedfield",'','','$tagaddfield_subfield' => "");
$record->append_fields($field);
build_tabs ($template, $record, $dbh,$encoding);
build_hidden_data;
@@ -499,9 +515,9 @@
}
#FIXME: it's kind of silly to go from MARC::Record to MARC::File::XML
and then back again just to fix the encoding
eval {
- my $uxml = $record->as_xml;
- my $urecord = MARC::Record::new_from_xml($uxml, 'UTF-8');
- $record = $urecord;
+ my $uxml = $record->as_xml;
+ my $urecord = MARC::Record::new_from_xml($uxml, 'UTF-8');
+ $record = $urecord;
};
build_tabs ($template, $record, $dbh,$encoding);
build_hidden_data;