finishing modification of catalog screens

This commit is contained in:
chris 2000-03-28 03:47:39 +00:00
parent e58cc869eb
commit 651579305f
5 changed files with 206 additions and 36 deletions

View file

@ -14,7 +14,7 @@ $VERSION = 0.01;
&ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder &ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder
&newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder &newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder
&bookfundbreakdown &curconvert &updatesup &insertsup &makeitems &modbibitem &bookfundbreakdown &curconvert &updatesup &insertsup &makeitems &modbibitem
&getcurrencies); &getcurrencies &modsubtitle &modsubject);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
# your exported package globals go here, # your exported package globals go here,
@ -281,30 +281,65 @@ sub newbiblio {
} }
sub modbiblio { sub modbiblio {
my ($bibnum,$title,$author,$copyright)=@_; my ($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes)=@_;
my $dbh=C4Connect; my $dbh=C4Connect;
$title=~ s/\'/\\\'/g; $title=~ s/\'/\\\'/g;
$author=~ s/\'/\\\'/g; $author=~ s/\'/\\\'/g;
my $query="update biblio set title='$title', my $query="update biblio set title='$title',
author='$author',copyrightdate='$copyright' where author='$author',copyrightdate='$copyright',
seriestitle='$seriestitle',serial='$serial',unititle='$unititle',notes='$notes'
where
biblionumber=$bibnum"; biblionumber=$bibnum";
my $sth=$dbh->prepare($query); my $sth=$dbh->prepare($query);
# print $query; print $query;
$sth->execute; $sth->execute;
$sth->finish; $sth->finish;
$dbh->disconnect; $dbh->disconnect;
return($bibnum); return($bibnum);
}
sub modsubtitle {
my ($bibnum,$subtitle)=@_;
my $dbh=C4Connect;
my $query="update bibliosubtitle set subtitle='$subtitle' where biblionumber=$bibnum";
print $query;
my $sth=$dbh->prepare($query);
print $query;
$sth->execute;
$sth->finish;
$dbh->disconnect;
}
sub modsubject {
my ($bibnum,@subject)=@_;
my $dbh=C4Connect;
my $count=@subject;
my $query="Delete from bibliosubject where biblionumber=$bibnum";
# print $query;
my $sth=$dbh->prepare($query);
print $query;
$sth->execute;
$sth->finish;
for (my $i=0;$i<$count;$i++){
$sth=$dbh->prepare("Insert into bibliosubject values ('$subject[$i]',$bibnum)");
print $subject[$i];
$sth->execute;
$sth->finish;
}
$dbh->disconnect;
} }
sub modbibitem { sub modbibitem {
my ($bibitemnum,$itemtype,$isbn)=@_; my ($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc)=@_;
my $dbh=C4Connect; my $dbh=C4Connect;
my $query="update biblioitems set itemtype='$itemtype', my $query="update biblioitems set itemtype='$itemtype',
isbn='$isbn' where isbn='$isbn',publishercode='$publishercode',publicationyear='$publicationdate',
classification='$classification',dewey='$dewey',subclass='$subclass',illus='$illus',
pages='$pages',volumeddesc='$volumeddesc'
where
biblioitemnumber=$bibitemnum"; biblioitemnumber=$bibitemnum";
my $sth=$dbh->prepare($query); my $sth=$dbh->prepare($query);
# print $query; print $query;
$sth->execute; $sth->execute;
$sth->finish; $sth->finish;
$dbh->disconnect; $dbh->disconnect;

View file

@ -13,7 +13,7 @@ $VERSION = 0.01;
@ISA = qw(Exporter); @ISA = qw(Exporter);
@EXPORT = qw(&startpage &endpage &mktablehdr &mktableft &mktablerow &mklink @EXPORT = qw(&startpage &endpage &mktablehdr &mktableft &mktablerow &mklink
&startmenu &endmenu &mkheadr &center &endcenter &mkform &mkform2 &bold &startmenu &endmenu &mkheadr &center &endcenter &mkform &mkform2 &bold
&gotopage &mkformnotable); &gotopage &mkformnotable &mkform3);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
# your exported package globals go here, # your exported package globals go here,
@ -184,6 +184,55 @@ sub mkform{
$string=$string."</form>"; $string=$string."</form>";
} }
sub mkform3{
my ($action,%inputs)=@_;
my $string="<form action=$action method=post>\n";
$string=$string.mktablehdr();
my $key;
my @keys=sort keys %inputs;
my @order;
my $count=@keys;
my $i2=0;
while ( $i2<$count) {
my $value=$inputs{$keys[$i2]};
my @data=split('\t',$value);
my $posn = $data[2];
if ($data[0] eq 'hidden'){
$order[$posn]="<input type=hidden name=$keys[$i2] value=\"$data[1]\">\n";
} else {
my $text;
if ($data[0] eq 'radio') {
$text="<input type=radio name=$keys[$i2] value=$data[1]>$data[1]
<input type=radio name=$keys[$i2] value=$data[2]>$data[2]";
}
if ($data[0] eq 'text') {
$text="<input type=$data[0] name=$keys[$i2] value=\"$data[1]\">";
}
if ($data[0] eq 'textarea') {
$text="<textarea name=$keys[$i2] wrap=physical cols=40 rows=4>$data[1]</textarea>";
}
if ($data[0] eq 'select') {
$text="<select name=$keys[$i2]>";
my $i=1;
while ($data[$i] ne "") {
my $val = $data[$i+1];
$text = $text."<option value=$data[$i]>$val";
$i = $i+2;
}
$text=$text."</select>";
}
# $string=$string.mktablerow(2,'white',$keys[$i2],$text);
$order[$posn]=mktablerow(2,'white',$keys[$i2],$text);
}
$i2++;
}
my $temp=join("\n",@order);
$string=$string.$temp;
$string=$string.mktablerow(2,'white','<input type=submit>','<input type=reset>');
$string=$string.mktableft;
$string=$string."</form>";
}
sub mkformnotable{ sub mkformnotable{
my ($action,@inputs)=@_; my ($action,@inputs)=@_;
my $string="<form action=$action method=post>\n"; my $string="<form action=$action method=post>\n";

View file

@ -17,7 +17,7 @@ $VERSION = 0.01;
@EXPORT = qw(&CatSearch &BornameSearch &ItemInfo &KeywordSearch &subsearch @EXPORT = qw(&CatSearch &BornameSearch &ItemInfo &KeywordSearch &subsearch
&itemdata &bibdata &GetItems &borrdata &getacctlist &itemnodata &itemcount &itemdata &bibdata &GetItems &borrdata &getacctlist &itemnodata &itemcount
&OpacSearch &borrdata2 &NewBorrowerNumber &bibitemdata &borrissues &OpacSearch &borrdata2 &NewBorrowerNumber &bibitemdata &borrissues
&getboracctrecord &ItemType &itemissues &FrontSearch); &getboracctrecord &ItemType &itemissues &FrontSearch &subject &subtitle);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
# your exported package globals go here, # your exported package globals go here,
@ -588,7 +588,7 @@ sub bibitemdata {
my $dbh=C4Connect; my $dbh=C4Connect;
my $query="Select * from biblio,biblioitems,itemtypes where biblio.biblionumber= my $query="Select * from biblio,biblioitems,itemtypes where biblio.biblionumber=
biblioitems.biblionumber and biblioitemnumber=$bibitem and biblioitems.biblionumber and biblioitemnumber=$bibitem and
biblioitems.itemtype=itemtypes.itemtype"; biblioitems.itemtype=itemtypes.itemtype";
# print $query; # print $query;
my $sth=$dbh->prepare($query); my $sth=$dbh->prepare($query);
$sth->execute; $sth->execute;
@ -598,6 +598,42 @@ biblioitems.itemtype=itemtypes.itemtype";
return($data); return($data);
} }
sub subject {
my ($bibnum)=@_;
my $dbh=C4Connect;
my $query="Select * from bibliosubject where biblionumber=$bibnum";
my $sth=$dbh->prepare($query);
$sth->execute;
my @results;
my $i=0;
while (my $data=$sth->fetchrow_hashref){
$results[$i]=$data;
$i++;
}
$sth->finish;
$dbh->disconnect;
return($i,\@results);
}
sub subtitle {
my ($bibnum)=@_;
my $dbh=C4Connect;
my $query="Select * from bibliosubtitle where biblionumber=$bibnum";
my $sth=$dbh->prepare($query);
$sth->execute;
my @results;
my $i=0;
while (my $data=$sth->fetchrow_hashref){
$results[$i]=$data;
$i++;
}
$sth->finish;
$dbh->disconnect;
return($i,\@results);
}
sub itemissues { sub itemissues {
my ($bibitem)=@_; my ($bibitem)=@_;
my $dbh=C4Connect; my $dbh=C4Connect;

View file

@ -14,35 +14,51 @@ my $input = new CGI;
print $input->header; print $input->header;
my $bibitemnum=$input->param('bibitem'); my $bibitemnum=$input->param('bibitem');
my $data=bibitemdata($bibitemnum); my $data=bibitemdata($bibitemnum);
my ($count,$subject)=subject($data->{'biblionumber'});
my ($count2,$subtitle)=subtitle($data->{'biblionumber'});
#my ($analytictitle)=analytic($biblionumber,'t');
#my ($analyticauthor)=analytic($biblionumber,'a');
print startpage(); print startpage();
print startmenu(); print startmenu();
my %inputs; my %inputs;
#have to get all subtitles, subjects
my $sub=$subject->[0]->{'subject'};
for (my $i=1;$i<$count;$i++){
$sub=$sub."|".$subject->[$i]->{'subject'};
}
#hash is set up with input name being the key then #hash is set up with input name being the key then
#the value is a tab separated list, the first item being the input type #the value is a tab separated list, the first item being the input type
$inputs{'Author'}="text\t$data->{'author'}"; $inputs{'Author'}="text\t$data->{'author'}\t0";
$inputs{'Title'}="text\t$data->{'title'}"; $inputs{'Title'}="text\t$data->{'title'}\t1";
$inputs{'Unititle'}="text\t$data->{'unititle'}"; if ($data->{'dewey'} == 0){
$inputs{'Notes'}="textarea\t$data->{'notes'}"; $data->{'dewey'}='';
$inputs{'Serial'}="text\t$data->{'serial'}"; }
$inputs{'Series Title'}="text\t$data->{'seriestitle'}";
$inputs{'Copyright'}="text\t$data->{'copyrightdate'}"; $inputs{'Class'}="text\t$data->{'classification'}$data->{'dewey'}$data->{'subclass'}\t2";
#$inputs{'Volume'}="text\t$data->{'volume'}"; $inputs{'Item Type'}="text\t$data->{'itemtype'}\t3";
#$inputs{'Number'}="text\t$data->{'number'}"; $inputs{'Subject'}="text\t$sub\t4";
$inputs{'Classification'}="text\t$data->{'classification'}"; $inputs{'Publisher'}="text\t$data->{'publishercode'}\t5";
$inputs{'Item Type'}="text\t$data->{'itemtype'}"; $inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6";
$inputs{'ISBN'}="text\t$data->{'isbn'}"; $inputs{'ISBN'}="text\t$data->{'isbn'}\t7";
$inputs{'Dewey'}="text\t$data->{'dewey'}"; $inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8";
$inputs{'Sub Class'}="text\t$data->{'subclass'}"; $inputs{'Pages'}="text\t$data->{'pages'}\t9";
$inputs{'Publication Year'}="text\t$data->{'publicationyear'}"; $inputs{'Illustrations'}="text\t$data->{'illustration'}\t10";
$inputs{'Volume'}="text\t$data->{'volumedesc'}"; $inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11";
$inputs{'Illustrations'}="text\t$data->{'illustration'}"; $inputs{'Additional Author'}="text\t$data->{'addauthor'}\t12";
$inputs{'Pages'}="text\t$data->{'pages'}"; $inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13";
$inputs{'bibnum'}="hidden\t$data->{'biblionumber'}"; $inputs{'Unititle'}="text\t$data->{'unititle'}\t14";
$inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}"; $inputs{'Notes'}="textarea\t$data->{'notes'}\t15";
print mkform('updatebiblio.pl',%inputs); $inputs{'Serial'}="text\t$data->{'serial'}\t16";
$inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17";
$inputs{'Analytic author'}="text\t\t18";
$inputs{'Analytic title'}="text\t\t19";
$inputs{'bibnum'}="hidden\t$data->{'biblionumber'}\t20";
$inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}\t21";
print mkform3('updatebiblio.pl',%inputs);
#print mktablehdr(); #print mktablehdr();
#print mktableft(); #print mktableft();
print endmenu(); print endmenu();

View file

@ -6,14 +6,48 @@ use strict;
use C4::Acquisitions; use C4::Acquisitions;
my $input= new CGI; my $input= new CGI;
#print $input->header; print $input->header;
#print $input->dump; print $input->dump;
my $title=$input->param('Title'); my $title=$input->param('Title');
my $author=$input->param('Author'); my $author=$input->param('Author');
my $bibnum=$input->param('bibnum'); my $bibnum=$input->param('bibnum');
my $copyright=$input->param('Copyright'); my $copyright=$input->param('Copyright');
my $seriestitle=$input->param('Series');
my $serial=$input->param('Serial');
my $unititle=$input->param('Unititle');
my $notes=$input->param('Notes');
modbiblio($bibnum,$title,$author,$copyright); modbiblio($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes);
my $bibitemnum=$input->param('bibitemnum');
my $itemtype=$input->param('Item');
my $isbn=$input->param('ISBN');
my $publishercode=$input->param('Publisher');
my $publicationdate=$input->param('Publication');
my $class=$input->param('Class');
my $classification;
my $dewey;
my $subclass;
if ($itemtype eq 'PER'){
$classification=$class;
}
if ($class =~/0-9/){
}else{
$dewey='';
}
my $illus=$input->param('Illustrations');
my $pages=$input->param('Pages');
my $volumeddesc=$input->param('Volume');
modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc);
my $subtitle=$input->param('Subtitle');
modsubtitle($bibnum,$subtitle);
my $subject=$input->param('Subject');
my @sub=split(/\|/,$subject);
#print @sub;
#
modsubject($bibnum,@sub);
print $input->redirect("detail.pl?type=intra&bib=$bibnum"); print $input->redirect("detail.pl?type=intra&bib=$bibnum");