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

(-)a/C4/Serials.pm (-23 / +15 lines)
Lines 1578-1613 sub NewIssue { Link Here
1578
        }
1578
        }
1579
    );
1579
    );
1580
1580
1581
    my $dbh   = C4::Context->dbh;
1582
    my $serialid = $serial->id();
1581
    my $serialid = $serial->id();
1583
1582
1584
    my $query = qq|
1583
    my $subscription_history = $schema->resultset('Subscriptionhistory')->find($subscriptionid);
1585
        SELECT missinglist,recievedlist
1584
    my $missinglist = $subscription_history->missinglist();
1586
        FROM   subscriptionhistory
1585
    my $recievedlist = $subscription_history->recievedlist();
1587
        WHERE  subscriptionid=?
1588
    |;
1589
    my $sth = $dbh->prepare($query);
1590
    $sth->execute($subscriptionid);
1591
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1592
1586
1593
    if ( $status == ARRIVED ) {
1587
    if ( $status == ARRIVED ) {
1594
      ### TODO Add a feature that improves recognition and description.
1588
        ### TODO Add a feature that improves recognition and description.
1595
      ### As such count (serialseq) i.e. : N18,2(N19),N20
1589
        ### As such count (serialseq) i.e. : N18,2(N19),N20
1596
      ### Would use substr and index But be careful to previous presence of ()
1590
        ### Would use substr and index But be careful to previous presence of ()
1597
        $recievedlist .= "; $serialseq" unless (index($recievedlist,$serialseq)>0);
1591
        $recievedlist .= "; $serialseq" unless ( index( $recievedlist, $serialseq ) > 0 );
1598
    }
1592
    }
1599
    if ( grep {/^$status$/} ( MISSING_STATUSES ) ) {
1593
    if ( grep { /^$status$/ } (MISSING_STATUSES) ) {
1600
        $missinglist .= "; $serialseq" unless (index($missinglist,$serialseq)>0);
1594
        $missinglist .= "; $serialseq" unless ( index( $missinglist, $serialseq ) > 0 );
1601
    }
1595
    }
1602
    $query = qq|
1596
1603
        UPDATE subscriptionhistory
1604
        SET    recievedlist=?, missinglist=?
1605
        WHERE  subscriptionid=?
1606
    |;
1607
    $sth = $dbh->prepare($query);
1608
    $recievedlist =~ s/^; //;
1597
    $recievedlist =~ s/^; //;
1609
    $missinglist  =~ s/^; //;
1598
    $missinglist  =~ s/^; //;
1610
    $sth->execute( $recievedlist, $missinglist, $subscriptionid );
1599
1600
    $subscription_history->recievedlist($recievedlist);
1601
    $subscription_history->missinglist($missinglist);
1602
    $subscription_history->update();
1603
1611
    return $serialid;
1604
    return $serialid;
1612
}
1605
}
1613
1606
1614
- 

Return to bug 12375