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

(-)a/C4/Serials.pm (-19 / +41 lines)
Lines 32-37 use C4::Serials::Frequency; Link Here
32
use C4::Serials::Numberpattern;
32
use C4::Serials::Numberpattern;
33
use Koha::AdditionalField;
33
use Koha::AdditionalField;
34
use Koha::DateUtils;
34
use Koha::DateUtils;
35
use Koha::Database;
35
36
36
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
37
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
37
38
Lines 1187-1198 sub ModSerialStatus { Link Here
1187
        # next date (calculated from actual date & frequency parameters)
1188
        # next date (calculated from actual date & frequency parameters)
1188
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1189
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1189
        my $nextpubdate = $nextpublisheddate;
1190
        my $nextpubdate = $nextpublisheddate;
1190
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1191
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1191
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1192
                    WHERE  subscriptionid = ?";
1192
                    WHERE  subscriptionid = ?";
1193
        $sth = $dbh->prepare($query);
1193
        $sth = $dbh->prepare($query);
1194
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1194
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1195
1195
1196
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1197
1196
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1198
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1197
        if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) {
1199
        if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) {
1198
            require C4::Letters;
1200
            require C4::Letters;
Lines 1444-1456 sub NewSubscription { Link Here
1444
1446
1445
    # calculate issue number
1447
    # calculate issue number
1446
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1448
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1447
    $query = qq|
1449
1448
        INSERT INTO serial
1450
    my $serial_rs = Koha::Database->new()->schema()->resultset('Serial');
1449
            (serialseq,subscriptionid,biblionumber,status, planneddate, publisheddate)
1451
    $serial_rs->create(
1450
        VALUES (?,?,?,?,?,?)
1452
        {
1451
    |;
1453
            serialseq      => $serialseq,
1452
    $sth = $dbh->prepare($query);
1454
            serialseq_x    => $subscription->{'lastvalue1'},
1453
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, EXPECTED, $firstacquidate, $firstacquidate );
1455
            serialseq_y    => $subscription->{'lastvalue2'},
1456
            serialseq_z    => $subscription->{'lastvalue3'},
1457
            subscriptionid => $subscriptionid,
1458
            biblionumber   => $biblionumber,
1459
            status         => EXPECTED,
1460
            planneddate    => $firstacquidate,
1461
            publisheddate  => $firstacquidate,
1462
        }
1463
    );
1454
1464
1455
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1465
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1456
1466
Lines 1548-1569 sub NewIssue { Link Here
1548
1558
1549
    return unless ($subscriptionid);
1559
    return unless ($subscriptionid);
1550
1560
1561
    my $schema = Koha::Database->new()->schema();
1562
1563
    my $subscription = $schema->resultset('Subscription')->find( $subscriptionid );
1564
1565
    my $serial = $schema->resultset('Serial')->create(
1566
        {
1567
            serialseq      => $serialseq,
1568
            serialseq_x    => $subscription->lastvalue1(),
1569
            serialseq_y    => $subscription->lastvalue2(),
1570
            serialseq_z    => $subscription->lastvalue3(),
1571
            subscriptionid => $subscriptionid,
1572
            biblionumber   => $biblionumber,
1573
            status         => $status,
1574
            planneddate    => $planneddate,
1575
            publisheddate  => $publisheddate,
1576
            publisheddatetext => $publisheddatetext,
1577
            notes => $notes,
1578
        }
1579
    );
1580
1551
    my $dbh   = C4::Context->dbh;
1581
    my $dbh   = C4::Context->dbh;
1582
    my $serialid = $serial->id();
1583
1552
    my $query = qq|
1584
    my $query = qq|
1553
        INSERT INTO serial (serialseq, subscriptionid, biblionumber, status,
1554
            publisheddate, publisheddatetext, planneddate, notes)
1555
        VALUES (?,?,?,?,?,?,?,?)
1556
    |;
1557
    my $sth = $dbh->prepare($query);
1558
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status,
1559
        $publisheddate, $publisheddatetext, $planneddate, $notes );
1560
    my $serialid = $dbh->{'mysql_insertid'};
1561
    $query = qq|
1562
        SELECT missinglist,recievedlist
1585
        SELECT missinglist,recievedlist
1563
        FROM   subscriptionhistory
1586
        FROM   subscriptionhistory
1564
        WHERE  subscriptionid=?
1587
        WHERE  subscriptionid=?
1565
    |;
1588
    |;
1566
    $sth = $dbh->prepare($query);
1589
    my $sth = $dbh->prepare($query);
1567
    $sth->execute($subscriptionid);
1590
    $sth->execute($subscriptionid);
1568
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1591
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1569
1592
1570
- 

Return to bug 12375