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

Return to bug 12375