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

(-)a/C4/Serials.pm (-9 / +8 lines)
Lines 1107-1113 Note : if we change from "waited" to something else,then we will have to create Link Here
1107
=cut
1107
=cut
1108
1108
1109
sub ModSerialStatus {
1109
sub ModSerialStatus {
1110
    my ( $serialid, $serialseq, $planneddate, $publisheddate, $status, $notes ) = @_;
1110
    my ( $serialid, $serialseq, $planneddate, $publisheddate, $published_end_date, $status, $notes ) = @_;
1111
1111
1112
    #It is a usual serial
1112
    #It is a usual serial
1113
    # 1st, get previous status :
1113
    # 1st, get previous status :
Lines 1124-1132 sub ModSerialStatus { Link Here
1124
    }
1124
    }
1125
    else {
1125
    else {
1126
        my $query =
1126
        my $query =
1127
'UPDATE serial SET serialseq=?,publisheddate=?,planneddate=?,status=?,notes=? WHERE  serialid = ?';
1127
'UPDATE serial SET serialseq=?,publisheddate=?,published_end_date=?,planneddate=?,status=?,notes=? WHERE  serialid = ?';
1128
        $sth = $dbh->prepare($query);
1128
        $sth = $dbh->prepare($query);
1129
        $sth->execute( $serialseq, $publisheddate, $planneddate, $status, $notes, $serialid );
1129
        $sth->execute( $serialseq, $publisheddate, $published_end_date, $planneddate, $status, $notes, $serialid );
1130
        $query = "SELECT * FROM   subscription WHERE  subscriptionid = ?";
1130
        $query = "SELECT * FROM   subscription WHERE  subscriptionid = ?";
1131
        $sth   = $dbh->prepare($query);
1131
        $sth   = $dbh->prepare($query);
1132
        $sth->execute($subscriptionid);
1132
        $sth->execute($subscriptionid);
Lines 1172-1178 sub ModSerialStatus { Link Here
1172
1172
1173
        # next date (calculated from actual date & frequency parameters)
1173
        # next date (calculated from actual date & frequency parameters)
1174
        my $nextpublisheddate = GetNextDate( $publisheddate, $val );
1174
        my $nextpublisheddate = GetNextDate( $publisheddate, $val );
1175
        NewIssue( $newserialseq, $subscriptionid, $val->{'biblionumber'}, 1, $nextpublisheddate, $nextpublisheddate, undef, $newlastvalue1, $newlastvalue2, $newlastvalue3 );
1175
        NewIssue( $newserialseq, $subscriptionid, $val->{'biblionumber'}, 1, $nextpublisheddate, $nextpublisheddate, $published_end_date, undef, $newlastvalue1, $newlastvalue2, $newlastvalue3 );
1176
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1176
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1177
                    WHERE  subscriptionid = ?";
1177
                    WHERE  subscriptionid = ?";
1178
        $sth = $dbh->prepare($query);
1178
        $sth = $dbh->prepare($query);
Lines 1482-1499 returns the serial id Link Here
1482
=cut
1482
=cut
1483
1483
1484
sub NewIssue {
1484
sub NewIssue {
1485
    my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, $publisheddate, $notes, $x, $y, $z ) = @_;
1485
    my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, $publisheddate, $published_end_date, $notes, $x, $y, $z ) = @_;
1486
    warn "NewIssue( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, $publisheddate, $notes, $x, $y, $z )";
1487
    ### FIXME biblionumber CAN be provided by subscriptionid. So Do we STILL NEED IT ?
1486
    ### FIXME biblionumber CAN be provided by subscriptionid. So Do we STILL NEED IT ?
1488
1487
1489
    my $dbh   = C4::Context->dbh;
1488
    my $dbh   = C4::Context->dbh;
1490
    my $query = qq|
1489
    my $query = qq|
1491
        INSERT INTO serial
1490
        INSERT INTO serial
1492
            (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate,notes,serialseq_x,serialseq_y,serialseq_z)
1491
            (serialseq,subscriptionid,biblionumber,status,publisheddate,published_end_date,planneddate,notes,serialseq_x,serialseq_y,serialseq_z)
1493
        VALUES (?,?,?,?,?,?,?,?,?,?)
1492
        VALUES (?,?,?,?,?,?,?,?,?,?,?)
1494
    |;
1493
    |;
1495
    my $sth = $dbh->prepare($query);
1494
    my $sth = $dbh->prepare($query);
1496
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $planneddate, $notes, $x, $y, $z );
1495
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $published_end_date, $planneddate, $notes, $x, $y, $z );
1497
    my $serialid = $dbh->{'mysql_insertid'};
1496
    my $serialid = $dbh->{'mysql_insertid'};
1498
    $query = qq|
1497
    $query = qq|
1499
        SELECT missinglist,recievedlist
1498
        SELECT missinglist,recievedlist
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt (+7 lines)
Lines 167-172 $(document).ready(function() { Link Here
167
		<th>Expected on</th>
167
		<th>Expected on</th>
168
		<th>Status</th>
168
		<th>Status</th>
169
		<th>Notes</th>
169
		<th>Notes</th>
170
                <th>Bound volumes<br/>Ending published on</th>
170
	</tr>
171
	</tr>
171
[% FOREACH serialslis IN serialslist %]
172
[% FOREACH serialslis IN serialslist %]
172
    [% UNLESS ( loop.odd ) %]
173
    [% UNLESS ( loop.odd ) %]
Lines 240-245 $(document).ready(function() { Link Here
240
        <td>
241
        <td>
241
            <input type="text" name="notes" value="[% serialslis.sernotes %]" size="20" maxlength="255" />
242
            <input type="text" name="notes" value="[% serialslis.sernotes %]" size="20" maxlength="255" />
242
        </td>
243
        </td>
244
        <td>
245
            <input type="text" name="published_end_date" value="[% serialslis.published_end_date %]" size="10" maxlength="15" class="datepicker" readonly="readonly"/>
246
        </td>
243
    </tr>
247
    </tr>
244
  [% UNLESS ( serialslis.subscriptionexpired ) %]
248
  [% UNLESS ( serialslis.subscriptionexpired ) %]
245
  [% IF ( serialslis.serialsadditems ) %]
249
  [% IF ( serialslis.serialsadditems ) %]
Lines 350-355 $(document).ready(function() { Link Here
350
        <td>
354
        <td>
351
            <input type="text" name="notes" value="" size="20" maxlength="255" />
355
            <input type="text" name="notes" value="" size="20" maxlength="255" />
352
        </td>
356
        </td>
357
        <td>
358
            <input type="text" name="published_end_date" value="[% newserialloo.published_end_date %]" size="10" maxlength="15"  class="datepicker" readonly="readonly"/>
359
        </td>
353
    </tr>
360
    </tr>
354
  [% IF ( newserialloo.serialsadditems ) %]
361
  [% IF ( newserialloo.serialsadditems ) %]
355
          <tr>
362
          <tr>
(-)a/serials/serials-collection.pl (-1 / +1 lines)
Lines 79-85 if($op eq 'gennext' && @subscriptionid){ Link Here
79
	     my $nextpublisheddate = GetNextDate( $expected->{planneddate}->output('iso'), $subscription );
79
	     my $nextpublisheddate = GetNextDate( $expected->{planneddate}->output('iso'), $subscription );
80
	     ## Creating the new issue
80
	     ## Creating the new issue
81
	     NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'},
81
	     NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'},
82
               1, $nextpublisheddate, $nextpublisheddate, undef, $newlastvalue1, $newlastvalue2, $newlastvalue3 );
82
               1, $nextpublisheddate, $nextpublisheddate, undef, undef, $newlastvalue1, $newlastvalue2, $newlastvalue3 );
83
83
84
	     ## Updating the subscription seq status
84
	     ## Updating the subscription seq status
85
	     my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
85
	     my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
(-)a/serials/serials-edit.pl (-3 / +9 lines)
Lines 81-86 my @serialids = $query->param('serialid'); Link Here
81
my @serialseqs      = $query->param('serialseq');
81
my @serialseqs      = $query->param('serialseq');
82
my @planneddates    = $query->param('planneddate');
82
my @planneddates    = $query->param('planneddate');
83
my @publisheddates  = $query->param('publisheddate');
83
my @publisheddates  = $query->param('publisheddate');
84
my @published_end_dates = $query->param('published_end_date');
84
my @status          = $query->param('status');
85
my @status          = $query->param('status');
85
my @notes           = $query->param('notes');
86
my @notes           = $query->param('notes');
86
my @subscriptionids = $query->param('subscriptionid');
87
my @subscriptionids = $query->param('subscriptionid');
Lines 134-140 foreach my $serialid (@serialids) { Link Here
134
        && !$processedserialid{$serialid} )
135
        && !$processedserialid{$serialid} )
135
    {
136
    {
136
        my $serinfo = GetSerialInformation($serialid); #TODO duplicates work done by GetSerials2 above
137
        my $serinfo = GetSerialInformation($serialid); #TODO duplicates work done by GetSerials2 above
137
        for my $d ( qw( publisheddate planneddate )){
138
        for my $d ( qw( publisheddate planneddate published_end_date )){
138
            if ( $serinfo->{$d} =~m/^00/ ) {
139
            if ( $serinfo->{$d} =~m/^00/ ) {
139
                $serinfo->{$d} = q{};
140
                $serinfo->{$d} = q{};
140
            }
141
            }
Lines 206-212 if ( $op and $op eq 'serialchangestatus' ) { Link Here
206
207
207
    my $newserial;
208
    my $newserial;
208
    for ( my $i = 0 ; $i <= $#serialids ; $i++ ) {
209
    for ( my $i = 0 ; $i <= $#serialids ; $i++ ) {
209
        my ($plan_date, $pub_date);
210
        my ($plan_date, $pub_date, $pub_end_date);
210
211
211
        if (defined $planneddates[$i] && $planneddates[$i] ne 'XXX') {
212
        if (defined $planneddates[$i] && $planneddates[$i] ne 'XXX') {
212
            $plan_date = format_date_in_iso( $planneddates[$i] );
213
            $plan_date = format_date_in_iso( $planneddates[$i] );
Lines 215-220 if ( $op and $op eq 'serialchangestatus' ) { Link Here
215
            $pub_date = format_date_in_iso( $publisheddates[$i] );
216
            $pub_date = format_date_in_iso( $publisheddates[$i] );
216
        }
217
        }
217
218
219
        if (defined $published_end_dates[$i] && $published_end_dates[$i] ne 'XXX') {
220
            $pub_end_date = format_date_in_iso( $published_end_dates[$i] );
221
        }
222
218
        if ( $serialids[$i] && $serialids[$i] eq 'NEW' ) {
223
        if ( $serialids[$i] && $serialids[$i] eq 'NEW' ) {
219
            if ( $serialseqs[$i] ) {
224
            if ( $serialseqs[$i] ) {
220
225
Lines 227-232 if ( $op and $op eq 'serialchangestatus' ) { Link Here
227
                    $status[$i],
232
                    $status[$i],
228
                    $plan_date,
233
                    $plan_date,
229
                    $pub_date,
234
                    $pub_date,
235
                    $pub_end_date,
230
                    $notes[$i]
236
                    $notes[$i]
231
                );
237
                );
232
            }
238
            }
Lines 237-242 if ( $op and $op eq 'serialchangestatus' ) { Link Here
237
                $serialseqs[$i],
243
                $serialseqs[$i],
238
                $plan_date,
244
                $plan_date,
239
                $pub_date,
245
                $pub_date,
246
                $pub_end_date,
240
                $status[$i],
247
                $status[$i],
241
                $notes[$i]
248
                $notes[$i]
242
            );
249
            );
243
- 

Return to bug 8956