From be449e8becbfe565dac148b002d5d665ad2bfada Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 24 Oct 2012 12:02:37 -0400 Subject: [PATCH] [Signed off] Bug 8956 - Split serials enumeration data into separate fields - Part 7 - Add backend processing of field labels. Signed-off-by: Paul Landers --- C4/Serials.pm | 29 ++++++++++++++++++++--------- serials/subscription-add.pl | 16 +++++++++++++--- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/C4/Serials.pm b/C4/Serials.pm index 3df72d6..0159ba6 100644 --- a/C4/Serials.pm +++ b/C4/Serials.pm @@ -961,6 +961,13 @@ sub GetNextSeq { $newlastvalue3 = $val->{setto3} if ( $newlastvalue3 > $val->{whenmorethan3} ); # reset counter if needed. $calculated =~ s/\{Z\}/$newlastvalue3/g; + my $x_label = $val->{'serialseq_x_label'}; + my $y_label = $val->{'serialseq_y_label'}; + my $z_label = $val->{'serialseq_z_label'}; + $calculated =~ s/\{XL\}/$x_label/g; + $calculated =~ s/\{YL\}/$y_label/g; + $calculated =~ s/\{ZL\}/$z_label/g; + return ( $calculated, $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3 ); } @@ -1264,7 +1271,8 @@ sub ModSubscription { $whenmorethan1, $setto1, $lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2, $lastvalue2, $innerloop2, $add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3, $numberingmethod, $status, $biblionumber, $callnumber, $notes, $letter, $hemisphere, $manualhistory, - $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $subscriptionid + $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $subscriptionid, + $x_label, $y_label, $z_label ) = @_; # warn $irregularity; @@ -1276,9 +1284,9 @@ sub ModSubscription { add2=?,every2=?,whenmorethan2=?,setto2=?,lastvalue2=?,innerloop2=?, add3=?,every3=?,whenmorethan3=?,setto3=?,lastvalue3=?,innerloop3=?, numberingmethod=?, status=?, biblionumber=?, callnumber=?, notes=?, - letter=?, hemisphere=?,manualhistory=?,internalnotes=?,serialsadditems=?, - staffdisplaycount = ?,opacdisplaycount = ?, graceperiod = ?, location = ? - ,enddate=? + letter=?, hemisphere=?,manualhistory=?,internalnotes=?,serialsadditems=?, + staffdisplaycount = ?,opacdisplaycount = ?, graceperiod = ?, location = ?, + enddate=?, serialseq_x_label=?, serialseq_y_label=?, serialseq_z_label=? WHERE subscriptionid = ?"; #warn "query :".$query; @@ -1295,7 +1303,8 @@ sub ModSubscription { $numberingmethod, $status, $biblionumber, $callnumber, $notes, $letter, $hemisphere, ( $manualhistory ? $manualhistory : 0 ), $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, - $graceperiod, $location, $enddate, $subscriptionid + $graceperiod, $location, $enddate, $subscriptionid, + $x_label, $y_label, $z_label ); my $rows = $sth->rows; @@ -1326,7 +1335,8 @@ sub NewSubscription { $lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2, $lastvalue2, $innerloop2, $add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3, $numberingmethod, $status, $notes, $letter, $firstacquidate, $irregularity, $numberpattern, $callnumber, $hemisphere, $manualhistory, - $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate + $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $x_label, + $y_label, $z_label ) = @_; my $dbh = C4::Context->dbh; @@ -1340,8 +1350,8 @@ sub NewSubscription { add3,every3,whenmorethan3,setto3,lastvalue3,innerloop3, numberingmethod, status, notes, letter,firstacquidate,irregularity, numberpattern, callnumber, hemisphere,manualhistory,internalnotes,serialsadditems, - staffdisplaycount,opacdisplaycount,graceperiod,location,enddate) - VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) + staffdisplaycount,opacdisplaycount,graceperiod,location,enddate,serialseq_x_label,serialseq_y_label,serialseq_z_label) + VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) |; my $sth = $dbh->prepare($query); $sth->execute( @@ -1350,7 +1360,8 @@ sub NewSubscription { $lastvalue1, $innerloop1, $add2, $every2, $whenmorethan2, $setto2, $lastvalue2, $innerloop2, $add3, $every3, $whenmorethan3, $setto3, $lastvalue3, $innerloop3, $numberingmethod, "$status", $notes, $letter, $firstacquidate, $irregularity, $numberpattern, $callnumber, $hemisphere, $manualhistory, - $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate + $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate, $x_label, + $y_label, $z_label ); my $subscriptionid = $dbh->{'mysql_insertid'}; diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl index 6d7b44a..1ef36a1 100755 --- a/serials/subscription-add.pl +++ b/serials/subscription-add.pl @@ -275,6 +275,9 @@ sub redirect_add_subscription { my $missinglist = $query->param('missinglist'); my $opacnote = $query->param('opacnote'); my $librariannote = $query->param('librariannote'); + my $x_label = $query->param('x_label'); + my $y_label = $query->param('y_label'); + my $z_label = $query->param('z_label'); my $subscriptionid = NewSubscription( $auser, $branchcode, $aqbooksellerid, $cost, @@ -299,7 +302,8 @@ sub redirect_add_subscription { $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, - $enddate + $enddate, + $x_label, $y_label, $z_label, ); ModSubscriptionHistory( $subscriptionid, $histstartdate, $histenddate, $recievedlist, @@ -375,7 +379,12 @@ sub redirect_mod_subscription { my $location = $query->param('location'); my $nextexpected = GetNextExpected($subscriptionid); -# If it's a mod, we need to check the current 'expected' issue, and mod it in the serials table if necessary. + # field labels + my $x_label = $query->param('x_label'); + my $y_label = $query->param('y_label'); + my $z_label = $query->param('z_label'); + + # If it's a mod, we need to check the current 'expected' issue, and mod it in the serials table if necessary. if ( $nextacquidate ne $nextexpected->{planneddate}->output('iso') ) { ModNextExpected( $subscriptionid, C4::Dates->new( $nextacquidate, 'iso' ) ); @@ -408,7 +417,8 @@ sub redirect_mod_subscription { $internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, - $enddate, $subscriptionid + $enddate, $subscriptionid, + $x_label, $y_label, $z_label ); ModSubscriptionHistory( $subscriptionid, $histstartdate, $histenddate, $recievedlist, -- 1.7.2.5