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

(-)a/installer/data/mysql/kohastructure.sql (+1 lines)
Lines 3080-3085 CREATE TABLE `aqorders` ( -- information related to the basket line items Link Here
3080
  KEY `basketno` (`basketno`),
3080
  KEY `basketno` (`basketno`),
3081
  KEY `biblionumber` (`biblionumber`),
3081
  KEY `biblionumber` (`biblionumber`),
3082
  KEY `budget_id` (`budget_id`),
3082
  KEY `budget_id` (`budget_id`),
3083
  CONSTRAINT `aqorders_budget_id_fk` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3083
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3084
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3084
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3085
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3085
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3086
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
(-)a/installer/data/mysql/updatedatabase.pl (+43 lines)
Lines 9525-9530 if ( CheckVersion($DBversion) ) { Link Here
9525
    SetVersion($DBversion);
9525
    SetVersion($DBversion);
9526
}
9526
}
9527
9527
9528
9529
9530
$DBversion = "3.17.00.XXX";
9531
if ( CheckVersion($DBversion) ) {
9532
    my $number_of_orders_not_linked = $dbh->selectcol_arrayref(q|
9533
        SELECT COUNT(*)
9534
        FROM aqorders o
9535
        WHERE NOT EXISTS (
9536
            SELECT NULL
9537
            FROM aqbudgets b
9538
            WHERE b.budget_id = o.budget_id
9539
        );
9540
    |);
9541
9542
    if ( $number_of_orders_not_linked->[0] > 0 ) {
9543
        $dbh->do(q|
9544
            INSERT INTO aqbudgetperiods(budget_period_startdate, budget_period_enddate, budget_period_active, budget_period_description, budget_period_total) VALUES ( CAST(NOW() AS date), CAST(NOW() AS date), 0, "WARNING: This budget has been automatically created by the updatedatabase script, please see bug 12601 for more information", 0)
9545
        |);
9546
        my $budget_period_id = $dbh->last_insert_id( undef, undef, 'aqbudgetperiods', undef );
9547
        $dbh->do(qq|
9548
            INSERT INTO aqbudgets(budget_code, budget_name, budget_amount, budget_period_id) VALUES ( "BACKUP_TMP", "WARNING: fund created by the updatedatabase script, please see bug 12601", 0, $budget_period_id );
9549
        |);
9550
        my $budget_id = $dbh->last_insert_id( undef, undef, 'aqbudgets', undef );
9551
        $dbh->do(qq|
9552
            UPDATE aqorders o
9553
            SET budget_id = $budget_id
9554
            WHERE NOT EXISTS (
9555
                SELECT NULL
9556
                FROM aqbudgets b
9557
                WHERE b.budget_id = o.budget_id
9558
            )
9559
        |);
9560
    }
9561
9562
    $dbh->do(q|
9563
        ALTER TABLE aqorders
9564
        ADD CONSTRAINT aqorders_budget_id_fk FOREIGN KEY (budget_id) REFERENCES aqbudgets(budget_id) ON DELETE CASCADE ON UPDATE CASCADE
9565
    |);
9566
9567
    print "Upgrade to $DBversion done (Bug 12601 - Add new foreign key aqorders.budget_id" . ( ( $number_of_orders_not_linked->[0] > 0 )  ? ' WARNING: temporary budget and fund have been created (search for "BACKUP_TMP"). At least one of your order was not linked to a budget' : '' ) . ")\n";
9568
    SetVersion($DBversion);
9569
}
9570
9528
=head1 FUNCTIONS
9571
=head1 FUNCTIONS
9529
9572
9530
=head2 TableExists($table)
9573
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt (-1 / +1 lines)
Lines 611-616 var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget") Link Here
611
611
612
[% IF op == 'delete_confirm' %]
612
[% IF op == 'delete_confirm' %]
613
<div class="dialog alert"> <h3>Delete fund [% budget_name %]?</h3>
613
<div class="dialog alert"> <h3>Delete fund [% budget_name %]?</h3>
614
If you delete this fund, all orders linked to this fund will be deleted!
614
<table>
615
<table>
615
    <tr>
616
    <tr>
616
    <th scope="row">Fund amount:</th>
617
    <th scope="row">Fund amount:</th>
617
- 

Return to bug 12601