[Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.4,1.5
Paul POULAIN
tipaul at users.sourceforge.net
Fri Oct 25 12:55:49 CEST 2002
Update of /cvsroot/koha/koha/acqui.simple
In directory usw-pr-cvs1:/tmp/cvs-serv15970/acqui.simple
Modified Files:
addbiblio.pl
Log Message:
Road to 1.3.2
* bugfixes and improvements
* manage mandatory MARC subfields
* new table : authorised_values. this table contains categories and authorised values for the category. On MARC management, you can map a subfield to a authorised_values category. If you do this, the subfield can only be filled with a authorised_value of the selected category.
this submit contains everything needed :
* updatedatabase
* admin screens
* "links" management
* creation of a html-list if a subfield is mapped to an authorised value.
Note this is different from authorities support, which will come soon.
The authorised_values is supposed to contains a "small" number of authorised values for a category (less than 50-100). If you enter more authorised values than this, it should be hard to find what you want in a BIG list...
Index: addbiblio.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/addbiblio.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** addbiblio.pl 22 Oct 2002 15:50:23 -0000 1.4
--- addbiblio.pl 25 Oct 2002 10:55:47 -0000 1.5
***************
*** 83,87 ****
my $record = MARCgetbiblio($dbh,$bibid) if ($oldbiblionumber);
! #my $record = MARCfindbreeding($dbh,$isbn) if ($isbn);
#------------------------------------------------------------------------------------------------------------------------------
--- 83,87 ----
my $record = MARCgetbiblio($dbh,$bibid) if ($oldbiblionumber);
! my $record = MARCfindbreeding($dbh,$isbn) if ($isbn);
#------------------------------------------------------------------------------------------------------------------------------
***************
*** 105,108 ****
--- 105,109 ----
next if ($subfield eq 'tab');
next if ($tagslib->{$tag}->{$subfield}->{'tab'} ne "10");
+ $i++;
my %subfield_data;
$subfield_data{tag}=$tag;
***************
*** 111,117 ****
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"text\" name=\"value[]\">";
push(@loop_data, \%subfield_data);
- $i++
}
}
--- 112,117 ----
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"text\" name=\"field_value\">";
push(@loop_data, \%subfield_data);
}
}
***************
*** 185,189 ****
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"text\" name=\"value[]\">";
push(@loop_data, \%subfield_data);
$i++
--- 185,189 ----
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"text\" name=\"field_value\">";
push(@loop_data, \%subfield_data);
$i++
***************
*** 202,205 ****
--- 202,207 ----
my @loop_data =();
my $tag;
+ my $i=0;
+ my $authorised_values_sth = $dbh->prepare("select authorised_value from authorised_values where category=?");
# loop through each tab 0 through 9
for (my $tabloop = 0; $tabloop<=9;$tabloop++) {
***************
*** 218,231 ****
$subfield_data{tag}=$tag;
$subfield_data{subfield}=$subfield;
! $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
if ($record ne -1) {
! my $value ="";# &find_value($tag,$subfield,$record);
! $subfield_data{marc_value}="<input type=\"text\" name=\"value[]\" value=\"$value\">";
} else {
! $subfield_data{marc_value}="<input type=\"text\" name=\"value[]\">";
}
push(@subfields_data, \%subfield_data);
}
if ($#subfields_data>=0) {
--- 220,263 ----
$subfield_data{tag}=$tag;
$subfield_data{subfield}=$subfield;
! $subfield_data{marc_lib}="<DIV id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</div>";
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
if ($record ne -1) {
! my $value = find_value($tag,$subfield,$record);
! if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
! $authorised_values_sth->execute($tagslib->{$tag}->{$subfield}->{authorised_value});
! my @authorised_values;
! push @authorised_values, "" unless ($subfield_data{mandatory});
! while ((my $value) = $authorised_values_sth->fetchrow_array) {
! push @authorised_values, $value;
! }
! $subfield_data{marc_value}= CGI::scrolling_list(-name=>'field_value',
! -values=> \@authorised_values,
! -default=>"$value",
! -size=>1,
! -multiple=>0,
! );
! } else {
! $subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" value=\"$value\">";
! }
} else {
! if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
! $authorised_values_sth->execute($tagslib->{$tag}->{$subfield}->{authorised_value});
! my @authorised_values;
! push @authorised_values, "" unless ($subfield_data{mandatory});
! while ((my $value) = $authorised_values_sth->fetchrow_array) {
! push @authorised_values, $value;
! }
! $subfield_data{marc_value}= CGI::scrolling_list(-name=>'field_value',
! -values=> \@authorised_values,
! -size=>1,
! -multiple=>0,
! );
! } else {
! $subfield_data{marc_value}="<input type=\"text\" name=\"field_value\">";
! }
}
push(@subfields_data, \%subfield_data);
+ $i++;
}
if ($#subfields_data>=0) {
***************
*** 252,256 ****
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"hidden\" name=\"value[]\">";
push(@loop_data, \%subfield_data);
$i++
--- 284,288 ----
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! $subfield_data{marc_value}="<input type=\"hidden\" name=\"field_value\">";
push(@loop_data, \%subfield_data);
$i++
More information about the Koha-cvs
mailing list