View | Details | Raw Unified | Return to bug 7913
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt (+6 lines)
Lines 4-9 Link Here
4
4
5
<script type="text/javascript">
5
<script type="text/javascript">
6
//<![CDATA[
6
//<![CDATA[
7
function generateReceive(subscriptionid) {
8
    if(nbissues=prompt(_("How many issues do you want to receive ?"))){
9
        document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
10
    }
11
}
7
function print_slip(subscriptionid,issue){
12
function print_slip(subscriptionid,issue){
8
    var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
13
    var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
9
    window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
14
    window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
Lines 190-195 $(document).ready(function() { Link Here
190
        <p>
195
        <p>
191
            <input type="submit" value="Edit serials" />&nbsp;
196
            <input type="submit" value="Edit serials" />&nbsp;
192
            <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
197
            <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
198
            [% IF ( subscriptions.size == 1 ) %]&nbsp;<input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
193
        </p>
199
        </p>
194
    [% END %]
200
    [% END %]
195
201
(-)a/serials/serials-collection.pl (-10 / +13 lines)
Lines 34-39 use List::MoreUtils qw/uniq/; Link Here
34
34
35
my $query = new CGI;
35
my $query = new CGI;
36
my $op = $query->param('op') || q{};
36
my $op = $query->param('op') || q{};
37
my $nbissues=$query->param('nbissues');
37
my $dbh = C4::Context->dbh;
38
my $dbh = C4::Context->dbh;
38
39
39
my ($template, $loggedinuser, $cookie);
40
my ($template, $loggedinuser, $cookie);
Lines 55-73 my $subscriptions; Link Here
55
56
56
if($op eq 'gennext' && @subscriptionid){
57
if($op eq 'gennext' && @subscriptionid){
57
    my $subscriptionid = $subscriptionid[0];
58
    my $subscriptionid = $subscriptionid[0];
58
    my $subscription = GetSubscription($subscriptionid);
59
    my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate
59
60
	my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate
61
							FROM serial WHERE status = 1 AND subscriptionid = ?");
60
							FROM serial WHERE status = 1 AND subscriptionid = ?");
61
    my $status = defined( $nbissues ) ? 2 : 3;
62
    $nbissues ||= 1;
63
    for ( my $i = 0; $i < $nbissues; $i++ ){
62
	$sth->execute($subscriptionid);
64
	$sth->execute($subscriptionid);
63
64
	# modify actual expected issue, to generate the next
65
	# modify actual expected issue, to generate the next
65
	if ( my $issue = $sth->fetchrow_hashref ) {
66
	if ( my $issue = $sth->fetchrow_hashref ) {
66
		ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
67
		ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
67
                $issue->{planneddate}, $issue->{publisheddate},
68
                $issue->{planneddate}, $issue->{publisheddate},
68
                3, "" );
69
                $status, "" );
69
	}else{
70
	}else{
70
		my $expected = GetNextExpected($subscriptionid);
71
            my $subscription = GetSubscription($subscriptionid);
72
            my $expected = GetNextExpected($subscriptionid);
71
	    my (
73
	    my (
72
	         $newserialseq,  $newlastvalue1, $newlastvalue2, $newlastvalue3,
74
	         $newserialseq,  $newlastvalue1, $newlastvalue2, $newlastvalue3,
73
             $newinnerloop1, $newinnerloop2, $newinnerloop3
75
             $newinnerloop1, $newinnerloop2, $newinnerloop3
Lines 82-95 if($op eq 'gennext' && @subscriptionid){ Link Here
82
	     ## Updating the subscription seq status
84
	     ## Updating the subscription seq status
83
	     my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
85
	     my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
84
	                 WHERE  subscriptionid = ?";
86
	                 WHERE  subscriptionid = ?";
85
	     $sth = $dbh->prepare($squery);
87
	     my $seqsth = $dbh->prepare($squery);
86
	     $sth->execute(
88
	     $seqsth->execute(
87
	         $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1,
89
	         $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1,
88
	         $newinnerloop2, $newinnerloop3, $subscriptionid
90
	         $newinnerloop2, $newinnerloop3, $subscriptionid
89
	         );
91
	         );
90
92
91
	}
93
	}
92
94
	last if $nbissues == 1;
95
	last if HasSubscriptionExpired($subscriptionid) > 0;
96
    }
93
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
97
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
94
}
98
}
95
99
96
- 

Return to bug 7913