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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt (-8 / +232 lines)
Lines 87-92 Link Here
87
        </div>
87
        </div>
88
    [% END %]
88
    [% END %]
89
89
90
<h3>Pending orders (api)</h3>
91
<table id="pending_orders" class="table table-bordered table-striped">
92
    <thead>
93
        <tr>
94
            <th>Basket</th>
95
            <th>Basket group</th>
96
            <th>Order line</th>
97
            <th>Summary</th>
98
            <th>More</th>
99
            <th>Replacement price</th>
100
            <th>Quantity</th>
101
            <th>Unit cost</th>
102
            <th>Order cost</th>
103
            <th>Fund</th>
104
            <th>&nbsp;</th>
105
            <th>&nbsp;</th>
106
        </tr>
107
    </thead>
108
</table>
109
90
[% UNLESS no_orders_to_display %]
110
[% UNLESS no_orders_to_display %]
91
<div id="acqui_receive_summary">
111
<div id="acqui_receive_summary">
92
<p><strong>Invoice number:</strong> [% invoice | html %] <strong>Received by:</strong> [% logged_in_user.userid | html %] <strong>On:</strong> [% datereceived | $KohaDates %]</p>
112
<p><strong>Invoice number:</strong> [% invoice | html %] <strong>Received by:</strong> [% logged_in_user.userid | html %] <strong>On:</strong> [% datereceived | $KohaDates %]</p>
Lines 181-206 Link Here
181
                    <a href="#" onclick="transfer_order_popup([% loop_order.ordernumber | html %]); return false;">Transfer</a>
201
                    <a href="#" onclick="transfer_order_popup([% loop_order.ordernumber | html %]); return false;">Transfer</a>
182
				</td>
202
				</td>
183
				<td>
203
				<td>
184
                        [% IF ( loop_order.left_holds_on_order ) %]
204
                        [% IF ( loop_order.left_holds_on_order ) %] [%# DONE %]
185
                        <span class="button" title="Can't cancel order, ([% loop_order.holds_on_order | html %]) holds are linked with this order. Cancel holds first">Can't cancel order</span><br>
205
                        <span class="button" title="Can't cancel order, ([% loop_order.holds_on_order | html %]) holds are linked with this order. Cancel holds first">Can't cancel order</span><br>
186
                        [% ELSE %]
206
                        [% ELSE %] [%# DONE %]
187
                        <a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order</a><br />
207
                        <a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order</a><br />
188
                        [% END %]
208
                        [% END %] [%# DONE %]
189
                        [% IF ( loop_order.can_del_bib ) %]
209
                        [% IF ( loop_order.can_del_bib ) %]
190
                        <a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&del_biblio=1&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order and catalog record</a><br />
210
                        <a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&del_biblio=1&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order and catalog record</a><br />
191
                        [% ELSE %]
211
                        [% ELSE %]
192
                        <span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br>
212
                        <span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br>
193
                        [% END %]
213
                        [% END %]
194
                        [% IF ( loop_order.left_item ) %]
214
                        [% IF ( loop_order.left_item ) %] [%# DONE %]
195
                        <b title="Can't delete catalog record, because of [% loop_order.items | html %] existing item(s)" >[% loop_order.items | html %] item(s) left</b><br>
215
                        <b title="Can't delete catalog record, because of [% loop_order.items | html %] existing item(s)" >[% loop_order.items | html %] item(s) left</b><br>
196
                        [% END %]
216
                        [% END %]
197
                        [% IF ( loop_order.left_biblio ) %]
217
                        [% IF ( loop_order.left_biblio ) %]  [%# DONE %]
198
                        <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios | html %] order(s) left</b><br>
218
                        <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios | html %] order(s) left</b><br>
199
                        [% END %]
219
                        [% END %]
200
                        [% IF ( loop_order.left_subscription ) %]
220
                        [% IF ( loop_order.left_subscription ) %] [%# DONE %]
201
                        <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions | html %] subscription(s) left</b><br>
221
                        <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions | html %] subscription(s) left</b><br>
202
                        [% END %]
222
                        [% END %]
203
                        [% IF ( loop_order.left_holds ) %]
223
                        [% IF ( loop_order.left_holds ) %] [%# DONE %]
204
                        <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds | html %] hold(s) left</b>
224
                        <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds | html %] hold(s) left</b>
205
                        [% END %]
225
                        [% END %]
206
                    </td>
226
                    </td>
Lines 533-538 Link Here
533
            }));
553
            }));
534
          }
554
          }
535
555
556
        var pendig_orders_tb = $("#pending_orders").api({
557
            "ajax": {
558
                "url": "/api/v1/acquisitions/orders"
559
            },
560
            "embed": [
561
                "basket.basket_group",
562
                "biblio.active_orders_count",
563
                "biblio.holds_count",
564
                "biblio.items_count",
565
                "biblio.suggestions.suggester",
566
                "fund",
567
                "holds_count",
568
                "items"
569
            ],
570
            'dom': 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
571
            "columnDefs": [
572
                { "targets": [ "nosort" ],"sortable": false,"searchable": false },
573
                { "type": "anti-the", "targets" : [ "anti-the" ] },
574
                { "type": "title-string", "targets" : [ "title-string" ] }
575
            ],
576
            "columns": [
577
                { "data": "basket_id",
578
                  "render": function(data, type, row, meta) {
579
                      if (type != 'display') return data;
580
                      return "<a href=\"/cgi-bin/koha/acqui/basket.pl?basketno=" + data + "\">" + row.basket.name + " (" + data + ")</a>";
581
                  }
582
                },
583
                { "data": function(row, type, val, meta) {
584
                      if ( type != 'display' ) return row.basket.basket_group_id;
585
                      if ( row.basket.basket_group_id == null ) {
586
                          return _("No basket group");
587
                      }
588
                      else {
589
                          return "<a href=\"/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid="
590
                                 + row.basket.vendor_id + "&amp;basketgroupid="
591
                                 + row.basket.basket_group_id + "\">"
592
                                 + row.basket.basket_group.name + " (" + row.basket.basket_group_id + ")</a>";
593
                      }
594
                  }
595
                },
596
                { "data": "order_id",
597
                  "render": function(data, type, row, meta) {
598
                      if (type != 'display') return data;
599
                      return "<a href=\"neworderempty.pl?ordernumber="+data+"&amp;booksellerid="+row.basket.vendor_id+"\">"+data+"</a>";
600
                  }
601
                },
602
                { "data": function(row, type, val, meta) {
603
                      var result = "<a href=\"opac-detail.pl?biblionumber="+row.biblio_id+"\">"+row.biblio.title+"</a>";
604
                      if ( row.biblio.author != null )
605
                        result += _(" by ") + row.biblio.author;
606
                      if ( row.biblio.isbn != null )
607
                        result += " &ndash; " + row.biblio.isbn;
608
                      if ( row.biblio.publisher != null ) {
609
                        result += "<br/>" + _("Publisher: ") + row.biblio.publisher;
610
                        if ( row.biblio.publication_year != null ) {
611
                            result += ", " + row.biblio.publication_year;
612
                        }
613
                        else if ( row.biblio.copyright_date != null ) {
614
                            result += row.biblio.copyright_date;
615
                        }
616
                      }
617
                      var suggestions = row.biblio.suggestions;
618
                      if ( suggestions != null && suggestions.length > 0 ) {
619
                          var suggestion = suggestions[0];
620
                          if ( suggestion.suggestor != null ) {
621
                              var suggestor = suggestion.suggestor;
622
                              var suggested_by = [];
623
                              if ( suggestor.surname != null ) {
624
                                  suggested_by.push(suggestor.surname);
625
                              }
626
                              if ( suggestor.firstname != null ) {
627
                                  suggested_by.push(suggestor.firstname);
628
                              }
629
630
                                result += "<br/>" + _("Suggested by: ") +
631
                                            '<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid='
632
                                                + suggestion.suggestionid
633
                                                + '&amp;op=show">'
634
                                                + suggested_by.join(", ")
635
                                                + " (#" + suggestions[0].suggestionid + ")</a>";
636
                          }
637
                      }
638
639
                      var internal_note = row.internal_note;
640
                      if ( internal_note != '' ) {
641
                          result += '<p class="ordernote"><strong>'
642
                                    + _("Internal note: ")
643
                                    + '</strong>' + internal_note
644
                                    + ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber='
645
                                    + row.order_id + '&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]'
646
                                    + '&type=internal">' + _("Change internal note") + '</a>]</p>';
647
                      }
648
                      else {
649
                          result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber='
650
                                    + row.order_id + '&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]'
651
                                    + '&type=internal">' + _("Add internal note") + '</a>]';
652
                      }
653
654
                      var vendor_note = row.vendor_note;
655
                      if ( vendor_note != '' ) {
656
                          result += '<p class="ordernote"><strong>'
657
                                    + _("Vendor note: ")
658
                                    + '</strong>' + vendor_note + '</p>';
659
                      }
660
                      else {
661
                          result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber='
662
                                    + row.order_id + '&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]'
663
                                    + '&type=vendor">' + _("Add vendor note") + '</a>]';
664
                      }
665
666
                    return result;
667
                  }
668
                },
669
                { "data": function( row, type, val, meta) {
670
                        if (type != 'display') return data;
671
                        var result = '<a href="/cgi-bin/koha/acqui/showorder.pl?ordernumber=' + row.order_id + '" class="previewData">' + _('Order') + '</a><br>'
672
                             + '<a href="/cgi-bin/koha/catalogue/showmarc.pl?id=' + row.biblio_id + '" class="previewData">' + _("MARC") + '</a><br>'
673
                             + '<a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=' + row.biblio_id + '" class="previewData">' + _("Card") + '</a>';
674
                        return result;
675
                  }
676
                },
677
                { "data": "replacement_price" },
678
                { "data": "quantity" },
679
                { "data": "ecost" },
680
                { "data": function ( row, type, val, meta ) {
681
                        return row.quantity * row.ecost;
682
                  }
683
                },
684
                { "data": "fund_id",
685
                  "render": function(data, type, row, meta) {
686
                      if (type != 'display') return data;
687
                      return row.fund.name;
688
                  }
689
                },
690
                {
691
                  "data": function( row, type, val, meta ) {
692
                      return '<a href="orderreceive.pl?ordernumber='
693
                            + row.order_id + '&amp;invoiceid=[% invoiceid | uri %]' + '">'
694
                            + _("Receive") + '</a><br/>'
695
                            + '<a href="#" onclick="transfer_order_popup(' + row.order_id + '); return false;">'
696
                            + _("Transfer") + '</a>';
697
                  }
698
                },
699
                {
700
                    "data": function( row, type, val, meta ) {
701
                        var result = "";
702
703
                        if ( row.holds_count > 0 ) {
704
                            result += '<span class="button" title="'
705
                                      + _("Can't cancel order, (%s) holds are linked with this order. Cancel holds first").format( row.holds_count ) + '">'
706
                                      + _("Can't cancel order") + '</span><br/>';
707
                        }
708
                        else {
709
                            result += '<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber='
710
                                        + row.order_id
711
                                        + '&biblionumber=' + row.biblio_id
712
                                        + '&referrer=/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid | uri %]">'
713
                                        + _("Cancel order") + '</a><br/>';
714
                        }
715
716
                        if ( row.items.length > 0 ||
717
                             row.biblio.active_orders_count > 1 ||
718
                             row.biblio.subscriptions_count > 0 ||
719
                             row.bibio.holds_count > 0 ) { // biblio can be deleted
720
                            result += '<span class="button" title="'
721
                                       + _("Can't delete catalog record, see constraints below") + '">'
722
                                       + _("Can't cancel order and delete catalog record") + '</span><br>';
723
                        }
724
                        else {
725
                            result += '<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber='
726
                                       + row.order_id + '&biblionumber=' + row.biblio_id
727
                                       + '&del_biblio=1&referrer="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[$ invoiceid | uri ]">'
728
                                       + _("Cancel order and catalog record") + '</a><br/>';
729
                        }
730
731
                        if ( row.items.length > 0 ) {
732
                            result += '<b title="'
733
                                      + _("Can't delete catalog record, because of %s existing item(s)").format(row.items.length)
734
                                      +'">' + (row.biblio.items_count - row.items.length) + _(" item(s) left") + '</b><br/>';
735
                        }
736
737
                        if ( row.biblio.active_orders_count > 1 ) {
738
                            result += '<b title="'
739
                                      + _("Can't delete catalog record, delete other orders linked to it first") + '">'
740
                                      + (row.biblio.active_orders_count - 1) + _(" order(s) left") + '</b><br/>';
741
                        }
742
743
                        if ( row.biblio.subscriptions_count > 0 ) {
744
                            result += '<b title="' + _("Can't delete catalog record, delete subscriptions first") + '">'
745
                                      + _("%s subscription(s) left").format(row.biblio.subscriptions_count)
746
                                      + '</b><br>';
747
                        }
748
749
                        if ( row.biblio.holds_count > 0 ) {
750
                            result += '<b title="' + _("Can't delete catalog record or order, cancel holds first") + '">'
751
                                      + _("%s hold(s) left").format(row.bibio.holds_count) + '</b>';
752
                        }
753
754
                        return result;
755
                    }
756
                }
757
            ]
758
        });
759
760
536
          // Keep filters from finishreceive.pl to parcel.pl
761
          // Keep filters from finishreceive.pl to parcel.pl
537
          $.cookie("filter_parcel_summary", $("#summaryfilter").val());
762
          $.cookie("filter_parcel_summary", $("#summaryfilter").val());
538
          $.cookie("filter_parcel_basketname", $("#basketfilter").val());
763
          $.cookie("filter_parcel_basketname", $("#basketfilter").val());
539
- 

Return to bug 20212