my @query_params = ();
my $select = "
SELECT aqbasket.basketno,
- aqorders.ordernumber,
+ aqorders.ordernumber AS ordernumber,
DATE(aqbasket.closedate) AS orderdate,
aqbasket.basketname AS basketname,
aqbasket.basketgroupid AS basketgroupid,
aqorders.ecost AS unitpricelib,
aqorders.claims_count AS claims_count,
aqorders.claimed_date AS claimed_date,
+ aqorders.order_internalnote AS internalnote,
+ aqorders.order_vendornote AS vendornote,
aqbudgets.budget_name AS budget,
borrowers.branchcode AS branch,
aqbooksellers.name AS supplier,
biblio.author, biblio.title,
biblioitems.publishercode AS publisher,
biblioitems.publicationyear,
+ biblioitems.isbn AS isbn,
ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) AS estimateddeliverydate,
";
my $from = "
basketno => $order->{basketno},
claims_count => $order->{claims_count},
claimed_date => $order->{claimed_date},
+ internalnote => $order->{internalnote},
+ vendornote => $order->{vendornote},
+ isbn => $order->{isbn},
}
;
}
use C4::Acquisition;
use C4::Letters;
use Koha::DateUtils;
+use Koha::Acquisition::Orders;
my $input = new CGI;
my ($template, $loggedinuser, $cookie) = get_template_and_user(
}
}
+if ($op && $op eq "save"){
+ my $listorders;
+ my @orders = $input->param;
+
+ foreach my $order (@orders){
+ if ( $order ne "op"){
+ my @split = split (/_/,$order);
+ $listorders->{$split[0]}->{$split[1]} = $input->param($order);
+ }
+ }
+
+ my $orders_rs = Koha::Acquisition::Orders->search({ ordernumber => [ keys %$listorders ] });
+ while ( my $order = $orders_rs->next ) {
+ my $internalnote = $listorders->{$order->ordernumber}->{i};
+ my $vendornote = $listorders->{$order->ordernumber}->{v};
+
+ $order->order_internalnote($internalnote) if defined $internalnote;
+ $order->order_vendornote($vendornote) if defined $vendornote;
+ $order->store;
+ }
+}
+
my @parameters = ( $delay );
push @parameters, $estimateddeliverydatefrom_dt
? $estimateddeliverydatefrom_dt->ymd()
cannot_be_toggled: 1
cannot_be_modified: 1
-
+ columnname: order_line
+ -
columnname: order_date
-
columnname: estimated_delivery_date
columnname: claims_count
-
columnname: claimed_date
+ -
+ columnname: internal_note
+ -
+ columnname: vendor_note
+ -
+ columnname: isbn
+
basket:
orders:
-
[%- USE Koha -%]
[%- SET delimiter = Koha.Preference( 'delimiter' ) || ',' -%]
-[%- BLOCK -%]ORDER DATE[%- delimiter | html -%]ESTIMATED DELIVERY DATE[%- delimiter | html -%]VENDOR[%- delimiter | html -%]INFORMATION[%- delimiter | html -%]TOTAL COST[%- delimiter | html -%]BASKET[%- delimiter | html -%]CLAIMS COUNT[%- delimiter | html -%]CLAIMED DATE[%- END -%]
+[%- BLOCK -%]ORDER DATE[%- delimiter | html -%]ESTIMATED DELIVERY DATE[%- delimiter | html -%]VENDOR[%- delimiter | html -%]INFORMATION[%- delimiter | html -%]TOTAL COST[%- delimiter | html -%]BASKET[%- delimiter | html -%]CLAIMS COUNT[%- delimiter | html -%]CLAIMED DATE[%- delimiter | html -%]INTERNAL NOTE[%- delimiter | html -%]VENDOR NOTE[%- delimiter | html -%]ISBN[%- END -%]
[% ELSE %]
<th></th>
[% END %]
+ <th>Order line</th>
<th class="title-string">Order date</th>
<th class="title-string">Estimated delivery date</th>
<th>Vendor</th>
<th>Fund</th>
<th>Claims count</th>
<th class="title-string">Claimed date</th>
+ <th>Internal note</th>
+ <th>Vendor note</th>
+ <th>ISBN</th>
</tr>
</thead>
<tbody>
<input type="checkbox" value="[% lateorder.ordernumber | html %]" data-booksellerid="[% lateorder.supplierid | html %]" name="ordernumber">
</td>
<td>
+ [% lateorder.ordernumber | $raw %]
+ </td>
+ <td>
<span title="[% lateorder.orderdate | html %]">[% lateorder.orderdate | $KohaDates %] ([% lateorder.latesince | html %] days)</span>
</td>
<td>
<span title="0000-00-00"></span>
[% END %]
</td>
+ <td><input name="internalnote" id="internalnote" type="text" value="[% lateorder.internalnote | html %]"></td>
+ <td><input name="vendornote" id="vendornote" type="text" value="[% lateorder.vendornote | html %]"></td>
+ <td>[% lateorder.isbn | $raw %]</td>
</tr>
[% END %]
</tbody>
<tfoot>
<tr>
- <th colspan="5">Total</th>
+ <th colspan="6">Total</th>
<th>[% total | html %]</th>
- <th colspan="6"> </th>
+ <th colspan="9"> </th>
</tr>
</tfoot>
</table>
[% UNLESS lateorder.budget_lock %]
<input type="submit" value="Claim order" />
[% END %]
+ <input type="button" value="Save notes" id="savenotes"/>
</p>
</form>
[% ELSE %]<p>There are no late orders.</p>
location.href = url;
return false;
});
+ // Update all notes
+ $("#savenotes").click(function(){
+ $("#savenotes").after("<span id=\"loading\" style=\"margin:4px;\"><img src=\"[% interface | html %]/[% theme | html %]/img/loading-small.gif\" alt=\"\" /> "+_("Loading")+"</span>");
+ var all_nodes = $(late_orderst.fnGetNodes());
+ var req = new XMLHttpRequest();
+ var url = '/cgi-bin/koha/acqui/lateorders.pl';
+ var data = new FormData();
+ data.append("op","save");
+ for (var i = 0; i < all_nodes.length; i++) {
+ var order = $(all_nodes[i]).find("input[name='ordernumber']");
+ var internalnote = $(all_nodes[i]).find("input[name='internalnote']")[0].value;
+ var vendornote = $(all_nodes[i]).find("input[name='vendornote']")[0].value;
+ var internalnote_key = order[0].value + "_i";
+ var vendornote_key = order[0].value + "_v";
+ data.append(internalnote_key, internalnote);
+ data.append(vendornote_key, vendornote);
+ }
+
+ req.open("POST",url);
+ req.send(data);
+ req.onreadystatechange = function () {
+ $("#loading").remove();
+ if (req.readyState == '4' ){
+ if ( req.status == 200 ){
+ alert(_("Notes successfully saved"));
+ }
+ else {
+ alert(_("Error while saving the notes. Please try again"));
+ }
+ }
+ }
+ });
});
</script>
[% END %]