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

(-)a/C4/Acquisition.pm (-50 / +192 lines)
Lines 1033-1046 sub GetBasketgroups { Link Here
1033
1033
1034
  @orders = &GetOrders($basketnumber, $orderby);
1034
  @orders = &GetOrders($basketnumber, $orderby);
1035
1035
1036
Looks up the pending (non-cancelled) orders with the given basket
1036
Looks up the non-cancelled (pending and received) orders with the given basketnumber.
1037
number. If C<$booksellerID> is non-empty, only orders from that seller
1037
Parameters:
1038
are returned.
1038
- C<$basketnumber> : mandatory parameter, the basket number
1039
1039
- C<$orderby> : optional parameter, used to sort the results (must be a valid expression
1040
return :
1040
using some fields of aqorders, aqbugdets, biblio, deletedbiblio,
1041
C<&basket> returns a two-element array. C<@orders> is an array of
1041
biblioitems, deletedbiblioitems, aqorders_transfers tables)
1042
references-to-hash, whose keys are the fields from the aqorders,
1042
If C<$orderby> is not provided, results are sorted according to publishercode and title
1043
biblio, and biblioitems tables in the Koha database.
1043
1044
Return :
1045
The returned C<@orders> is an array of references-to-hash, whose keys are:
1046
- the fields from the aqorders table
1047
- the fields from the aqbudgets table
1048
- 2 fields from aqorders_transfers table : ordernumber_from, return as transferred_from
1049
and timestamp, return as transferred_from_timestamp
1050
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1051
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1052
editionstatement, issn, isbn, ean, itemtype, volume, number
1053
If the record still exists, the biblionumber key contains the biblionumber
1054
If the record have been deleted, the biblionumber key is blank,
1055
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1044
1056
1045
=cut
1057
=cut
1046
1058
Lines 1049-1070 sub GetOrders { Link Here
1049
    return () unless $basketno;
1061
    return () unless $basketno;
1050
    my $dbh   = C4::Context->dbh;
1062
    my $dbh   = C4::Context->dbh;
1051
    my $query  ="
1063
    my $query  ="
1052
        SELECT biblio.*,biblioitems.*,
1064
        SELECT
1065
                COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1066
                COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1067
                COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1068
                COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1069
                COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1070
                COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1071
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1072
                COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1073
                COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1074
                COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1075
                COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1076
                COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1077
                COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1078
                COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1053
                aqorders.*,
1079
                aqorders.*,
1054
                aqbudgets.*,
1080
                aqbudgets.*,
1055
                biblio.title,
1056
                aqorders_transfers.ordernumber_from AS transferred_from,
1081
                aqorders_transfers.ordernumber_from AS transferred_from,
1057
                aqorders_transfers.timestamp AS transferred_from_timestamp
1082
                aqorders_transfers.timestamp AS transferred_from_timestamp
1058
        FROM    aqorders
1083
        FROM    aqorders
1059
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1084
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1060
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1085
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1061
            LEFT JOIN biblioitems      ON biblioitems.biblionumber =biblio.biblionumber
1086
            LEFT JOIN biblioitems      ON biblioitems.biblionumber =biblio.biblionumber
1087
            LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1088
            LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1062
            LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_to = aqorders.ordernumber
1089
            LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_to = aqorders.ordernumber
1063
        WHERE   basketno=?
1090
        WHERE   basketno=?
1064
            AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')
1091
            AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')
1065
    ";
1092
    ";
1066
1093
1067
    $orderby = "biblioitems.publishercode,biblio.title" unless $orderby;
1094
    $orderby = "COALESCE(biblioitems.publishercode,deletedbiblioitems.publishercode), COALESCE(biblio.title,deletedbiblio.title)" unless $orderby;
1068
    $query .= " ORDER BY $orderby";
1095
    $query .= " ORDER BY $orderby";
1069
    my $result_set =
1096
    my $result_set =
1070
      $dbh->selectall_arrayref( $query, { Slice => {} }, $basketno );
1097
      $dbh->selectall_arrayref( $query, { Slice => {} }, $basketno );
Lines 1091-1099 sub GetOrdersByBiblionumber { Link Here
1091
    return unless $biblionumber;
1118
    return unless $biblionumber;
1092
    my $dbh   = C4::Context->dbh;
1119
    my $dbh   = C4::Context->dbh;
1093
    my $query  ="
1120
    my $query  ="
1094
        SELECT biblio.*,biblioitems.*,
1121
        SELECT
1095
                aqorders.*,
1122
            biblio.*, biblioitems.*,
1096
                aqbudgets.*
1123
            aqorders.*,
1124
            aqbudgets.*
1097
        FROM    aqorders
1125
        FROM    aqorders
1098
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1126
            LEFT JOIN aqbudgets        ON aqbudgets.budget_id = aqorders.budget_id
1099
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
1127
            LEFT JOIN biblio           ON biblio.biblionumber = aqorders.biblionumber
Lines 1114-1121 sub GetOrdersByBiblionumber { Link Here
1114
1142
1115
Looks up an order by order number.
1143
Looks up an order by order number.
1116
1144
1117
Returns a reference-to-hash describing the order. The keys of
1145
Returns a reference-to-hash describing the order.
1118
C<$order> are fields from the biblio, biblioitems, aqorders tables of the Koha database.
1146
The keys of C<$order> are
1147
- all fields from the aqorders table
1148
- 2 fields from aqorders table returned with alternate names : rrp as unitpricesupplier, ecost as unitpricelib
1149
- 1 field from aqbasket table : basketname
1150
- 1 field from borrowers table : branchcode
1151
- 1 field from aqbudgets table : budget_name returned as budget
1152
- 2 fields from aqbooksellers : name returned as supplier, id returned as supplierid
1153
- estimateddeliverydate :  ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY)
1154
- quantity_to_receive : aqorders.quantity - COALESCE(aqorders.quantityreceived,0)
1155
- subtotal : (aqorders.quantity - COALESCE(aqorders.quantityreceived,0)) * aqorders.rrp
1156
- orderdate : DATE (aqbasket.closedate)
1157
- latesince : DATEDIFF(CURDATE( ),closedate)
1158
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1159
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1160
editionstatement, issn, isbn, ean, itemtype, volume, number
1161
If the record still exists, the biblionumber key contains the biblionumber
1162
If the record have been deleted, the biblionumber key is blank,
1163
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1164
1119
1165
1120
=cut
1166
=cut
1121
1167
Lines 1124-1142 sub GetOrder { Link Here
1124
    return unless $ordernumber;
1170
    return unless $ordernumber;
1125
1171
1126
    my $dbh      = C4::Context->dbh;
1172
    my $dbh      = C4::Context->dbh;
1173
# 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
1127
    my $query = qq{SELECT
1174
    my $query = qq{SELECT
1175
                COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1176
                COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1177
                COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1178
                COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1179
                COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1180
                COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1181
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1182
                COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publisher,
1183
                COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1184
                COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1185
                COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1186
                COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1187
                COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1188
                COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1189
                COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1128
                aqorders.*,
1190
                aqorders.*,
1129
                biblio.title,
1130
                biblio.author,
1131
                aqbasket.basketname,
1191
                aqbasket.basketname,
1132
                borrowers.branchcode,
1192
                borrowers.branchcode,
1133
                biblioitems.publicationyear,
1134
                biblio.copyrightdate,
1135
                biblioitems.editionstatement,
1136
                biblioitems.isbn,
1137
                biblioitems.ean,
1138
                biblio.seriestitle,
1139
                biblioitems.publishercode,
1140
                aqorders.rrp              AS unitpricesupplier,
1193
                aqorders.rrp              AS unitpricesupplier,
1141
                aqorders.ecost            AS unitpricelib,
1194
                aqorders.ecost            AS unitpricelib,
1142
                aqorders.claims_count     AS claims_count,
1195
                aqorders.claims_count     AS claims_count,
Lines 1144-1150 sub GetOrder { Link Here
1144
                aqbudgets.budget_name     AS budget,
1197
                aqbudgets.budget_name     AS budget,
1145
                aqbooksellers.name        AS supplier,
1198
                aqbooksellers.name        AS supplier,
1146
                aqbooksellers.id          AS supplierid,
1199
                aqbooksellers.id          AS supplierid,
1147
                biblioitems.publishercode AS publisher,
1148
                ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
1200
                ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
1149
                DATE(aqbasket.closedate)  AS orderdate,
1201
                DATE(aqbasket.closedate)  AS orderdate,
1150
                aqorders.quantity - COALESCE(aqorders.quantityreceived,0)                 AS quantity_to_receive,
1202
                aqorders.quantity - COALESCE(aqorders.quantityreceived,0)                 AS quantity_to_receive,
Lines 1152-1157 sub GetOrder { Link Here
1152
                DATEDIFF(CURDATE( ),closedate) AS latesince
1204
                DATEDIFF(CURDATE( ),closedate) AS latesince
1153
                FROM aqorders LEFT JOIN biblio ON biblio.biblionumber = aqorders.biblionumber
1205
                FROM aqorders LEFT JOIN biblio ON biblio.biblionumber = aqorders.biblionumber
1154
                LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1206
                LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1207
                LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1208
                LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1155
                LEFT JOIN aqbudgets ON aqorders.budget_id = aqbudgets.budget_id,
1209
                LEFT JOIN aqbudgets ON aqorders.budget_id = aqbudgets.budget_id,
1156
                aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby = borrowers.borrowernumber
1210
                aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby = borrowers.borrowernumber
1157
                LEFT JOIN aqbooksellers       ON aqbasket.booksellerid = aqbooksellers.id
1211
                LEFT JOIN aqbooksellers       ON aqbasket.booksellerid = aqbooksellers.id
Lines 1394-1402 sub ModItemOrder { Link Here
1394
1448
1395
=head3 GetCancelledOrders
1449
=head3 GetCancelledOrders
1396
1450
1397
  my @orders = GetCancelledOrders($basketno, $orderby);
1451
  my @orders = GetCancelledOrders($basketnumber, $orderby);
1398
1452
1399
Returns cancelled orders for a basket
1453
Looks up the cancelled orders with the given basketnumber.
1454
Parameters:
1455
- C<$basketnumber> : mandatory parameter, the basket number
1456
- C<$orderby> : optional parameter, used to sort the results (must be a valid expression
1457
using some fields of aqorders, aqbugdets, biblio, deletedbiblio,
1458
biblioitems, deletedbiblioitems, aqorders_transfers tables)
1459
If C<$orderby> is not provided, results are sorted according to publishercode and title
1460
1461
Return :
1462
The returned C<@orders> is an array of references-to-hash, whose keys are:
1463
- the fields from the aqorders table
1464
- the fields from the aqbudgets table
1465
- 2 fields from aqorders_transfers table : ordernumber_from, return as transferred_from
1466
and timestamp, return as transferred_from_timestamp
1467
- 5 fields of biblio or deletedbiblio tables : title, author, seriestitle, serial, copyrightdate
1468
- 9 fields of biblioitems or deletedbiblioitems tables : publicationyear, publishercode,
1469
editionstatement, issn, isbn, ean, itemtype, volume, number
1470
If the record still exists, the biblionumber key contains the biblionumber
1471
If the record have been deleted, the biblionumber key is blank,
1472
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1400
1473
1401
=cut
1474
=cut
1402
1475
Lines 1408-1415 sub GetCancelledOrders { Link Here
1408
    my $dbh   = C4::Context->dbh;
1481
    my $dbh   = C4::Context->dbh;
1409
    my $query = "
1482
    my $query = "
1410
        SELECT
1483
        SELECT
1411
            biblio.*,
1484
            COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1412
            biblioitems.*,
1485
            COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1486
            COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1487
            COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1488
            COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1489
            COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1490
            COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1491
            COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1492
            COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1493
            COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1494
            COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1495
            COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1496
            COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1497
            COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1413
            aqorders.*,
1498
            aqorders.*,
1414
            aqbudgets.*,
1499
            aqbudgets.*,
1415
            aqorders_transfers.ordernumber_to AS transferred_to,
1500
            aqorders_transfers.ordernumber_to AS transferred_to,
Lines 1418-1423 sub GetCancelledOrders { Link Here
1418
          LEFT JOIN aqbudgets   ON aqbudgets.budget_id = aqorders.budget_id
1503
          LEFT JOIN aqbudgets   ON aqbudgets.budget_id = aqorders.budget_id
1419
          LEFT JOIN biblio      ON biblio.biblionumber = aqorders.biblionumber
1504
          LEFT JOIN biblio      ON biblio.biblionumber = aqorders.biblionumber
1420
          LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1505
          LEFT JOIN biblioitems ON biblioitems.biblionumber = biblio.biblionumber
1506
          LEFT JOIN deletedbiblio      ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
1507
          LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1421
          LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_from = aqorders.ordernumber
1508
          LEFT JOIN aqorders_transfers ON aqorders_transfers.ordernumber_from = aqorders.ordernumber
1422
        WHERE basketno = ?
1509
        WHERE basketno = ?
1423
          AND (datecancellationprinted IS NOT NULL
1510
          AND (datecancellationprinted IS NOT NULL
Lines 1707-1713 C<$ordered> Finds orders to receive only (status 'ordered' or 'partial'). Link Here
1707
1794
1708
1795
1709
C<@results> is an array of references-to-hash with the keys are fields
1796
C<@results> is an array of references-to-hash with the keys are fields
1710
from aqorders, biblio, biblioitems and aqbasket tables.
1797
from aqorders, biblio, deletedbiblio, biblioitems, deletedbiblioitems,
1798
aqbasket and aqbasketgroups tables.
1799
If the record still exists, the biblionumber key contains the biblionumber
1800
If the record have been deleted, the biblionumber key is blank,
1801
and the deletedbiblionumber key contains the biblionumber of the deleted record.
1711
1802
1712
=cut
1803
=cut
1713
1804
Lines 1730-1738 sub SearchOrders { Link Here
1730
        SELECT aqbasket.basketno,
1821
        SELECT aqbasket.basketno,
1731
               borrowers.surname,
1822
               borrowers.surname,
1732
               borrowers.firstname,
1823
               borrowers.firstname,
1733
               biblio.*,
1824
               COALESCE(biblio.title,                 deletedbiblio.title)                 AS title,
1734
               biblioitems.isbn,
1825
               COALESCE(biblio.author,                deletedbiblio.author)                AS author,
1735
               biblioitems.biblioitemnumber,
1826
               COALESCE(biblio.seriestitle,           deletedbiblio.seriestitle)           AS seriestitle,
1827
               COALESCE(biblio.serial,                deletedbiblio.serial)                AS serial,
1828
               COALESCE(biblio.copyrightdate,         deletedbiblio.copyrightdate)         AS copyrightdate,
1829
               COALESCE(biblioitems.publicationyear,  deletedbiblioitems.publicationyear)  AS publicationyear,
1830
               COALESCE(biblioitems.publishercode,    deletedbiblioitems.publishercode)    AS publishercode,
1831
               COALESCE(biblioitems.editionstatement, deletedbiblioitems.editionstatement) AS editionstatement,
1832
               COALESCE(biblioitems.isbn,             deletedbiblioitems.isbn)             AS isbn,
1833
               COALESCE(biblioitems.issn,             deletedbiblioitems.issn)             AS issn,
1834
               COALESCE(biblioitems.ean,              deletedbiblioitems.ean)              AS ean,
1835
               COALESCE(biblioitems.itemtype,         deletedbiblioitems.itemtype)         AS itemtype,
1836
               COALESCE(biblioitems.volume,           deletedbiblioitems.volume)           AS volume,
1837
               COALESCE(biblioitems.number,           deletedbiblioitems.number)           AS number,
1736
               aqbasket.authorisedby,
1838
               aqbasket.authorisedby,
1737
               aqbasket.booksellerid,
1839
               aqbasket.booksellerid,
1738
               aqbasket.closedate,
1840
               aqbasket.closedate,
Lines 1747-1752 sub SearchOrders { Link Here
1747
            LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1849
            LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1748
            LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
1850
            LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
1749
            LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
1851
            LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
1852
            LEFT JOIN deletedbiblio ON aqorders.deletedbiblionumber=deletedbiblio.biblionumber
1853
            LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
1750
    };
1854
    };
1751
1855
1752
    # If we search on ordernumber, we retrieve the transfered order if a transfer has been done.
1856
    # If we search on ordernumber, we retrieve the transfered order if a transfer has been done.
Lines 1783-1793 sub SearchOrders { Link Here
1783
        push @args, ( $ordernumber, $ordernumber );
1887
        push @args, ( $ordernumber, $ordernumber );
1784
    }
1888
    }
1785
    if( $search ) {
1889
    if( $search ) {
1786
        $query .= ' AND (biblio.title LIKE ? OR biblio.author LIKE ? OR biblioitems.isbn LIKE ?)';
1890
        $query .= ' AND (COALESCE (biblio.title, deletedbiblio.title) LIKE ? OR COALESCE (biblio.author, deletedbiblio.author) LIKE ? OR COALESCE (biblioitems.isbn, deletedbiblioitems.isbn) LIKE ?)';
1787
        push @args, ("%$search%","%$search%","%$search%");
1891
        push @args, ("%$search%","%$search%","%$search%");
1788
    }
1892
    }
1789
    if ( $ean ) {
1893
    if ( $ean ) {
1790
        $query .= ' AND biblioitems.ean = ?';
1894
        $query .= ' AND (COALESCE biblioitems.ean,deletedbiblioitems.ean) = ?';
1791
        push @args, $ean;
1895
        push @args, $ean;
1792
    }
1896
    }
1793
    if ( $booksellerid ) {
1897
    if ( $booksellerid ) {
Lines 1921-1927 Looks up all of the received items from the supplier with the given Link Here
1921
bookseller ID at the given date, for the given code (bookseller Invoice number). Ignores cancelled and completed orders.
2025
bookseller ID at the given date, for the given code (bookseller Invoice number). Ignores cancelled and completed orders.
1922
2026
1923
C<@results> is an array of references-to-hash. The keys of each element are fields from
2027
C<@results> is an array of references-to-hash. The keys of each element are fields from
1924
the aqorders, biblio, and biblioitems tables of the Koha database.
2028
the aqorders, aqbasket, aqinvoices, borrowers, biblio, and deletedbiblio tables of the Koha database.
1925
2029
1926
C<@results> is sorted alphabetically by book title.
2030
C<@results> is sorted alphabetically by book title.
1927
2031
Lines 1950-1960 sub GetParcel { Link Here
1950
                aqorders.rrp,
2054
                aqorders.rrp,
1951
                aqorders.ecost,
2055
                aqorders.ecost,
1952
                aqorders.gstrate,
2056
                aqorders.gstrate,
1953
                biblio.title
2057
                COALESCE (biblio.title, deletedbiblio.title) AS title
1954
        FROM aqorders
2058
        FROM aqorders
1955
        LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
2059
        LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
1956
        LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
2060
        LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
1957
        LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
2061
        LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
2062
        LEFT JOIN deletedbiblio ON aqorders.deletedbiblionumber=deletedbiblio.biblionumber
1958
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2063
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
1959
        WHERE
2064
        WHERE
1960
            aqbasket.booksellerid = ?
2065
            aqbasket.booksellerid = ?
Lines 2070-2082 sub GetParcels { Link Here
2070
2175
2071
=head3 GetLateOrders
2176
=head3 GetLateOrders
2072
2177
2073
  @results = &GetLateOrders;
2178
  @results = &GetLateOrders ($delay, $supplierid, $branch, $estimateddeliverydatefrom, $estimateddeliverydateto) ;
2074
2179
2075
Searches for bookseller with late orders.
2180
Looks up the orders to receive (non cancelled and non completely received) from a given supplier.
2076
2181
2077
return:
2182
return:
2078
the table of supplier with late issues. This table is full of hashref.
2183
the table of supplier with late issues. This table is full of hashref.
2079
2184
2185
Looks up the cancelled orders with the given basketnumber.
2186
Optional parameters are used to limit the results :
2187
- C<$delay>                         : the number of days after the closing of the basket after which an order is late
2188
- C<$supplierid>                    : the id of the vendor this function has to get orders
2189
- C<$branch>                        : the branchcode of the branch this function has to get orders
2190
- C<$estimateddeliverydatefrom>     : the oldest expected date of delivery (based on aqbooksellers.deliverytime)
2191
- C<$estimateddeliverydateto>       : the most recent expected date of delivery (based on aqbooksellers.deliverytime). If only
2192
C<$estimateddeliverydatefrom> is provided and not C<$estimateddeliverydatefrom>, the current day is used as most recent
2193
expected date of delivery.
2194
2195
Return :
2196
The returned C<@results> is an array of references-to-hash, whose keys are:
2197
- 9 fields from the aqorders table : ordernumber, biblionumber, deletedbiblionumber, claims_count, claims_date,
2198
closedate as orderdate, rrp as unitpricesupplier, ecost in unitpricelib, budget_name as budget
2199
- 1 field from the aqbasket table : basketno
2200
- 1 field from the borrowers table : branchcode as branch
2201
- 2 fields from aqbooksellers : name as supplier, id as supplierid
2202
- 2 fields of biblio or deletedbiblio tables : title, author
2203
- 2 fields of biblioitems or deletedbiblioitems tables : publishercode as publisher, publicationyear
2204
- estimateddeliverydate : ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY)
2205
- quantity ; aqorders.quantity - COALESCE(aqorders.quantityreceived,0)
2206
- subtotal : (aqorders.quantity - COALESCE(aqorders.quantityreceived,0)) * aqorders.rrp AS subtotal
2207
- latesince : DATEDIFF(CAST(now() AS date),closedate) AS latesince
2208
If the record still exists, the biblionumber key contains the biblionumber
2209
If the record have been deleted, the biblionumber key is blank,
2210
and the deletedbiblionumber key contains the biblionumber of the deleted record.
2211
2212
2080
=cut
2213
=cut
2081
2214
2082
sub GetLateOrders {
2215
sub GetLateOrders {
Lines 2095-2100 sub GetLateOrders { Link Here
2095
    my $select = "
2228
    my $select = "
2096
    SELECT aqbasket.basketno,
2229
    SELECT aqbasket.basketno,
2097
        aqorders.ordernumber,
2230
        aqorders.ordernumber,
2231
        aqorders.biblionumber,
2232
        aqorders.deletedbiblionumber,
2098
        DATE(aqbasket.closedate)  AS orderdate,
2233
        DATE(aqbasket.closedate)  AS orderdate,
2099
        aqbasket.basketname       AS basketname,
2234
        aqbasket.basketname       AS basketname,
2100
        aqbasket.basketgroupid    AS basketgroupid,
2235
        aqbasket.basketgroupid    AS basketgroupid,
Lines 2107-2121 sub GetLateOrders { Link Here
2107
        borrowers.branchcode      AS branch,
2242
        borrowers.branchcode      AS branch,
2108
        aqbooksellers.name        AS supplier,
2243
        aqbooksellers.name        AS supplier,
2109
        aqbooksellers.id          AS supplierid,
2244
        aqbooksellers.id          AS supplierid,
2110
        biblio.author, biblio.title,
2245
        COALESCE (biblio.author,               deletedbiblio.author)               AS author,
2111
        biblioitems.publishercode AS publisher,
2246
        COALESCE (biblio.title,                deletedbiblio.title)                AS title,
2112
        biblioitems.publicationyear,
2247
        COALESCE (biblioitems.publishercode,   deletedbiblioitems.publishercode)   AS publisher,
2248
        COALESCE (biblioitems.publicationyear, deletedbiblioitems.publicationyear) AS publicationyear,
2113
        ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
2249
        ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
2114
    ";
2250
    ";
2115
    my $from = "
2251
    my $from = "
2116
    FROM
2252
    FROM
2117
        aqorders LEFT JOIN biblio     ON biblio.biblionumber         = aqorders.biblionumber
2253
        aqorders LEFT JOIN biblio     ON biblio.biblionumber         = aqorders.biblionumber
2118
        LEFT JOIN biblioitems         ON biblioitems.biblionumber    = biblio.biblionumber
2254
        LEFT JOIN biblioitems         ON biblioitems.biblionumber    = biblio.biblionumber
2255
        LEFT JOIN deletedbiblio       ON deletedbiblio.biblionumber  = aqorders.deletedbiblionumber
2256
        LEFT JOIN deletedbiblioitems  ON deletedbiblioitems.biblionumber    = deletedbiblio.biblionumber
2119
        LEFT JOIN aqbudgets           ON aqorders.budget_id          = aqbudgets.budget_id,
2257
        LEFT JOIN aqbudgets           ON aqorders.budget_id          = aqbudgets.budget_id,
2120
        aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby       = borrowers.borrowernumber
2258
        aqbasket LEFT JOIN borrowers  ON aqbasket.authorisedby       = borrowers.borrowernumber
2121
        LEFT JOIN aqbooksellers       ON aqbasket.booksellerid       = aqbooksellers.id
2259
        LEFT JOIN aqbooksellers       ON aqbasket.booksellerid       = aqbooksellers.id
Lines 2243-2248 returns: Link Here
2243
    $total_qty is the sum of all of the quantities in $order_loop
2381
    $total_qty is the sum of all of the quantities in $order_loop
2244
    $total_price is the cost of each in $order_loop times the quantity
2382
    $total_price is the cost of each in $order_loop times the quantity
2245
    $total_qtyreceived is the sum of all of the quantityreceived entries in $order_loop
2383
    $total_qtyreceived is the sum of all of the quantityreceived entries in $order_loop
2384
If the record still exists, the biblionumber key contains the biblionumber
2385
If the record have been deleted, the biblionumber key is blank,
2386
and the deletedbiblionumber key contains the biblionumber of the deleted record.
2246
2387
2247
=cut
2388
=cut
2248
2389
Lines 2279-2284 sub GetHistory { Link Here
2279
            COALESCE(biblio.author,    deletedbiblio.author)    AS author,
2420
            COALESCE(biblio.author,    deletedbiblio.author)    AS author,
2280
            COALESCE(biblioitems.isbn, deletedbiblioitems.isbn) AS isbn,
2421
            COALESCE(biblioitems.isbn, deletedbiblioitems.isbn) AS isbn,
2281
            COALESCE(biblioitems.ean,  deletedbiblioitems.ean)  AS ean,
2422
            COALESCE(biblioitems.ean,  deletedbiblioitems.ean)  AS ean,
2423
            aqorders.deletedbiblionumber,
2282
            aqorders.basketno,
2424
            aqorders.basketno,
2283
            aqbasket.basketname,
2425
            aqbasket.basketname,
2284
            aqbasket.basketgroupid,
2426
            aqbasket.basketgroupid,
Lines 2308-2315 sub GetHistory { Link Here
2308
        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
2450
        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
2309
        LEFT JOIN aqbudgets ON aqorders.budget_id=aqbudgets.budget_id
2451
        LEFT JOIN aqbudgets ON aqorders.budget_id=aqbudgets.budget_id
2310
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2452
        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
2311
        LEFT JOIN deletedbiblio ON deletedbiblio.biblionumber=aqorders.biblionumber
2453
        LEFT JOIN deletedbiblio ON deletedbiblio.biblionumber=aqorders.deletedbiblionumber
2312
        LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=aqorders.biblionumber
2454
        LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=deletedbiblio.biblionumber
2313
        ";
2455
        ";
2314
2456
2315
    if ( C4::Context->preference("IndependentBranches") ) {
2457
    if ( C4::Context->preference("IndependentBranches") ) {
Lines 2330-2351 sub GetHistory { Link Here
2330
    }
2472
    }
2331
2473
2332
    if ( $title ) {
2474
    if ( $title ) {
2333
        $query .= " AND biblio.title LIKE ? ";
2475
        $query .= " AND COALESCE (biblio.title,deletedbiblio.title) LIKE ? ";
2334
        $title =~ s/\s+/%/g;
2476
        $title =~ s/\s+/%/g;
2335
        push @query_params, "%$title%";
2477
        push @query_params, "%$title%";
2336
    }
2478
    }
2337
2479
2338
    if ( $author ) {
2480
    if ( $author ) {
2339
        $query .= " AND biblio.author LIKE ? ";
2481
        $query .= " AND  COALESCE (biblio.author,deletedbiblio.author) LIKE ? ";
2340
        push @query_params, "%$author%";
2482
        push @query_params, "%$author%";
2341
    }
2483
    }
2342
2484
2343
    if ( $isbn ) {
2485
    if ( $isbn ) {
2344
        $query .= " AND biblioitems.isbn LIKE ? ";
2486
        $query .= " AND COALESCE (biblioitems.isbn,deletedbiblioitems.isbn) LIKE ? ";
2345
        push @query_params, "%$isbn%";
2487
        push @query_params, "%$isbn%";
2346
    }
2488
    }
2347
    if ( $ean ) {
2489
    if ( $ean ) {
2348
        $query .= " AND biblioitems.ean = ? ";
2490
        $query .= " AND OALESCE (biblioitems.ean,deletedbiblioitems.ean) = ? ";
2349
        push @query_params, "$ean";
2491
        push @query_params, "$ean";
2350
    }
2492
    }
2351
    if ( $name ) {
2493
    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 474-480 sub get_order_infos { Link Here
474
        $line{'title'} .= " / $seriestitle" if $seriestitle;
474
        $line{'title'} .= " / $seriestitle" if $seriestitle;
475
        $line{'title'} .= " / $volume"      if $volume;
475
        $line{'title'} .= " / $volume"      if $volume;
476
    } else {
476
    } else {
477
        $line{'title'} = "Deleted bibliographic notice, can't find title.";
477
        $line{'title'} = "Can't find title.";
478
    }
478
    }
479
479
480
    my $biblionumber = $order->{'biblionumber'};
480
    my $biblionumber = $order->{'biblionumber'};
(-)a/acqui/neworderempty.pl (+1 lines)
Lines 358-363 $template->param( Link Here
358
    surnamesuggestedby   => $suggestion->{surnamesuggestedby},
358
    surnamesuggestedby   => $suggestion->{surnamesuggestedby},
359
    firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
359
    firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
360
    biblionumber         => $biblionumber,
360
    biblionumber         => $biblionumber,
361
    deletedbiblionumber  => $data->{'deletedbiblionumber'},
361
    uncertainprice       => $data->{'uncertainprice'},
362
    uncertainprice       => $data->{'uncertainprice'},
362
    authorisedbyname     => $borrower->{'firstname'} . " " . $borrower->{'surname'},
363
    authorisedbyname     => $borrower->{'firstname'} . " " . $borrower->{'surname'},
363
    discount_2dp         => sprintf( "%.2f",  $bookseller->{'discount'} ) ,   # for display
364
    discount_2dp         => sprintf( "%.2f",  $bookseller->{'discount'} ) ,   # for display
(-)a/installer/data/mysql/kohastructure.sql (+2 lines)
Lines 2992-2997 DROP TABLE IF EXISTS `aqorders`; Link Here
2992
CREATE TABLE `aqorders` ( -- information related to the basket line items
2992
CREATE TABLE `aqorders` ( -- information related to the basket line items
2993
  `ordernumber` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha to each line
2993
  `ordernumber` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha to each line
2994
  `biblionumber` int(11) default NULL, -- links the order to the biblio being ordered (biblio.biblionumber)
2994
  `biblionumber` int(11) default NULL, -- links the order to the biblio being ordered (biblio.biblionumber)
2995
  `deletedbiblionumber` int(11) default NULL, -- links the order to the deletedbiblio being ordered (deletedbiblio.biblionumber)
2995
  `entrydate` date default NULL, -- the date the bib was added to the basket
2996
  `entrydate` date default NULL, -- the date the bib was added to the basket
2996
  `quantity` smallint(6) default NULL, -- the quantity ordered
2997
  `quantity` smallint(6) default NULL, -- the quantity ordered
2997
  `currency` varchar(3) default NULL, -- the currency used for the purchase
2998
  `currency` varchar(3) default NULL, -- the currency used for the purchase
Lines 3034-3039 CREATE TABLE `aqorders` ( -- information related to the basket line items Link Here
3034
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3035
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3035
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3036
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3036
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3037
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3038
  CONSTRAINT aqorders_ibfk_4 FOREIGN KEY (deletedbiblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE SET NULL ON UPDATE CASCADE,
3037
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
3039
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
3038
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3040
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3039
3041
(-)a/installer/data/mysql/updatedatabase.pl (+8 lines)
Lines 8159-8164 if ( CheckVersion($DBversion) ) { Link Here
8159
    SetVersion ($DBversion);
8159
    SetVersion ($DBversion);
8160
}
8160
}
8161
8161
8162
<<<<<<< HEAD
8162
$DBversion = "3.15.00.035";
8163
$DBversion = "3.15.00.035";
8163
if ( CheckVersion($DBversion) ) {
8164
if ( CheckVersion($DBversion) ) {
8164
    #insert a notice for sharing a list and accepting a share
8165
    #insert a notice for sharing a list and accepting a share
Lines 8550-8555 if (CheckVersion($DBversion)) { Link Here
8550
    print "Upgrade to $DBversion done (Bug 11629 - Add ability to update not for loan status on checkin)\n";
8551
    print "Upgrade to $DBversion done (Bug 11629 - Add ability to update not for loan status on checkin)\n";
8551
    SetVersion($DBversion);
8552
    SetVersion($DBversion);
8552
}
8553
}
8554
$DBversion = "3.17.00.XXX";
8555
if ( CheckVersion($DBversion) ) {
8556
    $dbh->do("ALTER TABLE aqorders ADD COLUMN deletedbiblionumber INT(11) DEFAULT NULL AFTER biblionumber;");
8557
    $dbh->do("ALTER TABLE aqorders ADD CONSTRAINT `aqorders_ibfk_4` FOREIGN KEY (`deletedbiblionumber`) REFERENCES `deletedbiblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE;");
8558
    print "Upgrade to $DBversion done (Bug 10758 - Show bibliographic information of deleted records in acquisitions)\n";
8559
     SetVersion($DBversion);
8560
}
8553
8561
8554
=head1 FUNCTIONS
8562
=head1 FUNCTIONS
8555
8563
(-)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 178-185 Link Here
178
                        [% END %]
178
                        [% END %]
179
                    </td>
179
                    </td>
180
                    <td>
180
                    <td>
181
                        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title |html %]</a>
181
                        [% IF (order.biblionumber) %]
182
                        <br />[% order.author %] <br /> [% order.isbn %]
182
                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title |html %]</a>
183
                            <br />[% order.author %] <br /> [% order.isbn %]
184
                        [% ELSIF (order.deletedbiblionumber) %]
185
                            <em>(Deleted record)</em>
186
                            <br />
187
                            [% order.title |html %]<br />[% order.author %] <br /> [% order.isbn %]
188
                        [% ELSE %]
189
                            <em>Can't find title</em>
190
                        [% END %]
183
                    </td>
191
                    </td>
184
                    <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]">[% order.name %]</a></td>
192
                    <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]">[% order.name %]</a></td>
185
                    <td><span title="[% order.creationdate %]">[% order.creationdate | $KohaDates %]</span></td>
193
                    <td><span title="[% order.creationdate %]">[% order.creationdate | $KohaDates %]</span></td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt (+4 lines)
Lines 146-151 $(document).ready(function() { Link Here
146
                ([% lateorder.supplierid %])
146
                ([% lateorder.supplierid %])
147
            </td>
147
            </td>
148
            <td>
148
            <td>
149
                [% IF (lateorder.biblionumber) || (lateorder.deletedbiblionumber) %]
149
                <b>[% lateorder.title |html %]</b>
150
                <b>[% lateorder.title |html %]</b>
150
                   [% IF ( lateorder.author ) %]<br/><i>Author:</i> [% lateorder.author %][% END %]
151
                   [% IF ( lateorder.author ) %]<br/><i>Author:</i> [% lateorder.author %][% END %]
151
                   [% IF ( lateorder.publisher ) %]
152
                   [% IF ( lateorder.publisher ) %]
Lines 154-159 $(document).ready(function() { Link Here
154
                            <i> in </i>[% lateorder.publicationyear %]
155
                            <i> in </i>[% lateorder.publicationyear %]
155
                        [% END %]
156
                        [% END %]
156
                   [% END %]
157
                   [% END %]
158
                [% ELSE %]
159
                    <em>Can't find title</em>
160
                [% END %]
157
            </td>
161
            </td>
158
            <td>
162
            <td>
159
                   [% lateorder.unitpricesupplier %]x[% lateorder.quantity %] = 
163
                   [% lateorder.unitpricesupplier %]x[% lateorder.quantity %] = 
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (-11 / +13 lines)
Lines 232-237 $(document).ready(function() Link Here
232
            Catalog details
232
            Catalog details
233
            [% IF ( biblionumber ) %]
233
            [% IF ( biblionumber ) %]
234
                <span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]"> Edit record</a></span>
234
                <span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]"> Edit record</a></span>
235
            [% ELSIF (deletedbiblionumber) %]
236
                <span> (Deleted record, not editable)</span>
235
            [% END %]
237
            [% END %]
236
        </legend>
238
        </legend>
237
        [% UNLESS ( existing ) %]
239
        [% UNLESS ( existing ) %]
Lines 252-259 $(document).ready(function() Link Here
252
        [% END %]
254
        [% END %]
253
255
254
        <ol><li>
256
        <ol><li>
255
            [% IF ( biblionumber ) %]
257
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
256
            <span class="label">Title</span>
258
                <span class="label">Title: </span>
257
                <input type="hidden" name="title" value="[% title |html %]" /> <span class="title">[% title |html %]</span>
259
                <input type="hidden" name="title" value="[% title |html %]" /> <span class="title">[% title |html %]</span>
258
            [% ELSE %]
260
            [% ELSE %]
259
            <label for="entertitle" class="required">Title: </label>
261
            <label for="entertitle" class="required">Title: </label>
Lines 261-267 $(document).ready(function() Link Here
261
            [% END %]
263
            [% END %]
262
        </li>
264
        </li>
263
        <li>
265
        <li>
264
            [% IF ( biblionumber ) %]
266
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
265
            <span class="label">Author: </span>
267
            <span class="label">Author: </span>
266
                <input type="hidden" name="author" id="author" value="[% author %]" />[% author %]
268
                <input type="hidden" name="author" id="author" value="[% author %]" />[% author %]
267
            [% ELSE %]
269
            [% ELSE %]
Lines 270-276 $(document).ready(function() Link Here
270
            [% END %]
272
            [% END %]
271
        </li>
273
        </li>
272
        <li>
274
        <li>
273
            [% IF ( biblionumber ) %]
275
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
274
            <span class="label">Publisher: </span>
276
            <span class="label">Publisher: </span>
275
                <input type="hidden" name="publishercode" id="publishercode" value="[% publishercode %]" />[% publishercode %]
277
                <input type="hidden" name="publishercode" id="publishercode" value="[% publishercode %]" />[% publishercode %]
276
            [% ELSE %]
278
            [% ELSE %]
Lines 279-285 $(document).ready(function() Link Here
279
            [% END %]
281
            [% END %]
280
        </li>
282
        </li>
281
        <li>
283
        <li>
282
            [% IF ( biblionumber ) %]
284
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
283
            <span class="label">Edition: </span>
285
            <span class="label">Edition: </span>
284
                <input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />[% editionstatement %]
286
                <input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />[% editionstatement %]
285
287
Lines 289-295 $(document).ready(function() Link Here
289
            [% END %]
291
            [% END %]
290
        </li>
292
        </li>
291
        <li>
293
        <li>
292
            [% IF ( biblionumber ) %]
294
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
293
            <span class="label">Publication year: </span>
295
            <span class="label">Publication year: </span>
294
                <input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear %]" />[% publicationyear %]
296
                <input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear %]" />[% publicationyear %]
295
            [% ELSE %]
297
            [% ELSE %]
Lines 298-304 $(document).ready(function() Link Here
298
            [% END %]
300
            [% END %]
299
        </li>
301
        </li>
300
        <li>
302
        <li>
301
            [% IF ( biblionumber ) %]
303
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
302
            <span class="label">ISBN: </span>
304
            <span class="label">ISBN: </span>
303
                <input type="hidden" name="isbn" id="ISBN" value="[% isbn %]" />[% isbn %]
305
                <input type="hidden" name="isbn" id="ISBN" value="[% isbn %]" />[% isbn %]
304
            [% ELSE %]
306
            [% ELSE %]
Lines 308-314 $(document).ready(function() Link Here
308
        </li>
310
        </li>
309
        [% IF (UNIMARC) %]
311
        [% IF (UNIMARC) %]
310
        <li>
312
        <li>
311
            [% IF ( biblionumber ) %]
313
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
312
            <span class="label">EAN: </span>
314
            <span class="label">EAN: </span>
313
                <input type="hidden" name="ean" id="EAN" value="[% ean %]" />[% ean %]
315
                <input type="hidden" name="ean" id="EAN" value="[% ean %]" />[% ean %]
314
            [% ELSE %]
316
            [% ELSE %]
Lines 318-324 $(document).ready(function() Link Here
318
        </li>
320
        </li>
319
        [% END %]
321
        [% END %]
320
        <li>
322
        <li>
321
            [% IF ( biblionumber ) %]
323
            [% IF ( biblionumber )||( deletedbiblionumber ) %]
322
            <span class="label">Series: </span>
324
            <span class="label">Series: </span>
323
                <input type="hidden" name="series" id="series" value="[% seriestitle %]" />[% seriestitle %]
325
                <input type="hidden" name="series" id="series" value="[% seriestitle %]" />[% seriestitle %]
324
            [% ELSE %]
326
            [% ELSE %]
Lines 326-335 $(document).ready(function() Link Here
326
                <input type="text" size="50" name="series" id="series" value="[% seriestitle %]" />
328
                <input type="text" size="50" name="series" id="series" value="[% seriestitle %]" />
327
            [% END %]
329
            [% END %]
328
        </li>
330
        </li>
329
            [% UNLESS ( biblionumber ) %]
331
            [% UNLESS (( biblionumber )||( deletedbiblionumber )) %]
330
            [% IF ( itemtypeloop ) %]
332
            [% IF ( itemtypeloop ) %]
331
            <li>
333
            <li>
332
                <span class="label">Item type:</span>
334
                <span class="label">Item type: </span>
333
                <select name="itemtype" style="width:12em;">
335
                <select name="itemtype" style="width:12em;">
334
                [% FOREACH itemtype IN itemtypeloop %]
336
                [% FOREACH itemtype IN itemtypeloop %]
335
                    [% IF ( itemtype.selected ) %]
337
                    [% 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