koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.4,1.5


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.4,1.5
Date: Fri, 25 Oct 2002 03:55:49 -0700

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=> address@hidden,
!                                                                               
                                                                                
        -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=> address@hidden,
!                                                                               
                                                                                
        -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++




reply via email to

[Prev in Thread] Current Thread [Next in Thread]