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 1241-1252 sub ModSerialStatus { Link Here
1241
        # next date (calculated from actual date & frequency parameters)
1242
        # next date (calculated from actual date & frequency parameters)
1242
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1243
        my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1);
1243
        my $nextpubdate = $nextpublisheddate;
1244
        my $nextpubdate = $nextpublisheddate;
1244
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1245
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1245
        $query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
1246
                    WHERE  subscriptionid = ?";
1246
                    WHERE  subscriptionid = ?";
1247
        $sth = $dbh->prepare($query);
1247
        $sth = $dbh->prepare($query);
1248
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1248
        $sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid );
1249
1249
1250
        NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate );
1251
1250
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1252
        # check if an alert must be sent... (= a letter is defined & status became "arrived"
1251
        if ( $subscription->{letter} && $status == 2 && $oldstatus != 2 ) {
1253
        if ( $subscription->{letter} && $status == 2 && $oldstatus != 2 ) {
1252
            require C4::Letters;
1254
            require C4::Letters;
Lines 1498-1510 sub NewSubscription { Link Here
1498
1500
1499
    # calculate issue number
1501
    # calculate issue number
1500
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1502
    my $serialseq = GetSeq($subscription, $pattern) || q{};
1501
    $query = qq|
1503
1502
        INSERT INTO serial
1504
    my $serial_rs = Koha::Database->new()->schema()->resultset('Serial');
1503
            (serialseq,subscriptionid,biblionumber,status, planneddate, publisheddate)
1505
    $serial_rs->create(
1504
        VALUES (?,?,?,?,?,?)
1506
        {
1505
    |;
1507
            serialseq      => $serialseq,
1506
    $sth = $dbh->prepare($query);
1508
            serialseq_x    => $subscription->{'lastvalue1'},
1507
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, 1, $firstacquidate, $firstacquidate );
1509
            serialseq_y    => $subscription->{'lastvalue2'},
1510
            serialseq_z    => $subscription->{'lastvalue3'},
1511
            subscriptionid => $subscriptionid,
1512
            biblionumber   => $biblionumber,
1513
            status         => 1,
1514
            planneddate    => $firstacquidate,
1515
            publisheddate  => $firstacquidate,
1516
        }
1517
    );
1508
1518
1509
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1519
    logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
1510
1520
Lines 1601-1621 sub NewIssue { Link Here
1601
1611
1602
    return unless ($subscriptionid);
1612
    return unless ($subscriptionid);
1603
1613
1614
    my $schema = Koha::Database->new()->schema();
1615
1616
    my $subscription = $schema->resultset('Subscription')->find( $subscriptionid );
1617
1618
    my $serial = $schema->resultset('Serial')->create(
1619
        {
1620
            serialseq      => $serialseq,
1621
            serialseq_x    => $subscription->lastvalue1(),
1622
            serialseq_y    => $subscription->lastvalue2(),
1623
            serialseq_z    => $subscription->lastvalue3(),
1624
            subscriptionid => $subscriptionid,
1625
            biblionumber   => $biblionumber,
1626
            status         => $status,
1627
            planneddate    => $planneddate,
1628
            publisheddate  => $publisheddate,
1629
            notes => $notes,
1630
        }
1631
    );
1632
1604
    my $dbh   = C4::Context->dbh;
1633
    my $dbh   = C4::Context->dbh;
1634
    my $serialid = $serial->serialid();
1635
1605
    my $query = qq|
1636
    my $query = qq|
1606
        INSERT INTO serial
1607
            (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate,notes)
1608
        VALUES (?,?,?,?,?,?,?)
1609
    |;
1610
    my $sth = $dbh->prepare($query);
1611
    $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $planneddate, $notes );
1612
    my $serialid = $dbh->{'mysql_insertid'};
1613
    $query = qq|
1614
        SELECT missinglist,recievedlist
1637
        SELECT missinglist,recievedlist
1615
        FROM   subscriptionhistory
1638
        FROM   subscriptionhistory
1616
        WHERE  subscriptionid=?
1639
        WHERE  subscriptionid=?
1617
    |;
1640
    |;
1618
    $sth = $dbh->prepare($query);
1641
    my $sth = $dbh->prepare($query);
1619
    $sth->execute($subscriptionid);
1642
    $sth->execute($subscriptionid);
1620
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1643
    my ( $missinglist, $recievedlist ) = $sth->fetchrow;
1621
1644
1622
- 

Return to bug 12375