continuing the road to zebra :

- the biblio add begins to work.
- the biblio modif begins to work.

(still without doing anything on zebra)
(no new change in updatedatabase)
This commit is contained in:
tipaul 2005-08-10 10:21:14 +00:00
parent 3a48682514
commit 139d01cf13
4 changed files with 130 additions and 184 deletions

View file

@ -23,6 +23,7 @@ use C4::Context;
use C4::Database; use C4::Database;
use MARC::Record; use MARC::Record;
use MARC::File::USMARC; use MARC::File::USMARC;
use MARC::File::XML;
use vars qw($VERSION @ISA @EXPORT); use vars qw($VERSION @ISA @EXPORT);
@ -483,7 +484,6 @@ sub MARCgetbiblio {
$sth->execute($biblionumber); $sth->execute($biblionumber);
my ($marc) = $sth->fetchrow; my ($marc) = $sth->fetchrow;
my $record = MARC::File::USMARC::decode($marc); my $record = MARC::File::USMARC::decode($marc);
warn "$biblionumber => $marc = ".$record->as_usmarc();
return $record; return $record;
} }
@ -950,6 +950,7 @@ sub MARChtml2marc {
my $prevvalue; # if tag <10 my $prevvalue; # if tag <10
my $field; # if tag >=10 my $field; # if tag >=10
for (my $i=0; $i< @$rtags; $i++) { for (my $i=0; $i< @$rtags; $i++) {
next unless @$rvalues[$i];
# rebuild MARC::Record # rebuild MARC::Record
# warn "0=>".@$rtags[$i].@$rsubfields[$i]." = ".@$rvalues[$i].": "; # warn "0=>".@$rtags[$i].@$rsubfields[$i]." = ".@$rvalues[$i].": ";
if (@$rtags[$i] ne $prevtag) { if (@$rtags[$i] ne $prevtag) {
@ -1123,34 +1124,57 @@ sub MARCdelword {
# it's used with marcimport, and marc management tools # it's used with marcimport, and marc management tools
# #
=item ($bibid,$oldbibnum,$oldbibitemnum) = NEWnewbibilio($dbh,$MARCRecord,$oldbiblio,$oldbiblioitem); =item ($bibid,$oldbibnum,$oldbibitemnum) = NEWnewbibilio($dbh,$MARCRecord,$frameworkcode);
creates a new biblio from a MARC::Record. The 3rd and 4th parameter are hashes and may be ignored. If only 2 params are passed to the sub, the old-db hashes creates a biblio from a MARC::Record.
are builded from the MARC::Record. If they are passed, they are used.
=item NEWnewitem($dbh, $record,$bibid); =item NEWnewitem($dbh, $record,$bibid);
adds an item in the db. creates an item from a MARC::Record
=cut =cut
sub NEWnewbiblio { sub NEWnewbiblio {
my ( $dbh, $record, $frameworkcode ) = @_; my ( $dbh, $record, $frameworkcode ) = @_;
my $oldbibnum; my $biblionumber;
my $oldbibitemnum; my $biblioitemnumber;
my $olddata = MARCmarc2koha( $dbh, $record,$frameworkcode ); my $olddata = MARCmarc2koha( $dbh, $record,$frameworkcode );
$oldbibnum = OLDnewbiblio( $dbh, $olddata ); $olddata->{frameworkcode} = $frameworkcode;
$olddata->{'biblionumber'} = $oldbibnum; $biblionumber = OLDnewbiblio( $dbh, $olddata );
$oldbibitemnum = OLDnewbiblioitem( $dbh, $olddata ); $olddata->{biblionumber} = $biblionumber;
# add biblionumber into the MARC record (it's the ID for zebra)
my ( $tagfield, $tagsubfield ) =
MARCfind_marc_from_kohafield( $dbh, "biblio.biblionumber",$frameworkcode );
# create the field
my $newfield;
if ($tagfield<10) {
$newfield = MARC::Field->new(
$tagfield, $biblionumber,
);
} else {
$newfield = MARC::Field->new(
$tagfield, '', '', "$tagsubfield" => $biblionumber,
);
}
# drop old field (just in case it already exist and create new one...
my $old_field = $record->field($tagfield);
$record->delete_field($old_field);
$record->add_fields($newfield);
#create the marc entry, that stores the rax marc record in Koha 3.0
$olddata->{marc} = $record->as_usmarc();
$olddata->{marcxml} = $record->as_xml();
# and create biblioitem, that's all folks !
$biblioitemnumber = OLDnewbiblioitem( $dbh, $olddata );
# search subtiles, addiauthors and subjects # search subtiles, addiauthors and subjects
my ( $tagfield, $tagsubfield ) = ( $tagfield, $tagsubfield ) =
MARCfind_marc_from_kohafield( $dbh, "additionalauthors.author",$frameworkcode ); MARCfind_marc_from_kohafield( $dbh, "additionalauthors.author",$frameworkcode );
my @addiauthfields = $record->field($tagfield); my @addiauthfields = $record->field($tagfield);
foreach my $addiauthfield (@addiauthfields) { foreach my $addiauthfield (@addiauthfields) {
my @addiauthsubfields = $addiauthfield->subfield($tagsubfield); my @addiauthsubfields = $addiauthfield->subfield($tagsubfield);
foreach my $subfieldcount ( 0 .. $#addiauthsubfields ) { foreach my $subfieldcount ( 0 .. $#addiauthsubfields ) {
OLDmodaddauthor( $dbh, $oldbibnum, OLDmodaddauthor( $dbh, $biblionumber,
$addiauthsubfields[$subfieldcount] ); $addiauthsubfields[$subfieldcount] );
} }
} }
@ -1160,7 +1184,7 @@ sub NEWnewbiblio {
foreach my $subtitlefield (@subtitlefields) { foreach my $subtitlefield (@subtitlefields) {
my @subtitlesubfields = $subtitlefield->subfield($tagsubfield); my @subtitlesubfields = $subtitlefield->subfield($tagsubfield);
foreach my $subfieldcount ( 0 .. $#subtitlesubfields ) { foreach my $subfieldcount ( 0 .. $#subtitlesubfields ) {
OLDnewsubtitle( $dbh, $oldbibnum, OLDnewsubtitle( $dbh, $biblionumber,
$subtitlesubfields[$subfieldcount] ); $subtitlesubfields[$subfieldcount] );
} }
} }
@ -1174,67 +1198,8 @@ sub NEWnewbiblio {
push @subjects, $subjsubfield[$subfieldcount]; push @subjects, $subjsubfield[$subfieldcount];
} }
} }
OLDmodsubject( $dbh, $oldbibnum, 1, @subjects ); OLDmodsubject( $dbh, $biblionumber, 1, @subjects );
return ( $biblionumber, $biblioitemnumber );
# we must add bibnum and bibitemnum in MARC::Record...
# we build the new field with biblionumber and biblioitemnumber
# we drop the original field
# we add the new builded field.
# NOTE : Works only if the field is ONLY for biblionumber and biblioitemnumber
# (steve and paul : thinks 090 is a good choice)
my $sth =
$dbh->prepare(
"select tagfield,tagsubfield from marc_subfield_structure where kohafield=?"
);
$sth->execute("biblio.biblionumber");
( my $tagfield1, my $tagsubfield1 ) = $sth->fetchrow;
$sth->execute("biblioitems.biblioitemnumber");
( my $tagfield2, my $tagsubfield2 ) = $sth->fetchrow;
my $newfield;
# biblionumber & biblioitemnumber are in different fields
if ( $tagfield1 != $tagfield2 ) {
# deal with biblionumber
if ($tagfield1<10) {
$newfield = MARC::Field->new(
$tagfield1, $oldbibnum,
);
} else {
$newfield = MARC::Field->new(
$tagfield1, '', '', "$tagsubfield1" => $oldbibnum,
);
}
# drop old field and create new one...
my $old_field = $record->field($tagfield1);
$record->delete_field($old_field);
$record->add_fields($newfield);
# deal with biblioitemnumber
if ($tagfield2<10) {
$newfield = MARC::Field->new(
$tagfield2, $oldbibitemnum,
);
} else {
$newfield = MARC::Field->new(
$tagfield2, '', '', "$tagsubfield2" => $oldbibitemnum,
);
}
# drop old field and create new one...
$old_field = $record->field($tagfield2);
$record->delete_field($old_field);
$record->add_fields($newfield);
# biblionumber & biblioitemnumber are in the same field (can't be <10 as fields <10 have only 1 value)
} else {
my $newfield = MARC::Field->new(
$tagfield1, '', '', "$tagsubfield1" => $oldbibnum,
"$tagsubfield2" => $oldbibitemnum
);
# drop old field and create new one...
my $old_field = $record->field($tagfield1);
$record->delete_field($old_field);
$record->add_fields($newfield);
}
# warn "REC : ".$record->as_formatted;
my $bibid = MARCaddbiblio( $dbh, $record, $oldbibnum, $frameworkcode );
return ( $bibid, $oldbibnum, $oldbibitemnum );
} }
sub NEWmodbiblioframework { sub NEWmodbiblioframework {
@ -1243,12 +1208,19 @@ sub NEWmodbiblioframework {
$sth->execute($frameworkcode); $sth->execute($frameworkcode);
return 1; return 1;
} }
sub NEWmodbiblio { sub NEWmodbiblio {
my ($dbh,$record,$bibid,$frameworkcode) =@_; my ($dbh,$record,$biblionumber,$frameworkcode) =@_;
$frameworkcode="" unless $frameworkcode; $frameworkcode="" unless $frameworkcode;
&MARCmodbiblio($dbh,$bibid,$record,$frameworkcode,0); # &MARCmodbiblio($dbh,$bibid,$record,$frameworkcode,0);
my $oldbiblio = MARCmarc2koha($dbh,$record,$frameworkcode); my $oldbiblio = MARCmarc2koha($dbh,$record,$frameworkcode);
my $oldbiblionumber = OLDmodbiblio($dbh,$oldbiblio);
$oldbiblio->{frameworkcode} = $frameworkcode;
#create the marc entry, that stores the rax marc record in Koha 3.0
$oldbiblio->{marc} = $record->as_usmarc();
$oldbiblio->{marcxml} = $record->as_xml();
OLDmodbiblio($dbh,$oldbiblio);
OLDmodbibitem($dbh,$oldbiblio); OLDmodbibitem($dbh,$oldbiblio);
# now, modify addi authors, subject, addititles. # now, modify addi authors, subject, addititles.
my ($tagfield,$tagsubfield) = MARCfind_marc_from_kohafield($dbh,"additionalauthors.author",$frameworkcode); my ($tagfield,$tagsubfield) = MARCfind_marc_from_kohafield($dbh,"additionalauthors.author",$frameworkcode);
@ -1256,7 +1228,7 @@ sub NEWmodbiblio {
foreach my $addiauthfield (@addiauthfields) { foreach my $addiauthfield (@addiauthfields) {
my @addiauthsubfields = $addiauthfield->subfield($tagsubfield); my @addiauthsubfields = $addiauthfield->subfield($tagsubfield);
foreach my $subfieldcount (0..$#addiauthsubfields) { foreach my $subfieldcount (0..$#addiauthsubfields) {
OLDmodaddauthor($dbh,$oldbiblionumber,$addiauthsubfields[$subfieldcount]); OLDmodaddauthor($dbh,$biblionumber,$addiauthsubfields[$subfieldcount]);
} }
} }
($tagfield,$tagsubfield) = MARCfind_marc_from_kohafield($dbh,"bibliosubtitle.subtitle",$frameworkcode); ($tagfield,$tagsubfield) = MARCfind_marc_from_kohafield($dbh,"bibliosubtitle.subtitle",$frameworkcode);
@ -1265,10 +1237,10 @@ sub NEWmodbiblio {
my @subtitlesubfields = $subtitlefield->subfield($tagsubfield); my @subtitlesubfields = $subtitlefield->subfield($tagsubfield);
# delete & create subtitle again because OLDmodsubtitle can't handle new subtitles # delete & create subtitle again because OLDmodsubtitle can't handle new subtitles
# between 2 modifs # between 2 modifs
$dbh->do("delete from bibliosubtitle where biblionumber=$oldbiblionumber"); $dbh->do("delete from bibliosubtitle where biblionumber=$biblionumber");
foreach my $subfieldcount (0..$#subtitlesubfields) { foreach my $subfieldcount (0..$#subtitlesubfields) {
foreach my $subtit(split /\||#/,$subtitlesubfields[$subfieldcount]) { foreach my $subtit(split /\||#/,$subtitlesubfields[$subfieldcount]) {
OLDnewsubtitle($dbh,$oldbiblionumber,$subtit); OLDnewsubtitle($dbh,$biblionumber,$subtit);
} }
} }
} }
@ -1281,7 +1253,7 @@ sub NEWmodbiblio {
push @subjects,$subjsubfield[$subfieldcount]; push @subjects,$subjsubfield[$subfieldcount];
} }
} }
OLDmodsubject($dbh,$oldbiblionumber,1,@subjects); OLDmodsubject($dbh,$biblionumber,1,@subjects);
return 1; return 1;
} }
@ -1415,7 +1387,7 @@ delete a biblio
sub OLDnewbiblio { sub OLDnewbiblio {
my ( $dbh, $biblio ) = @_; my ( $dbh, $biblio ) = @_;
# my $dbh = &C4Connect; $dbh->do('lock tables biblio WRITE');
my $sth = $dbh->prepare("Select max(biblionumber) from biblio"); my $sth = $dbh->prepare("Select max(biblionumber) from biblio");
$sth->execute; $sth->execute;
my $data = $sth->fetchrow_arrayref; my $data = $sth->fetchrow_arrayref;
@ -1425,45 +1397,39 @@ sub OLDnewbiblio {
if ( $biblio->{'seriestitle'} ) { $series = 1 } if ( $biblio->{'seriestitle'} ) { $series = 1 }
$sth->finish; $sth->finish;
$sth = $sth =
$dbh->prepare( $dbh->prepare("insert into biblio set biblionumber=?, title=?, author=?, copyrightdate=?,
"insert into biblio set biblionumber = ?, title = ?, author = ?, copyrightdate = ?, serial = ?, seriestitle = ?, notes = ?, abstract = ?, unititle = ?" serial=?, seriestitle=?, notes=?, abstract=?,
unititle=?"
); );
$sth->execute( $sth->execute(
$bibnum, $biblio->{'title'}, $bibnum, $biblio->{'title'},
$biblio->{'author'}, $biblio->{'copyrightdate'}, $biblio->{'author'}, $biblio->{'copyrightdate'},
$biblio->{'serial'}, $biblio->{'seriestitle'}, $biblio->{'serial'}, $biblio->{'seriestitle'},
$biblio->{'notes'}, $biblio->{'abstract'}, $biblio->{'notes'}, $biblio->{'abstract'},
$biblio->{'unititle'}, $biblio->{'unititle'}
); );
$sth->finish; $sth->finish;
$dbh->do('unlock tables');
# $dbh->disconnect;
return ($bibnum); return ($bibnum);
} }
sub OLDmodbiblio { sub OLDmodbiblio {
my ( $dbh, $biblio ) = @_; my ( $dbh, $biblio ) = @_;
my $sth = $dbh->prepare("Update biblio set title=?, author=?, abstract=?, copyrightdate=?,
# my $dbh = C4Connect; seriestitle=?, serial=?, unititle=?, notes=?, frameworkcode=?
my $query; where biblionumber = ?"
my $sth;
$query = "";
$sth =
$dbh->prepare(
"Update biblio set title = ?, author = ?, abstract = ?, copyrightdate = ?, seriestitle = ?, serial = ?, unititle = ?, notes = ? where biblionumber = ?"
); );
$sth->execute( $sth->execute(
$biblio->{'title'}, $biblio->{'author'}, $biblio->{'title'}, $biblio->{'author'},
$biblio->{'abstract'}, $biblio->{'copyrightdate'}, $biblio->{'abstract'}, $biblio->{'copyrightdate'},
$biblio->{'seriestitle'}, $biblio->{'serial'}, $biblio->{'seriestitle'}, $biblio->{'serial'},
$biblio->{'unititle'}, $biblio->{'notes'}, $biblio->{'unititle'}, $biblio->{'notes'},
$biblio->{'biblionumber'} $biblio->{frameworkcode},
$biblio->{'biblionumber'}
); );
$sth->finish;
$sth->finish; return ( $biblio->{'biblionumber'} );
return ( $biblio->{'biblionumber'} );
} # sub modbiblio } # sub modbiblio
sub OLDmodsubtitle { sub OLDmodsubtitle {
@ -1568,47 +1534,18 @@ sub OLDmodbibitem {
my ( $dbh, $biblioitem ) = @_; my ( $dbh, $biblioitem ) = @_;
my $query; my $query;
$biblioitem->{'itemtype'} = $dbh->quote( $biblioitem->{'itemtype'} ); my $sth = $dbh->prepare("update biblioitems set itemtype=?, url=?, isbn=?, issn=?,
$biblioitem->{'url'} = $dbh->quote( $biblioitem->{'url'} ); publishercode=?, publicationyear=?, classification=?, dewey=?,
$biblioitem->{'isbn'} = $dbh->quote( $biblioitem->{'isbn'} ); subclass=?, illus=?, pages=?, volumeddesc=?,
$biblioitem->{'issn'} = $dbh->quote( $biblioitem->{'issn'} ); notes=?, size=?, place=?, marc=?,
$biblioitem->{'publishercode'} = marcxml=?
$dbh->quote( $biblioitem->{'publishercode'} ); where biblioitemnumber=?");
$biblioitem->{'publicationyear'} = $sth->execute( $biblioitem->{itemtype}, $biblioitem->{url}, $biblioitem->{isbn}, $biblioitem->{issn},
$dbh->quote( $biblioitem->{'publicationyear'} ); $biblioitem->{publishercode}, $biblioitem->{publicationyear}, $biblioitem->{classification}, $biblioitem->{dewey},
$biblioitem->{'classification'} = $biblioitem->{subclass}, $biblioitem->{illus}, $biblioitem->{pages}, $biblioitem->{volumeddesc},
$dbh->quote( $biblioitem->{'classification'} ); $biblioitem->{bnotes}, $biblioitem->{size}, $biblioitem->{place}, $biblioitem->{marc},
$biblioitem->{'dewey'} = $dbh->quote( $biblioitem->{'dewey'} ); $biblioitem->{marcxml}, $biblioitem->{biblioitemnumber});
$biblioitem->{'subclass'} = $dbh->quote( $biblioitem->{'subclass'} ); # warn "MOD : $biblioitem->{biblioitemnumber} = ".$biblioitem->{marc};
$biblioitem->{'illus'} = $dbh->quote( $biblioitem->{'illus'} );
$biblioitem->{'pages'} = $dbh->quote( $biblioitem->{'pages'} );
$biblioitem->{'volumeddesc'} = $dbh->quote( $biblioitem->{'volumeddesc'} );
$biblioitem->{'bnotes'} = $dbh->quote( $biblioitem->{'bnotes'} );
$biblioitem->{'size'} = $dbh->quote( $biblioitem->{'size'} );
$biblioitem->{'place'} = $dbh->quote( $biblioitem->{'place'} );
$query = "Update biblioitems set
itemtype = $biblioitem->{'itemtype'},
url = $biblioitem->{'url'},
isbn = $biblioitem->{'isbn'},
issn = $biblioitem->{'issn'},
publishercode = $biblioitem->{'publishercode'},
publicationyear = $biblioitem->{'publicationyear'},
classification = $biblioitem->{'classification'},
dewey = $biblioitem->{'dewey'},
subclass = $biblioitem->{'subclass'},
illus = $biblioitem->{'illus'},
pages = $biblioitem->{'pages'},
volumeddesc = $biblioitem->{'volumeddesc'},
notes = $biblioitem->{'bnotes'},
size = $biblioitem->{'size'},
place = $biblioitem->{'place'}
where biblioitemnumber = $biblioitem->{'biblioitemnumber'}";
$dbh->do($query);
if ( $dbh->errstr ) {
warn "$query";
}
} # sub modbibitem } # sub modbibitem
sub OLDmodnote { sub OLDmodnote {
@ -1649,7 +1586,8 @@ sub OLDnewbiblioitem {
volumeddesc = ?, illus = ?, volumeddesc = ?, illus = ?,
pages = ?, notes = ?, pages = ?, notes = ?,
size = ?, lccn = ?, size = ?, lccn = ?,
marc = ?, place = ?" marc = ?, place = ?,
marcxml = ?"
); );
$sth->execute( $sth->execute(
$bibitemnum, $biblioitem->{'biblionumber'}, $bibitemnum, $biblioitem->{'biblionumber'},
@ -1662,7 +1600,8 @@ sub OLDnewbiblioitem {
$biblioitem->{'volumeddesc'}, $biblioitem->{'illus'}, $biblioitem->{'volumeddesc'}, $biblioitem->{'illus'},
$biblioitem->{'pages'}, $biblioitem->{'bnotes'}, $biblioitem->{'pages'}, $biblioitem->{'bnotes'},
$biblioitem->{'size'}, $biblioitem->{'lccn'}, $biblioitem->{'size'}, $biblioitem->{'lccn'},
$biblioitem->{'marc'}, $biblioitem->{'place'} $biblioitem->{'marc'}, $biblioitem->{'place'},
$biblioitem->{marcxml},
); );
$sth->finish; $sth->finish;
@ -2660,6 +2599,14 @@ Paul POULAIN paul.poulain@free.fr
# $Id$ # $Id$
# $Log$ # $Log$
# Revision 1.124 2005/08/10 10:21:15 tipaul
# continuing the road to zebra :
# - the biblio add begins to work.
# - the biblio modif begins to work.
#
# (still without doing anything on zebra)
# (no new change in updatedatabase)
#
# Revision 1.123 2005/08/09 14:10:28 tipaul # Revision 1.123 2005/08/09 14:10:28 tipaul
# 1st commit to go to zebra. # 1st commit to go to zebra.
# don't update your cvs if you want to have a working head... # don't update your cvs if you want to have a working head...

View file

@ -396,17 +396,17 @@ $record = MARCgetbiblio($dbh,$biblionumber) if ($biblionumber);
($record,$encoding) = MARCfindbreeding($dbh,$breedingid) if ($breedingid); ($record,$encoding) = MARCfindbreeding($dbh,$breedingid) if ($breedingid);
$is_a_modif=0; $is_a_modif=0;
my ($oldbiblionumtagfield,$oldbiblionumtagsubfield); my ($biblionumtagfield,$biblionumtagsubfield);
my ($oldbiblioitemnumtagfield,$oldbiblioitemnumtagsubfield,$bibitem,$oldbiblioitemnumber); my ($biblioitemnumtagfield,$biblioitemnumtagsubfield,$bibitem,$biblioitemnumber);
if ($biblionumber) { if ($biblionumber) {
$is_a_modif=1; $is_a_modif=1;
# if it's a modif, retrieve old biblio and bibitem numbers for the future modification of old-DB. # if it's a modif, retrieve bibli and biblioitem numbers for the future modification of old-DB.
($oldbiblionumtagfield,$oldbiblionumtagsubfield) = &MARCfind_marc_from_kohafield($dbh,"biblio.biblionumber",$frameworkcode); ($biblionumtagfield,$biblionumtagsubfield) = &MARCfind_marc_from_kohafield($dbh,"biblio.biblionumber",$frameworkcode);
($oldbiblioitemnumtagfield,$oldbiblioitemnumtagsubfield) = &MARCfind_marc_from_kohafield($dbh,"biblioitems.biblioitemnumber",$frameworkcode); ($biblioitemnumtagfield,$biblioitemnumtagsubfield) = &MARCfind_marc_from_kohafield($dbh,"biblioitems.biblioitemnumber",$frameworkcode);
# search biblioitems value # search biblioitems value
my $sth=$dbh->prepare("select biblioitemnumber from biblioitems where biblionumber=?"); my $sth=$dbh->prepare("select biblioitemnumber from biblioitems where biblionumber=?");
$sth->execute($biblionumber); $sth->execute($biblionumber);
($oldbiblioitemnumber) = $sth->fetchrow; ($biblioitemnumber) = $sth->fetchrow;
} }
#------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------
if ($op eq "addbiblio") { if ($op eq "addbiblio") {
@ -429,15 +429,14 @@ if ($op eq "addbiblio") {
# it is not a duplicate (determined either by Koha itself or by user checking it's not a duplicate) # it is not a duplicate (determined either by Koha itself or by user checking it's not a duplicate)
if (!$duplicatebiblionumber or $confirm_not_duplicate) { if (!$duplicatebiblionumber or $confirm_not_duplicate) {
# MARC::Record built => now, record in DB # MARC::Record built => now, record in DB
my $oldbibnum;
my $oldbibitemnum;
if ($is_a_modif) { if ($is_a_modif) {
NEWmodbiblioframework($dbh,$biblionumber,$frameworkcode); NEWmodbiblioframework($dbh,$biblionumber,$frameworkcode);
NEWmodbiblio($dbh,$record,$biblionumber,$frameworkcode); NEWmodbiblio($dbh,$record,$biblionumber,$frameworkcode);
logaction($loggedinuser,"acqui.simple","modify",$biblionumber,"record : ".$record->as_formatted) if (C4::Context->preference("Activate_Log")); logaction($loggedinuser,"acqui.simple","modify",$biblionumber,"record : ".$record->as_formatted) if (C4::Context->preference("Activate_Log"));
} else { } else {
($biblionumber,$oldbibnum,$oldbibitemnum) = NEWnewbiblio($dbh,$record,$frameworkcode); my $biblioitemnumber;
logaction($loggedinuser,"acqui.simple","add",$oldbibnum,"record : ".$record->as_formatted) if (C4::Context->preference("Activate_Log")); ($biblionumber,$biblioitemnumber) = NEWnewbiblio($dbh,$record,$frameworkcode);
logaction($loggedinuser,"acqui.simple","add",$biblionumber,"record : ".$record->as_formatted) if (C4::Context->preference("Activate_Log"));
} }
# now, redirect to additem page # now, redirect to additem page
print $input->redirect("additem.pl?biblionumber=$biblionumber&frameworkcode=$frameworkcode"); print $input->redirect("additem.pl?biblionumber=$biblionumber&frameworkcode=$frameworkcode");
@ -448,11 +447,11 @@ if ($op eq "addbiblio") {
build_hidden_data; build_hidden_data;
$template->param( $template->param(
biblionumber => $biblionumber, biblionumber => $biblionumber,
oldbiblionumtagfield => $oldbiblionumtagfield, biblionumtagfield => $biblionumtagfield,
oldbiblionumtagsubfield => $oldbiblionumtagsubfield, biblionumtagsubfield => $biblionumtagsubfield,
oldbiblioitemnumtagfield => $oldbiblioitemnumtagfield, biblioitemnumtagfield => $biblioitemnumtagfield,
oldbiblioitemnumtagsubfield => $oldbiblioitemnumtagsubfield, biblioitemnumtagsubfield => $biblioitemnumtagsubfield,
oldbiblioitemnumber => $oldbiblioitemnumber, biblioitemnumber => $biblioitemnumber,
duplicatebiblionumber => $duplicatebiblionumber, duplicatebiblionumber => $duplicatebiblionumber,
duplicatetitle => $duplicatetitle, duplicatetitle => $duplicatetitle,
); );
@ -479,11 +478,11 @@ if ($op eq "addbiblio") {
build_hidden_data; build_hidden_data;
$template->param( $template->param(
biblionumber => $biblionumber, biblionumber => $biblionumber,
oldbiblionumtagfield => $oldbiblionumtagfield, biblionumtagfield => $biblionumtagfield,
oldbiblionumtagsubfield => $oldbiblionumtagsubfield, biblionumtagsubfield => $biblionumtagsubfield,
oldbiblioitemnumtagfield => $oldbiblioitemnumtagfield, biblioitemnumtagfield => $biblioitemnumtagfield,
oldbiblioitemnumtagsubfield => $oldbiblioitemnumtagsubfield, biblioitemnumtagsubfield => $biblioitemnumtagsubfield,
oldbiblioitemnumber => $oldbiblioitemnumber ); biblioitemnumber => $biblioitemnumber );
} elsif ($op eq "delete") { } elsif ($op eq "delete") {
#------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------
&NEWdelbiblio($dbh,$biblionumber); &NEWdelbiblio($dbh,$biblionumber);
@ -491,7 +490,7 @@ if ($op eq "addbiblio") {
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=/cgi-bin/koha/search.marc/search.pl?type=intranet\"></html>"; print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=/cgi-bin/koha/search.marc/search.pl?type=intranet\"></html>";
exit; exit;
#------------------------------------------------------------------------------------------------------------------------------logaction($loggedinuser,"acqui.simple","add","biblionumber :$oldbibnum"); #------------------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------
} else { } else {
#------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------
@ -506,11 +505,11 @@ if ($op eq "addbiblio") {
build_hidden_data; build_hidden_data;
$template->param( $template->param(
biblionumber => $biblionumber, biblionumber => $biblionumber,
oldbiblionumtagfield => $oldbiblionumtagfield, biblionumtagfield => $biblionumtagfield,
oldbiblionumtagsubfield => $oldbiblionumtagsubfield, biblionumtagsubfield => $biblionumtagsubfield,
oldbiblioitemnumtagfield => $oldbiblioitemnumtagfield, biblioitemnumtagfield => $biblioitemnumtagfield,
oldbiblioitemnumtagsubfield => $oldbiblioitemnumtagsubfield, biblioitemnumtagsubfield => $biblioitemnumtagsubfield,
oldbiblioitemnumber => $oldbiblioitemnumber, biblioitemnumber => $biblioitemnumber,
); );
} }
$template->param( $template->param(

View file

@ -378,15 +378,15 @@
<input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"> <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
<!-- /TMPL_LOOP --> <!-- /TMPL_LOOP -->
</div> </div>
<!-- TMPL_IF name="oldbiblionumtagfield" --> <!-- TMPL_IF name="biblionumtagfield" -->
<input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldbiblionumtagfield" -->"> <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblionumtagfield" -->">
<input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="oldbiblionumtagsubfield" -->"> <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblionumtagsubfield" -->">
<input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="oldbiblionumber" -->"> <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblionumber" -->">
<input type="hidden" name="mandatory" value="0"> <input type="hidden" name="mandatory" value="0">
<input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->"> <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
<input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldbiblioitemnumtagfield" -->"> <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblioitemnumtagfield" -->">
<input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="oldbiblioitemnumtagsubfield" -->"> <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblioitemnumtagsubfield" -->">
<input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="oldbiblioitemnumber" -->"> <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblioitemnumber" -->">
<input type="hidden" name="mandatory" value="0"> <input type="hidden" name="mandatory" value="0">
<input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->"> <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
<input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"> <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">

View file

@ -5,16 +5,16 @@
<input type="hidden" name="bibid" value="<!-- TMPL_VAR NAME="bibid" -->"> <input type="hidden" name="bibid" value="<!-- TMPL_VAR NAME="bibid" -->">
<div class="tabbed"> <div class="tabbed">
<h1 class="catalogue"><!-- TMPL_VAR name="title" --> (<!-- TMPL_VAR name="author" --> biblionumber #<!-- TMPL_VAR NAME="biblionumber" -->)</h1> <h1 class="catalogue"><!-- TMPL_VAR name="title" --> (<!-- TMPL_VAR name="author" --> biblionumber #<!-- TMPL_VAR NAME="biblionumber" -->)</h1>
<a href="addbiblio.pl?oldbiblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue"> <a href="addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue">
Edit biblio Edit biblio
</a> </a>
<a href="../MARCdetail.pl?bib=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue"> <a href="../MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue">
MARC MARC
</a> </a>
<a href="../detail.pl?bib=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue"> <a href="../detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue">
Normal Normal
</a> </a>
<a href="../ISBDdetail.pl?bib=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue"> <a href="../ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue">
ISBD ISBD
</a> </a>
</div> </div>