[Koha-patches] [PATCH] (bug #2961) add a button to add manually the next issue
Nahuel ANGELINETTI
nahuel.angelinetti at biblibre.com
Fri Feb 13 17:15:31 CET 2009
This patch add a button in "Serial Collection" to add manually the next issue. And improve the function GetNextExpected
to retrieve at least something.
---
C4/Serials.pm | 6 ++++
.../en/modules/serials/serials-collection.tmpl | 8 ++++-
serials/serials-collection.pl | 31 ++++++++++++++++++++
3 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/C4/Serials.pm b/C4/Serials.pm
index 4d10615..f14a855 100644
--- a/C4/Serials.pm
+++ b/C4/Serials.pm
@@ -1245,8 +1245,14 @@ sub GetNextExpected($) {
# Each subscription has only one 'expected' issue, with serial.status==1.
$sth->execute( $subscriptionid, 1 );
my ( $nextissue ) = $sth->fetchrow_hashref;
+ if(not $nextissue){
+ $sth = $dbh->prepare('SELECT serialid,planneddate FROM serial WHERE subscriptionid = ? ORDER BY planneddate DESC LIMIT 1');
+ $sth->execute( $subscriptionid );
+ $nextissue = $sth->fetchrow_hashref;
+ }
$nextissue->{planneddate} = C4::Dates->new($nextissue->{planneddate},'iso');
return $nextissue;
+
}
=head2 ModNextExpected
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tmpl
index 10234c0..9647421 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tmpl
@@ -30,6 +30,12 @@ function popup(subscriptionid) {
newin=window.open('subscription-renew.pl?mode=popup&subscriptionid='+subscriptionid,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
}
+function generateNext(subscriptionid) {
+ if(confirm("Do you really want to generate next serial?")){
+ document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid;
+ }
+}
+
$(document).ready(function() {
$('#subscription_years > ul').tabs();
});
@@ -239,7 +245,7 @@ $(document).ready(function() {
</tr>
<!-- /TMPL_LOOP -->
</table>
- <p><input type="submit" value="Edit serials" /></p>
+ <p><input type="submit" value="Edit serials" /> <input type="button" value="Generate Next" onClick="javascript:generateNext(<!-- TMPL_VAR NAME="subscriptionidlist" -->)" /></p>
</div>
<!--/TMPL_LOOP -->
<input type="hidden" name="subscriptionid" value="<!--TMPL_VAR Name="subscriptionidlist"-->" />
diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl
index ca58f98..93aa00b 100755
--- a/serials/serials-collection.pl
+++ b/serials/serials-collection.pl
@@ -49,6 +49,37 @@ my @subscriptionid = $query->param('subscriptionid');
my $subscriptiondescs ;
my $subscriptions;
+
+if($op eq "gennext" && @subscriptionid){
+ my $subscriptionid = @subscriptionid[0];
+ my $subscription = GetSubscription($subscriptionid);
+
+ my $expected = GetNextExpected($subscriptionid);
+
+ my (
+ $newserialseq, $newlastvalue1, $newlastvalue2, $newlastvalue3,
+ $newinnerloop1, $newinnerloop2, $newinnerloop3
+ ) = GetNextSeq($subscription);
+
+ ## We generate the next publication date
+ my $nextpublisheddate = GetNextDate( $expected->{planneddate}->output('iso'), $subscription );
+
+ ## Creating the new issue
+ NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'},
+ 1, $nextpublisheddate, $nextpublisheddate );
+
+ ## Updating the subscription seq status
+ my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
+ WHERE subscriptionid = ?";
+ $sth = $dbh->prepare($squery);
+ $sth->execute(
+ $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1,
+ $newinnerloop2, $newinnerloop3, $subscriptionid
+ );
+
+ print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
+}
+
if (@subscriptionid){
my @subscriptioninformation=();
foreach my $subscriptionid (@subscriptionid){
--
1.5.6.3
More information about the Koha-patches
mailing list