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

(-)a/C4/Serials.pm (-18 / +40 lines)
Lines 31-36 use C4::Log; # logaction Link Here
31
use C4::Debug;
31
use C4::Debug;
32
use C4::Serials::Frequency;
32
use C4::Serials::Frequency;
33
use C4::Serials::Numberpattern;
33
use C4::Serials::Numberpattern;
34
use Koha::Database;
34
35
35
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
36
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
36
37
Lines 1140-1151 sub ModSerialStatus { Link Here
1140
        # next date (calculated from actual date & frequency parameters)
1141
        # next date (calculated from actual date & frequency parameters)
1141
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1142
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1142
        my $nextpubdate = $nextpublisheddate;
1143
        my $nextpubdate = $nextpublisheddate;
1143
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1144
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1144
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1145
                    WHERE  subscriptionid = ?";
1145
                    WHERE  subscriptionid = ?";
1146
        $sth = $dbh->prepare($query);
1146
        $sth = $dbh->prepare($query);
1147
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1147
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1148
1148
1149
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1150
1149
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1151
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1150
        if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) {
1152
        if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) {
1151
            require C4::Letters;
1153
            require C4::Letters;
Lines 1397-1409 sub NewSubscription { Link Here
1397
1399
1398
    # calculate issue number
1400
    # calculate issue number
1399
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1401
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1400
    $query = qq|
1402
1401
        INSERT INTO serial
1403
    my $serial_rs = Koha::Database->new()->schema()->resultset('Serial');
1402
            (serialseq,subscriptionid,biblionumber,status, planneddate, publisheddate)
1404
    $serial_rs->create(
1403
        VALUES (?,?,?,?,?,?)
1405
        {
1404
    |;
1406
            serialseq      => $serialseq,
1405
    $sth = $dbh->prepare($query);
1407
            serialseq_x    => $subscription->{'lastvalue1'},
1406
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, EXPECTED, $firstacquidate, $firstacquidate );
1408
            serialseq_y    => $subscription->{'lastvalue2'},
1409
            serialseq_z    => $subscription->{'lastvalue3'},
1410
            subscriptionid => $subscriptionid,
1411
            biblionumber   => $biblionumber,
1412
            status         => EXPECTED,
1413
            planneddate    => $firstacquidate,
1414
            publisheddate  => $firstacquidate,
1415
        }
1416
    );
1407
1417
1408
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1418
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1409
1419
Lines 1500-1520 sub NewIssue { Link Here
1500
1510
1501
    return unless ($subscriptionid);
1511
    return unless ($subscriptionid);
1502
1512
1513
    my $schema = Koha::Database->new()->schema();
1514
1515
    my $subscription = $schema->resultset('Subscription')->find( $subscriptionid );
1516
1517
    my $serial = $schema->resultset('Serial')->create(
1518
        {
1519
            serialseq      => $serialseq,
1520
            serialseq_x    => $subscription->lastvalue1(),
1521
            serialseq_y    => $subscription->lastvalue2(),
1522
            serialseq_z    => $subscription->lastvalue3(),
1523
            subscriptionid => $subscriptionid,
1524
            biblionumber   => $biblionumber,
1525
            status         => $status,
1526
            planneddate    => $planneddate,
1527
            publisheddate  => $publisheddate,
1528
            notes => $notes,
1529
        }
1530
    );
1531
1503
    my $dbh   = C4::Context->dbh;
1532
    my $dbh   = C4::Context->dbh;
1533
    my $serialid = $serial->serialid();
1534
1504
    my $query = qq|
1535
    my $query = qq|
1505
        INSERT INTO serial
1506
            (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate,notes)
1507
        VALUES (?,?,?,?,?,?,?)
1508
    |;
1509
    my $sth = $dbh->prepare($query);
1510
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $planneddate, $notes );
1511
    my $serialid = $dbh->{'mysql_insertid'};
1512
    $query = qq|
1513
        SELECT missinglist,recievedlist
1536
        SELECT missinglist,recievedlist
1514
        FROM   subscriptionhistory
1537
        FROM   subscriptionhistory
1515
        WHERE  subscriptionid=?
1538
        WHERE  subscriptionid=?
1516
    |;
1539
    |;
1517
    $sth = $dbh->prepare($query);
1540
    my $sth = $dbh->prepare($query);
1518
    $sth->execute($subscriptionid);
1541
    $sth->execute($subscriptionid);
1519
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1542
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1520
1543
1521
- 

Return to bug 12375