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

(-)a/C4/Acquisition.pm (-50 / +192 lines)
Lines 1014-1027 sub GetBasketgroups { Link Here
1014
1014
1015
  @orders = &GetOrders($basketnumber, $orderby);
1015
  @orders = &GetOrders($basketnumber, $orderby);
1016
1016
1017
Looks up the pending (non-cancelled) orders with the given basket
1017
Looks up the non-cancelled (pending and received) orders with the given basketnumber.
1018
number. If C<$booksellerID> is non-empty, only orders from that seller
1018
Parameters:
1019
are returned.
1019
- C<$basketnumber> : mandatory parameter, the basket number
1020
1020
- C<$orderby> : optional parameter, used to sort the results (must be a valid expression
1021
return :
1021
using some fields of aqorders, aqbugdets, biblio, deletedbiblio,
1022
C<&basket> returns a two-element array. C<@orders> is an array of
1022
biblioitems, deletedbiblioitems, aqorders_transfers tables)
1023
references-to-hash, whose keys are the fields from the aqorders,
1023
If C<$orderby> is not provided, results are sorted according to publishercode and title
1024
biblio, and biblioitems tables in the Koha database.
1024
1025
Return :
1026
The returned C<@orders> is an array of references-to-hash, whose keys are:
1027
- the fields from the aqorders table
1028
- the fields from the aqbudgets table
1029
- 2 fields from aqorders_transfers table : ordernumber_from, return as transferred_from
1030
and timestamp, return as transferred_from_timestamp
1031
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1032
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1033
editionstatement, issn, isbn, ean, itemtype, volume, number
1034
If the record still exists, the biblionumber key contains the biblionumber
1035
If the record have been deleted, the biblionumber key is blank,
1036
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1025
1037
1026
=cut
1038
=cut
1027
1039
Lines 1030-1051 sub GetOrders { Link Here
1030
    return () unless $basketno;
1042
    return () unless $basketno;
1031
    my $dbh   = C4::Context->dbh;
1043
    my $dbh   = C4::Context->dbh;
1032
    my $query  ="
1044
    my $query  ="
1033
        SELECT biblio.*,biblioitems.*,
1045
        SELECT
1046
                COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1047
                COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1048
                COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1049
                COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1050
                COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1051
                COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1052
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1053
                COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1054
                COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1055
                COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1056
                COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1057
                COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1058
                COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1059
                COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1034
                aqorders.*,
1060
                aqorders.*,
1035
                aqbudgets.*,
1061
                aqbudgets.*,
1036
                biblio.title,
1037
                aqorders_transfers.ordernumber_from AS transferred_from,
1062
                aqorders_transfers.ordernumber_from AS transferred_from,
1038
                aqorders_transfers.timestamp AS transferred_from_timestamp
1063
                aqorders_transfers.timestamp AS transferred_from_timestamp
1039
        FROM    aqorders
1064
        FROM    aqorders
1040
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1065
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1041
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1066
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1042
            LEFT JOIN biblioitems      ON biblioitems.biblionumber =biblio.biblionumber
1067
            LEFT JOIN biblioitems      ON biblioitems.biblionumber =biblio.biblionumber
1068
            LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1069
            LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1043
            LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_to = aqorders.ordernumber
1070
            LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_to = aqorders.ordernumber
1044
        WHERE   basketno=?
1071
        WHERE   basketno=?
1045
            AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')
1072
            AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')
1046
    ";
1073
    ";
1047
1074
1048
    $orderby = "biblioitems.publishercode,biblio.title" unless $orderby;
1075
    $orderby = "COALESCE(biblioitems.publishercode,deletedbiblioitems.publishercode), COALESCE(biblio.title,deletedbiblio.title)" unless $orderby;
1049
    $query .= " ORDER BY $orderby";
1076
    $query .= " ORDER BY $orderby";
1050
    my $result_set =
1077
    my $result_set =
1051
      $dbh->selectall_arrayref( $query, { Slice => {} }, $basketno );
1078
      $dbh->selectall_arrayref( $query, { Slice => {} }, $basketno );
Lines 1072-1080 sub GetOrdersByBiblionumber { Link Here
1072
    return unless $biblionumber;
1099
    return unless $biblionumber;
1073
    my $dbh   = C4::Context->dbh;
1100
    my $dbh   = C4::Context->dbh;
1074
    my $query  ="
1101
    my $query  ="
1075
        SELECT biblio.*,biblioitems.*,
1102
        SELECT
1076
                aqorders.*,
1103
            biblio.*, biblioitems.*,
1077
                aqbudgets.*
1104
            aqorders.*,
1105
            aqbudgets.*
1078
        FROM    aqorders
1106
        FROM    aqorders
1079
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1107
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1080
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1108
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
Lines 1095-1102 sub GetOrdersByBiblionumber { Link Here
1095
1123
1096
Looks up an order by order number.
1124
Looks up an order by order number.
1097
1125
1098
Returns a reference-to-hash describing the order. The keys of
1126
Returns a reference-to-hash describing the order.
1099
C<$order> are fields from the biblio, biblioitems, aqorders tables of the Koha database.
1127
The keys of C<$order> are
1128
- all fields from the aqorders table
1129
- 2 fields from aqorders table returned with alternate names : rrp as unitpricesupplier, ecost as unitpricelib
1130
- 1 field from aqbasket table : basketname
1131
- 1 field from borrowers table : branchcode
1132
- 1 field from aqbudgets table : budget_name returned as budget
1133
- 2 fields from aqbooksellers : name returned as supplier, id returned as supplierid
1134
- estimateddeliverydate :  ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY)
1135
- quantity_to_receive : aqorders.quantity - COALESCE(aqorders.quantityreceived,0)
1136
- subtotal : (aqorders.quantity - COALESCE(aqorders.quantityreceived,0)) * aqorders.rrp
1137
- orderdate : DATE (aqbasket.closedate)
1138
- latesince : DATEDIFF(CURDATE( ),closedate)
1139
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1140
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1141
editionstatement, issn, isbn, ean, itemtype, volume, number
1142
If the record still exists, the biblionumber key contains the biblionumber
1143
If the record have been deleted, the biblionumber key is blank,
1144
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1145
1100
1146
1101
=cut
1147
=cut
1102
1148
Lines 1105-1123 sub GetOrder { Link Here
1105
    return unless $ordernumber;
1151
    return unless $ordernumber;
1106
1152
1107
    my $dbh      = C4::Context->dbh;
1153
    my $dbh      = C4::Context->dbh;
1154
# FIXME publishercode column should probably be returned only as publisher or publishercode, but we must first investigate templates to check the use of this value
1108
    my $query = qq{SELECT
1155
    my $query = qq{SELECT
1156
                COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1157
                COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1158
                COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1159
                COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1160
                COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1161
                COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1162
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1163
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publisher,
1164
                COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1165
                COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1166
                COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1167
                COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1168
                COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1169
                COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1170
                COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1109
                aqorders.*,
1171
                aqorders.*,
1110
                biblio.title,
1111
                biblio.author,
1112
                aqbasket.basketname,
1172
                aqbasket.basketname,
1113
                borrowers.branchcode,
1173
                borrowers.branchcode,
1114
                biblioitems.publicationyear,
1115
                biblio.copyrightdate,
1116
                biblioitems.editionstatement,
1117
                biblioitems.isbn,
1118
                biblioitems.ean,
1119
                biblio.seriestitle,
1120
                biblioitems.publishercode,
1121
                aqorders.rrp              AS unitpricesupplier,
1174
                aqorders.rrp              AS unitpricesupplier,
1122
                aqorders.ecost            AS unitpricelib,
1175
                aqorders.ecost            AS unitpricelib,
1123
                aqorders.claims_count     AS claims_count,
1176
                aqorders.claims_count     AS claims_count,
Lines 1125-1131 sub GetOrder { Link Here
1125
                aqbudgets.budget_name     AS budget,
1178
                aqbudgets.budget_name     AS budget,
1126
                aqbooksellers.name        AS supplier,
1179
                aqbooksellers.name        AS supplier,
1127
                aqbooksellers.id          AS supplierid,
1180
                aqbooksellers.id          AS supplierid,
1128
                biblioitems.publishercode AS publisher,
1129
                ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
1181
                ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
1130
                DATE(aqbasket.closedate)  AS orderdate,
1182
                DATE(aqbasket.closedate)  AS orderdate,
1131
                aqorders.quantity - COALESCE(aqorders.quantityreceived,0)                 AS quantity_to_receive,
1183
                aqorders.quantity - COALESCE(aqorders.quantityreceived,0)                 AS quantity_to_receive,
Lines 1133-1138 sub GetOrder { Link Here
1133
                DATEDIFF(CURDATE( ),closedate) AS latesince
1185
                DATEDIFF(CURDATE( ),closedate) AS latesince
1134
                FROM aqorders LEFT JOIN biblio ON biblio.biblionumber = aqorders.biblionumber
1186
                FROM aqorders LEFT JOIN biblio ON biblio.biblionumber = aqorders.biblionumber
1135
                LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1187
                LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1188
                LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1189
                LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1136
                LEFT JOIN aqbudgets ON aqorders.budget_id = aqbudgets.budget_id,
1190
                LEFT JOIN aqbudgets ON aqorders.budget_id = aqbudgets.budget_id,
1137
                aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby = borrowers.borrowernumber
1191
                aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby = borrowers.borrowernumber
1138
                LEFT JOIN aqbooksellers       ON aqbasket.booksellerid = aqbooksellers.id
1192
                LEFT JOIN aqbooksellers       ON aqbasket.booksellerid = aqbooksellers.id
Lines 1375-1383 sub ModItemOrder { Link Here
1375
1429
1376
=head3 GetCancelledOrders
1430
=head3 GetCancelledOrders
1377
1431
1378
  my @orders = GetCancelledOrders($basketno, $orderby);
1432
  my @orders = GetCancelledOrders($basketnumber, $orderby);
1379
1433
1380
Returns cancelled orders for a basket
1434
Looks up the cancelled orders with the given basketnumber.
1435
Parameters:
1436
- C<$basketnumber> : mandatory parameter, the basket number
1437
- C<$orderby> : optional parameter, used to sort the results (must be a valid expression
1438
using some fields of aqorders, aqbugdets, biblio, deletedbiblio,
1439
biblioitems, deletedbiblioitems, aqorders_transfers tables)
1440
If C<$orderby> is not provided, results are sorted according to publishercode and title
1441
1442
Return :
1443
The returned C<@orders> is an array of references-to-hash, whose keys are:
1444
- the fields from the aqorders table
1445
- the fields from the aqbudgets table
1446
- 2 fields from aqorders_transfers table : ordernumber_from, return as transferred_from
1447
and timestamp, return as transferred_from_timestamp
1448
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1449
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1450
editionstatement, issn, isbn, ean, itemtype, volume, number
1451
If the record still exists, the biblionumber key contains the biblionumber
1452
If the record have been deleted, the biblionumber key is blank,
1453
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1381
1454
1382
=cut
1455
=cut
1383
1456
Lines 1389-1396 sub GetCancelledOrders { Link Here
1389
    my $dbh   = C4::Context->dbh;
1462
    my $dbh   = C4::Context->dbh;
1390
    my $query = "
1463
    my $query = "
1391
        SELECT
1464
        SELECT
1392
            biblio.*,
1465
            COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1393
            biblioitems.*,
1466
            COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1467
            COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1468
            COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1469
            COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1470
            COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1471
            COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1472
            COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1473
            COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1474
            COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1475
            COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1476
            COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1477
            COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1478
            COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1394
            aqorders.*,
1479
            aqorders.*,
1395
            aqbudgets.*,
1480
            aqbudgets.*,
1396
            aqorders_transfers.ordernumber_to AS transferred_to,
1481
            aqorders_transfers.ordernumber_to AS transferred_to,
Lines 1399-1404 sub GetCancelledOrders { Link Here
1399
          LEFT JOIN aqbudgets   ON aqbudgets.budget_id = aqorders.budget_id
1484
          LEFT JOIN aqbudgets   ON aqbudgets.budget_id = aqorders.budget_id
1400
          LEFT JOIN biblio      ON biblio.biblionumber = aqorders.biblionumber
1485
          LEFT JOIN biblio      ON biblio.biblionumber = aqorders.biblionumber
1401
          LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1486
          LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1487
          LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1488
          LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1402
          LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_from = aqorders.ordernumber
1489
          LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_from = aqorders.ordernumber
1403
        WHERE basketno = ?
1490
        WHERE basketno = ?
1404
          AND (datecancellationprinted IS NOT NULL
1491
          AND (datecancellationprinted IS NOT NULL
Lines 1688-1694 C<$ordered> Finds orders to receive only (status 'ordered' or 'partial'). Link Here
1688
1775
1689
1776
1690
C<@results> is an array of references-to-hash with the keys are fields
1777
C<@results> is an array of references-to-hash with the keys are fields
1691
from aqorders, biblio, biblioitems and aqbasket tables.
1778
from aqorders, biblio, deletedbiblio, biblioitems, deletedbiblioitems,
1779
aqbasket and aqbasketgroups tables.
1780
If the record still exists, the biblionumber key contains the biblionumber
1781
If the record have been deleted, the biblionumber key is blank,
1782
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1692
1783
1693
=cut
1784
=cut
1694
1785
Lines 1711-1719 sub SearchOrders { Link Here
1711
        SELECT aqbasket.basketno,
1802
        SELECT aqbasket.basketno,
1712
               borrowers.surname,
1803
               borrowers.surname,
1713
               borrowers.firstname,
1804
               borrowers.firstname,
1714
               biblio.*,
1805
               COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1715
               biblioitems.isbn,
1806
               COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1716
               biblioitems.biblioitemnumber,
1807
               COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1808
               COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1809
               COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1810
               COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1811
               COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1812
               COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1813
               COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1814
               COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1815
               COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1816
               COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1817
               COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1818
               COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1717
               aqbasket.authorisedby,
1819
               aqbasket.authorisedby,
1718
               aqbasket.booksellerid,
1820
               aqbasket.booksellerid,
1719
               aqbasket.closedate,
1821
               aqbasket.closedate,
Lines 1728-1733 sub SearchOrders { Link Here
1728
            LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1830
            LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1729
            LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
1831
            LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
1730
            LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
1832
            LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
1833
            LEFT JOIN deletedbiblio ON aqorders.deletedbiblionumber=deletedbiblio.biblionumber
1834
            LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1731
        WHERE (datecancellationprinted is NULL)
1835
        WHERE (datecancellationprinted is NULL)
1732
    };
1836
    };
1733
1837
Lines 1756-1766 sub SearchOrders { Link Here
1756
        push @args, $ordernumber;
1860
        push @args, $ordernumber;
1757
    }
1861
    }
1758
    if( $search ) {
1862
    if( $search ) {
1759
        $query .= ' AND (biblio.title LIKE ? OR biblio.author LIKE ? OR biblioitems.isbn LIKE ?)';
1863
        $query .= ' AND (COALESCE (biblio.title, deletedbiblio.title) LIKE ? OR COALESCE (biblio.author, deletedbiblio.author) LIKE ? OR COALESCE (biblioitems.isbn, deletedbiblioitems.isbn) LIKE ?)';
1760
        push @args, ("%$search%","%$search%","%$search%");
1864
        push @args, ("%$search%","%$search%","%$search%");
1761
    }
1865
    }
1762
    if ( $ean ) {
1866
    if ( $ean ) {
1763
        $query .= ' AND biblioitems.ean = ?';
1867
        $query .= ' AND (COALESCE biblioitems.ean,deletedbiblioitems.ean) = ?';
1764
        push @args, $ean;
1868
        push @args, $ean;
1765
    }
1869
    }
1766
    if ( $booksellerid ) {
1870
    if ( $booksellerid ) {
Lines 1894-1900 Looks up all of the received items from the supplier with the given Link Here
1894
bookseller ID at the given date, for the given code (bookseller Invoice number). Ignores cancelled and completed orders.
1998
bookseller ID at the given date, for the given code (bookseller Invoice number). Ignores cancelled and completed orders.
1895
1999
1896
C<@results> is an array of references-to-hash. The keys of each element are fields from
2000
C<@results> is an array of references-to-hash. The keys of each element are fields from
1897
the aqorders, biblio, and biblioitems tables of the Koha database.
2001
the aqorders, aqbasket, aqinvoices, borrowers, biblio, and deletedbiblio tables of the Koha database.
1898
2002
1899
C<@results> is sorted alphabetically by book title.
2003
C<@results> is sorted alphabetically by book title.
1900
2004
Lines 1923-1933 sub GetParcel { Link Here
1923
                aqorders.rrp,
2027
                aqorders.rrp,
1924
                aqorders.ecost,
2028
                aqorders.ecost,
1925
                aqorders.gstrate,
2029
                aqorders.gstrate,
1926
                biblio.title
2030
                COALESCE (biblio.title, deletedbiblio.title) AS title
1927
        FROM aqorders
2031
        FROM aqorders
1928
        LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
2032
        LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
1929
        LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
2033
        LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1930
        LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
2034
        LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
2035
        LEFT JOIN deletedbiblio ON aqorders.deletedbiblionumber=deletedbiblio.biblionumber
1931
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2036
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
1932
        WHERE
2037
        WHERE
1933
            aqbasket.booksellerid = ?
2038
            aqbasket.booksellerid = ?
Lines 2043-2055 sub GetParcels { Link Here
2043
2148
2044
=head3 GetLateOrders
2149
=head3 GetLateOrders
2045
2150
2046
  @results = &GetLateOrders;
2151
  @results = &GetLateOrders ($delay, $supplierid, $branch, $estimateddeliverydatefrom, $estimateddeliverydateto) ;
2047
2152
2048
Searches for bookseller with late orders.
2153
Looks up the orders to receive (non cancelled and non completely received) from a given supplier.
2049
2154
2050
return:
2155
return:
2051
the table of supplier with late issues. This table is full of hashref.
2156
the table of supplier with late issues. This table is full of hashref.
2052
2157
2158
Looks up the cancelled orders with the given basketnumber.
2159
Optional parameters are used to limit the results :
2160
- C<$delay>                         : the number of days after the closing of the basket after which an order is late
2161
- C<$supplierid>                    : the id of the vendor this function has to get orders
2162
- C<$branch>                        : the branchcode of the branch this function has to get orders
2163
- C<$estimateddeliverydatefrom>     : the oldest expected date of delivery (based on aqbooksellers.deliverytime)
2164
- C<$estimateddeliverydateto>       : the most recent expected date of delivery (based on aqbooksellers.deliverytime). If only
2165
C<$estimateddeliverydatefrom> is provided and not C<$estimateddeliverydatefrom>, the current day is used as most recent
2166
expected date of delivery.
2167
2168
Return :
2169
The returned C<@results> is an array of references-to-hash, whose keys are:
2170
- 9 fields from the aqorders table : ordernumber, biblionumber, deletedbiblionumber, claims_count, claims_date,
2171
closedate as orderdate, rrp as unitpricesupplier, ecost in unitpricelib, budget_name as budget
2172
- 1 field from the aqbasket table : basketno
2173
- 1 field from the borrowers table : branchcode as branch
2174
- 2 fields from aqbooksellers : name as supplier, id as supplierid
2175
- 2 fields of biblio or deletedbiblio tables : title, author
2176
- 2 fields of biblioitems or deletedbiblioitems tables : publishercode as publisher, publicationyear
2177
- estimateddeliverydate : ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY)
2178
- quantity ; aqorders.quantity - COALESCE(aqorders.quantityreceived,0)
2179
- subtotal : (aqorders.quantity - COALESCE(aqorders.quantityreceived,0)) * aqorders.rrp AS subtotal
2180
- latesince : DATEDIFF(CAST(now() AS date),closedate) AS latesince
2181
If the record still exists, the biblionumber key contains the biblionumber
2182
If the record have been deleted, the biblionumber key is blank,
2183
and the deletedbiblionumber key contains the biblionumber of the deleted record.
2184
2185
2053
=cut
2186
=cut
2054
2187
2055
sub GetLateOrders {
2188
sub GetLateOrders {
Lines 2068-2073 sub GetLateOrders { Link Here
2068
    my $select = "
2201
    my $select = "
2069
    SELECT aqbasket.basketno,
2202
    SELECT aqbasket.basketno,
2070
        aqorders.ordernumber,
2203
        aqorders.ordernumber,
2204
        aqorders.biblionumber,
2205
        aqorders.deletedbiblionumber,
2071
        DATE(aqbasket.closedate)  AS orderdate,
2206
        DATE(aqbasket.closedate)  AS orderdate,
2072
        aqorders.rrp              AS unitpricesupplier,
2207
        aqorders.rrp              AS unitpricesupplier,
2073
        aqorders.ecost            AS unitpricelib,
2208
        aqorders.ecost            AS unitpricelib,
Lines 2077-2091 sub GetLateOrders { Link Here
2077
        borrowers.branchcode      AS branch,
2212
        borrowers.branchcode      AS branch,
2078
        aqbooksellers.name        AS supplier,
2213
        aqbooksellers.name        AS supplier,
2079
        aqbooksellers.id          AS supplierid,
2214
        aqbooksellers.id          AS supplierid,
2080
        biblio.author, biblio.title,
2215
        COALESCE (biblio.author,               deletedbiblio.author)               AS author,
2081
        biblioitems.publishercode AS publisher,
2216
        COALESCE (biblio.title,                deletedbiblio.title)                AS title,
2082
        biblioitems.publicationyear,
2217
        COALESCE (biblioitems.publishercode,   deletedbiblioitems.publishercode)   AS publisher,
2218
        COALESCE (biblioitems.publicationyear, deletedbiblioitems.publicationyear) AS publicationyear,
2083
        ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
2219
        ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
2084
    ";
2220
    ";
2085
    my $from = "
2221
    my $from = "
2086
    FROM
2222
    FROM
2087
        aqorders LEFT JOIN biblio     ON biblio.biblionumber         = aqorders.biblionumber
2223
        aqorders LEFT JOIN biblio     ON biblio.biblionumber         = aqorders.biblionumber
2088
        LEFT JOIN biblioitems         ON biblioitems.biblionumber    = biblio.biblionumber
2224
        LEFT JOIN biblioitems         ON biblioitems.biblionumber    = biblio.biblionumber
2225
        LEFT JOIN deletedbiblio       ON deletedbiblio.biblionumber  = aqorders.deletedbiblionumber
2226
        LEFT JOIN deletedbiblioitems  ON deletedbiblioitems.biblionumber    = deletedbiblio.biblionumber
2089
        LEFT JOIN aqbudgets           ON aqorders.budget_id          = aqbudgets.budget_id,
2227
        LEFT JOIN aqbudgets           ON aqorders.budget_id          = aqbudgets.budget_id,
2090
        aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby       = borrowers.borrowernumber
2228
        aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby       = borrowers.borrowernumber
2091
        LEFT JOIN aqbooksellers       ON aqbasket.booksellerid       = aqbooksellers.id
2229
        LEFT JOIN aqbooksellers       ON aqbasket.booksellerid       = aqbooksellers.id
Lines 2214-2219 returns: Link Here
2214
    $total_qty is the sum of all of the quantities in $order_loop
2352
    $total_qty is the sum of all of the quantities in $order_loop
2215
    $total_price is the cost of each in $order_loop times the quantity
2353
    $total_price is the cost of each in $order_loop times the quantity
2216
    $total_qtyreceived is the sum of all of the quantityreceived entries in $order_loop
2354
    $total_qtyreceived is the sum of all of the quantityreceived entries in $order_loop
2355
If the record still exists, the biblionumber key contains the biblionumber
2356
If the record have been deleted, the biblionumber key is blank,
2357
and the deletedbiblionumber key contains the biblionumber of the deleted record.
2217
2358
2218
=cut
2359
=cut
2219
2360
Lines 2248-2253 sub GetHistory { Link Here
2248
            COALESCE(biblio.author,    deletedbiblio.author)    AS author,
2389
            COALESCE(biblio.author,    deletedbiblio.author)    AS author,
2249
            COALESCE(biblioitems.isbn, deletedbiblioitems.isbn) AS isbn,
2390
            COALESCE(biblioitems.isbn, deletedbiblioitems.isbn) AS isbn,
2250
            COALESCE(biblioitems.ean,  deletedbiblioitems.ean)  AS ean,
2391
            COALESCE(biblioitems.ean,  deletedbiblioitems.ean)  AS ean,
2392
            aqorders.deletedbiblionumber,
2251
            aqorders.basketno,
2393
            aqorders.basketno,
2252
            aqbasket.basketname,
2394
            aqbasket.basketname,
2253
            aqbasket.basketgroupid,
2395
            aqbasket.basketgroupid,
Lines 2277-2284 sub GetHistory { Link Here
2277
        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
2419
        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
2278
        LEFT JOIN aqbudgets ON aqorders.budget_id=aqbudgets.budget_id
2420
        LEFT JOIN aqbudgets ON aqorders.budget_id=aqbudgets.budget_id
2279
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2421
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2280
        LEFT JOIN deletedbiblio ON deletedbiblio.biblionumber=aqorders.biblionumber
2422
        LEFT JOIN deletedbiblio ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
2281
        LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=aqorders.biblionumber
2423
        LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
2282
        ";
2424
        ";
2283
2425
2284
    if ( C4::Context->preference("IndependentBranches") ) {
2426
    if ( C4::Context->preference("IndependentBranches") ) {
Lines 2299-2320 sub GetHistory { Link Here
2299
    }
2441
    }
2300
2442
2301
    if ( $title ) {
2443
    if ( $title ) {
2302
        $query .= " AND biblio.title LIKE ? ";
2444
        $query .= " AND COALESCE (biblio.title,deletedbiblio.title) LIKE ? ";
2303
        $title =~ s/\s+/%/g;
2445
        $title =~ s/\s+/%/g;
2304
        push @query_params, "%$title%";
2446
        push @query_params, "%$title%";
2305
    }
2447
    }
2306
2448
2307
    if ( $author ) {
2449
    if ( $author ) {
2308
        $query .= " AND biblio.author LIKE ? ";
2450
        $query .= " AND  COALESCE (biblio.author,deletedbiblio.author) LIKE ? ";
2309
        push @query_params, "%$author%";
2451
        push @query_params, "%$author%";
2310
    }
2452
    }
2311
2453
2312
    if ( $isbn ) {
2454
    if ( $isbn ) {
2313
        $query .= " AND biblioitems.isbn LIKE ? ";
2455
        $query .= " AND COALESCE (biblioitems.isbn,deletedbiblioitems.isbn) LIKE ? ";
2314
        push @query_params, "%$isbn%";
2456
        push @query_params, "%$isbn%";
2315
    }
2457
    }
2316
    if ( $ean ) {
2458
    if ( $ean ) {
2317
        $query .= " AND biblioitems.ean = ? ";
2459
        $query .= " AND OALESCE (biblioitems.ean,deletedbiblioitems.ean) = ? ";
2318
        push @query_params, "$ean";
2460
        push @query_params, "$ean";
2319
    }
2461
    }
2320
    if ( $name ) {
2462
    if ( $name ) {
(-)a/C4/Biblio.pm (-5 / +24 lines)
Lines 409-418 sub ModBiblioframework { Link Here
409
409
410
  my $error = &DelBiblio($biblionumber);
410
  my $error = &DelBiblio($biblionumber);
411
411
412
Exported function (core API) for deleting a biblio in koha.
412
Exported function (core API) for deleting a biblio in Koha.
413
Deletes biblio record from Zebra and Koha tables (biblio,biblioitems,items)
413
Action :
414
Also backs it up to deleted* tables
414
It the record has an item, do not delete the record, and return an error message.
415
Checks to make sure there are not issues on any of the items
415
If the record has no item,
416
- deletes biblio record from Zebra and Koha tables (biblio,biblioitems),
417
- backs Koha tables it up to deleted* tables,
418
- delete attached suscriptions
419
- if the record is used in an order, move the biblionumber from aqorders.biblionumber to aqorders.deletedbiblionumber
420
- record the action in logs
416
return:
421
return:
417
C<$error> : undef unless an error occurs
422
C<$error> : undef unless an error occurs
418
423
Lines 447-452 sub DelBiblio { Link Here
447
    foreach my $res ( @$reserves ) {
452
    foreach my $res ( @$reserves ) {
448
        C4::Reserves::CancelReserve({ reserve_id => $res->{'reserve_id'} });
453
        C4::Reserves::CancelReserve({ reserve_id => $res->{'reserve_id'} });
449
    }
454
    }
455
    # Get all orders using this record. Must be done before deleting the record to be able to find orders to update after deletion
456
    require C4::Acquisition;
457
    my @orders = C4::Acquisition::GetOrdersByBiblionumber ($biblionumber);
450
458
451
    # Delete in Zebra. Be careful NOT to move this line after _koha_delete_biblio
459
    # Delete in Zebra. Be careful NOT to move this line after _koha_delete_biblio
452
    # for at least 2 reasons :
460
    # for at least 2 reasons :
Lines 454-462 sub DelBiblio { Link Here
454
    #   and we would have no way to remove it (except manually in zebra, but I bet it would be very hard to handle the problem)
462
    #   and we would have no way to remove it (except manually in zebra, but I bet it would be very hard to handle the problem)
455
    ModZebra( $biblionumber, "recordDelete", "biblioserver" );
463
    ModZebra( $biblionumber, "recordDelete", "biblioserver" );
456
464
457
    # delete biblioitems and items from Koha tables and save in deletedbiblioitems,deleteditems
465
    # delete the record from biblioitems table and save it in deletedbiblioitems,deleteditems
458
    $sth = $dbh->prepare("SELECT biblioitemnumber FROM biblioitems WHERE biblionumber=?");
466
    $sth = $dbh->prepare("SELECT biblioitemnumber FROM biblioitems WHERE biblionumber=?");
459
    $sth->execute($biblionumber);
467
    $sth->execute($biblionumber);
468
    #FIXME : the loop is probably unneeded
460
    while ( my $biblioitemnumber = $sth->fetchrow ) {
469
    while ( my $biblioitemnumber = $sth->fetchrow ) {
461
470
462
        # delete this biblioitem
471
        # delete this biblioitem
Lines 469-475 sub DelBiblio { Link Here
469
    # delete cascade will prevent deletedbiblioitems rows
478
    # delete cascade will prevent deletedbiblioitems rows
470
    # from being generated by _koha_delete_biblioitems
479
    # from being generated by _koha_delete_biblioitems
471
    $error = _koha_delete_biblio( $dbh, $biblionumber );
480
    $error = _koha_delete_biblio( $dbh, $biblionumber );
481
    return $error if $error;
472
482
483
    # If the record is used in an order, move the biblionumber from aqorders.biblionumber to aqorders.deletedbiblionumber
484
    if (scalar @orders > 0) {
485
        for my $myorder (@orders) {
486
            $sth = $dbh->prepare("UPDATE aqorders
487
                                  SET deletedbiblionumber = ?
488
                                  WHERE ordernumber=?");
489
            $sth->execute($biblionumber,$myorder->{ordernumber});
490
        }
491
    }
473
    logaction( "CATALOGUING", "DELETE", $biblionumber, "biblio" ) if C4::Context->preference("CataloguingLog");
492
    logaction( "CATALOGUING", "DELETE", $biblionumber, "biblio" ) if C4::Context->preference("CataloguingLog");
474
493
475
    return;
494
    return;
(-)a/acqui/basket.pl (-1 / +1 lines)
Lines 477-483 sub get_order_infos { Link Here
477
        $line{'title'} .= " / $seriestitle" if $seriestitle;
477
        $line{'title'} .= " / $seriestitle" if $seriestitle;
478
        $line{'title'} .= " / $volume"      if $volume;
478
        $line{'title'} .= " / $volume"      if $volume;
479
    } else {
479
    } else {
480
        $line{'title'} = "Deleted bibliographic notice, can't find title.";
480
        $line{'title'} = "Can't find title.";
481
    }
481
    }
482
482
483
    my $biblionumber = $order->{'biblionumber'};
483
    my $biblionumber = $order->{'biblionumber'};
(-)a/acqui/neworderempty.pl (+1 lines)
Lines 380-385 $template->param( Link Here
380
    surnamesuggestedby   => $suggestion->{surnamesuggestedby},
380
    surnamesuggestedby   => $suggestion->{surnamesuggestedby},
381
    firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
381
    firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
382
    biblionumber         => $biblionumber,
382
    biblionumber         => $biblionumber,
383
    deletedbiblionumber  => $data->{'deletedbiblionumber'},
383
    uncertainprice       => $data->{'uncertainprice'},
384
    uncertainprice       => $data->{'uncertainprice'},
384
    authorisedbyname     => $borrower->{'firstname'} . " " . $borrower->{'surname'},
385
    authorisedbyname     => $borrower->{'firstname'} . " " . $borrower->{'surname'},
385
    discount_2dp         => sprintf( "%.2f",  $bookseller->{'discount'} ) ,   # for display
386
    discount_2dp         => sprintf( "%.2f",  $bookseller->{'discount'} ) ,   # for display
(-)a/installer/data/mysql/kohastructure.sql (+2 lines)
Lines 2967-2972 DROP TABLE IF EXISTS `aqorders`; Link Here
2967
CREATE TABLE `aqorders` ( -- information related to the basket line items
2967
CREATE TABLE `aqorders` ( -- information related to the basket line items
2968
  `ordernumber` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha to each line
2968
  `ordernumber` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha to each line
2969
  `biblionumber` int(11) default NULL, -- links the order to the biblio being ordered (biblio.biblionumber)
2969
  `biblionumber` int(11) default NULL, -- links the order to the biblio being ordered (biblio.biblionumber)
2970
  `deletedbiblionumber` int(11) default NULL, -- links the order to the deletedbiblio being ordered (deletedbiblio.biblionumber)
2970
  `entrydate` date default NULL, -- the date the bib was added to the basket
2971
  `entrydate` date default NULL, -- the date the bib was added to the basket
2971
  `quantity` smallint(6) default NULL, -- the quantity ordered
2972
  `quantity` smallint(6) default NULL, -- the quantity ordered
2972
  `currency` varchar(3) default NULL, -- the currency used for the purchase
2973
  `currency` varchar(3) default NULL, -- the currency used for the purchase
Lines 3009-3014 CREATE TABLE `aqorders` ( -- information related to the basket line items Link Here
3009
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3010
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3010
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3011
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3011
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3012
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3013
  CONSTRAINT aqorders_ibfk_4 FOREIGN KEY (deletedbiblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE SET NULL ON UPDATE CASCADE,
3012
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
3014
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
3013
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3015
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3014
3016
(-)a/installer/data/mysql/updatedatabase.pl (+8 lines)
Lines 8158-8163 if ( CheckVersion($DBversion) ) { Link Here
8158
    SetVersion ($DBversion);
8158
    SetVersion ($DBversion);
8159
}
8159
}
8160
8160
8161
$DBversion = "3.15.00.XXX";
8162
if ( CheckVersion($DBversion) ) {
8163
    $dbh->do("ALTER TABLE aqorders ADD COLUMN deletedbiblionumber INT(11) DEFAULT NULL AFTER biblionumber;");
8164
    $dbh->do("ALTER TABLE aqorders ADD CONSTRAINT `aqorders_ibfk_4` FOREIGN KEY (`deletedbiblionumber`) REFERENCES `deletedbiblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE;");
8165
    print "Upgrade to $DBversion done (Bug 10758 - Show bibliographic information of deleted records in acquisitions)\n";
8166
     SetVersion($DBversion);
8167
}
8168
8161
=head1 FUNCTIONS
8169
=head1 FUNCTIONS
8162
8170
8163
=head2 TableExists($table)
8171
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt (-7 / +19 lines)
Lines 476-485 Link Here
476
                            [% books_loo.ordernumber %]
476
                            [% books_loo.ordernumber %]
477
                        </td>
477
                        </td>
478
                        <td>
478
                        <td>
479
                            <p>
479
                            <p> [% IF ( books_loo.order_received ) %] (rcvd)[% END %]
480
                                [% IF ( books_loo.order_received ) %] (rcvd)[% END %]
480
                                [% IF (books_loo.biblionumber) %]
481
                                <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% books_loo.biblionumber %]">[% books_loo.title |html %]</a> by [% books_loo.author %]
481
                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% books_loo.biblionumber %]">[% books_loo.title |html %]</a> by [% books_loo.author %]
482
                                <br />
482
                                    <br />
483
                                [% ELSIF (books_loo.deletedbiblionumber) %]
484
                                    <em>(Deleted record)</em>
485
                                    <br />
486
                                    [% books_loo.title |html %] by [% books_loo.author %]
487
                                    <br />
488
                                [% ELSE %]
489
                                    <em>Can't find title</em><br />
490
                                [% END %]
483
                                [% IF ( books_loo.isbn ) %] - [% books_loo.isbn %][% END %]
491
                                [% IF ( books_loo.isbn ) %] - [% books_loo.isbn %][% END %]
484
                                [% IF ( books_loo.issn ) %] - [% books_loo.issn %][% END %]
492
                                [% IF ( books_loo.issn ) %] - [% books_loo.issn %][% END %]
485
                                [% IF ( books_loo.publishercode ) %], [% books_loo.publishercode %][% END %]
493
                                [% IF ( books_loo.publishercode ) %], [% books_loo.publishercode %][% END %]
Lines 598-607 Link Here
598
                    <td>
606
                    <td>
599
                      <p>
607
                      <p>
600
                        [% IF ( order.order_received ) %] (rcvd)[% END %]
608
                        [% IF ( order.order_received ) %] (rcvd)[% END %]
601
                        [% IF (order.title) %]
609
                        [% IF (order.deletedbiblionumber) %]
602
                          [% order.title |html %] by [% order.author %]<br />
610
                            <em>(Deleted record)</em>
611
                            <br />
612
                        [% END %]
613
                        [% IF (order.biblionumber)||(order.deletedbiblionumber) %]
614
                            [% order.title |html %] by [% order.author %]<br />
603
                        [% ELSE %]
615
                        [% ELSE %]
604
                          <em>Deleted bibliographic record, can't find title</em><br />
616
                          <em>Can't find title</em><br />
605
                        [% END %]
617
                        [% END %]
606
                        [% IF ( order.order_internalnote ) %] [% order.order_internalnote %][% END %]
618
                        [% IF ( order.order_internalnote ) %] [% order.order_internalnote %][% END %]
607
                        [% IF ( order.isbn ) %] - [% order.isbn %][% END %]
619
                        [% IF ( order.isbn ) %] - [% order.isbn %][% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt (-2 / +10 lines)
Lines 167-174 Link Here
167
                        [% END %]
167
                        [% END %]
168
                    </td>
168
                    </td>
169
                    <td>
169
                    <td>
170
                        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title |html %]</a>
170
                        [% IF (order.biblionumber) %]
171
                        <br />[% order.author %] <br /> [% order.isbn %]
171
                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title |html %]</a>
172
                            <br />[% order.author %] <br /> [% order.isbn %]
173
                        [% ELSIF (order.deletedbiblionumber) %]
174
                            <em>(Deleted record)</em>
175
                            <br />
176
                            [% order.title |html %]<br />[% order.author %] <br /> [% order.isbn %]
177
                        [% ELSE %]
178
                            <em>Can't find title</em>
179
                        [% END %]
172
                    </td>
180
                    </td>
173
                    <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]">[% order.name %]</a></td>
181
                    <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]">[% order.name %]</a></td>
174
                    <td>[% order.creationdate | $KohaDates %]</td>
182
                    <td>[% order.creationdate | $KohaDates %]</td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt (+4 lines)
Lines 142-147 $(document).ready(function() { Link Here
142
                ([% lateorder.supplierid %])
142
                ([% lateorder.supplierid %])
143
            </td>
143
            </td>
144
            <td>
144
            <td>
145
                [% IF (lateorder.biblionumber) || (lateorder.deletedbiblionumber) %]
145
                <b>[% lateorder.title |html %]</b>
146
                <b>[% lateorder.title |html %]</b>
146
                   [% IF ( lateorder.author ) %]<br/><i>Author:</i> [% lateorder.author %][% END %]
147
                   [% IF ( lateorder.author ) %]<br/><i>Author:</i> [% lateorder.author %][% END %]
147
                   [% IF ( lateorder.publisher ) %]
148
                   [% IF ( lateorder.publisher ) %]
Lines 150-155 $(document).ready(function() { Link Here
150
                            <i> in </i>[% lateorder.publicationyear %]
151
                            <i> in </i>[% lateorder.publicationyear %]
151
                        [% END %]
152
                        [% END %]
152
                   [% END %]
153
                   [% END %]
154
                [% ELSE %]
155
                    <em>Can't find title</em>
156
                [% END %]
153
            </td>
157
            </td>
154
            <td>
158
            <td>
155
                   [% lateorder.unitpricesupplier %]x[% lateorder.quantity %] = 
159
                   [% lateorder.unitpricesupplier %]x[% lateorder.quantity %] = 
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (-11 / +13 lines)
Lines 215-220 $(document).ready(function() Link Here
215
            Catalog details
215
            Catalog details
216
            [% IF ( biblionumber ) %]
216
            [% IF ( biblionumber ) %]
217
                <span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]"> Edit record</a></span>
217
                <span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]"> Edit record</a></span>
218
            [% ELSIF (deletedbiblionumber) %]
219
                <span> (Deleted record, not editable)</span>
218
            [% END %]
220
            [% END %]
219
        </legend>
221
        </legend>
220
        [% UNLESS ( existing ) %]
222
        [% UNLESS ( existing ) %]
Lines 235-242 $(document).ready(function() Link Here
235
        [% END %]
237
        [% END %]
236
238
237
        <ol><li>
239
        <ol><li>
238
            [% IF ( biblionumber ) %]
240
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
239
            <span class="label">Title</span>
241
                <span class="label">Title: </span>
240
                <input type="hidden" name="title" value="[% title |html %]" /> <span class="title">[% title |html %]</span>
242
                <input type="hidden" name="title" value="[% title |html %]" /> <span class="title">[% title |html %]</span>
241
            [% ELSE %]
243
            [% ELSE %]
242
            <label for="entertitle" class="required">Title: </label>
244
            <label for="entertitle" class="required">Title: </label>
Lines 244-250 $(document).ready(function() Link Here
244
            [% END %]
246
            [% END %]
245
        </li>
247
        </li>
246
        <li>
248
        <li>
247
            [% IF ( biblionumber ) %]
249
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
248
            <span class="label">Author: </span>
250
            <span class="label">Author: </span>
249
                <input type="hidden" name="author" id="author" value="[% author %]" />[% author %]
251
                <input type="hidden" name="author" id="author" value="[% author %]" />[% author %]
250
            [% ELSE %]
252
            [% ELSE %]
Lines 253-259 $(document).ready(function() Link Here
253
            [% END %]
255
            [% END %]
254
        </li>
256
        </li>
255
        <li>
257
        <li>
256
            [% IF ( biblionumber ) %]
258
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
257
            <span class="label">Publisher: </span>
259
            <span class="label">Publisher: </span>
258
                <input type="hidden" name="publishercode" id="publishercode" value="[% publishercode %]" />[% publishercode %]
260
                <input type="hidden" name="publishercode" id="publishercode" value="[% publishercode %]" />[% publishercode %]
259
            [% ELSE %]
261
            [% ELSE %]
Lines 262-268 $(document).ready(function() Link Here
262
            [% END %]
264
            [% END %]
263
        </li>
265
        </li>
264
        <li>
266
        <li>
265
            [% IF ( biblionumber ) %]
267
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
266
            <span class="label">Edition: </span>
268
            <span class="label">Edition: </span>
267
                <input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />[% editionstatement %]
269
                <input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />[% editionstatement %]
268
270
Lines 272-278 $(document).ready(function() Link Here
272
            [% END %]
274
            [% END %]
273
        </li>
275
        </li>
274
        <li>
276
        <li>
275
            [% IF ( biblionumber ) %]
277
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
276
            <span class="label">Publication year: </span>
278
            <span class="label">Publication year: </span>
277
                <input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear %]" />[% publicationyear %]
279
                <input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear %]" />[% publicationyear %]
278
            [% ELSE %]
280
            [% ELSE %]
Lines 281-287 $(document).ready(function() Link Here
281
            [% END %]
283
            [% END %]
282
        </li>
284
        </li>
283
        <li>
285
        <li>
284
            [% IF ( biblionumber ) %]
286
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
285
            <span class="label">ISBN: </span>
287
            <span class="label">ISBN: </span>
286
                <input type="hidden" name="isbn" id="ISBN" value="[% isbn %]" />[% isbn %]
288
                <input type="hidden" name="isbn" id="ISBN" value="[% isbn %]" />[% isbn %]
287
            [% ELSE %]
289
            [% ELSE %]
Lines 291-297 $(document).ready(function() Link Here
291
        </li>
293
        </li>
292
        [% IF (UNIMARC) %]
294
        [% IF (UNIMARC) %]
293
        <li>
295
        <li>
294
            [% IF ( biblionumber ) %]
296
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
295
            <span class="label">EAN: </span>
297
            <span class="label">EAN: </span>
296
                <input type="hidden" name="ean" id="EAN" value="[% ean %]" />[% ean %]
298
                <input type="hidden" name="ean" id="EAN" value="[% ean %]" />[% ean %]
297
            [% ELSE %]
299
            [% ELSE %]
Lines 301-307 $(document).ready(function() Link Here
301
        </li>
303
        </li>
302
        [% END %]
304
        [% END %]
303
        <li>
305
        <li>
304
            [% IF ( biblionumber ) %]
306
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
305
            <span class="label">Series: </span>
307
            <span class="label">Series: </span>
306
                <input type="hidden" name="series" id="series" value="[% seriestitle %]" />[% seriestitle %]
308
                <input type="hidden" name="series" id="series" value="[% seriestitle %]" />[% seriestitle %]
307
            [% ELSE %]
309
            [% ELSE %]
Lines 309-318 $(document).ready(function() Link Here
309
                <input type="text" size="50" name="series" id="series" value="[% seriestitle %]" />
311
                <input type="text" size="50" name="series" id="series" value="[% seriestitle %]" />
310
            [% END %]
312
            [% END %]
311
        </li>
313
        </li>
312
            [% UNLESS ( biblionumber ) %]
314
            [% UNLESS (( biblionumber )||( deletedbiblionumber )) %]
313
            [% IF ( itemtypeloop ) %]
315
            [% IF ( itemtypeloop ) %]
314
            <li>
316
            <li>
315
                <span class="label">Item type:</span>
317
                <span class="label">Item type: </span>
316
                <select name="itemtype" style="width:12em;">
318
                <select name="itemtype" style="width:12em;">
317
                [% FOREACH itemtype IN itemtypeloop %]
319
                [% FOREACH itemtype IN itemtypeloop %]
318
                    [% IF ( itemtype.selected ) %]
320
                    [% IF ( itemtype.selected ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt (-5 / +14 lines)
Lines 265-271 Link Here
265
                </td>
265
                </td>
266
                <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
266
                <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
267
                <td class="summaryfilterclass">
267
                <td class="summaryfilterclass">
268
                  <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
268
                [% IF (loop_order.biblionumber) %]
269
                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
270
                [% ELSIF (loop_order.deletedbiblionumber) %]
271
                    <em>(Deleted record, order cannot be received)</em>
272
                    <br />
273
                    [% loop_order.title |html %]
274
                [% ELSE %]
275
                    <em>Can't find title</em>
276
                [% END %]
269
                [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
277
                [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
270
                [% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
278
                [% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
271
                [% IF ( loop_order.publishercode ) %]<br />Publisher:[% loop_order.publishercode %][% END %]
279
                [% IF ( loop_order.publishercode ) %]<br />Publisher:[% loop_order.publishercode %][% END %]
Lines 292-299 Link Here
292
                <td>[% loop_order.ordertotal %]</td>
300
                <td>[% loop_order.ordertotal %]</td>
293
                <td>[% loop_order.budget_name %]</td>
301
                <td>[% loop_order.budget_name %]</td>
294
				<td>
302
				<td>
295
                              <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;invoiceid=[% invoiceid %]">Receive</a>
303
	                [% UNLESS (loop_order.deletedbiblionumber) %]
296
                    <br />
304
                        <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;invoiceid=[% invoiceid %]">Receive</a>
305
                        <br />
306
                    [% END %]
297
                    <a href="#" onclick="transfer_order_popup([% loop_order.ordernumber %]); return false;">Transfer</a>
307
                    <a href="#" onclick="transfer_order_popup([% loop_order.ordernumber %]); return false;">Transfer</a>
298
				</td>
308
				</td>
299
				<td>
309
				<td>
Lines 304-310 Link Here
304
                        [% END %]
314
                        [% END %]
305
                        [% IF ( loop_order.can_del_bib ) %]
315
                        [% IF ( loop_order.can_del_bib ) %]
306
                        <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
316
                        <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
307
                        [% ELSE %]
317
                        [% ELSIF (loop_order.biblionumber) %]
308
                        <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
318
                        <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
309
                        [% END %]
319
                        [% END %]
310
                        [% IF ( loop_order.left_item ) %]
320
                        [% IF ( loop_order.left_item ) %]
311
- 

Return to bug 10758