function get_customer_details_to_order(&$order, $customer_id, $branch_id)
{
+ global $SysPrefs;
+
$ret_error = "";
$myrow = get_customer_to_order($customer_id);
$order->set_delivery($myrow["default_ship_via"], $myrow["br_name"],
$address);
- if ($order->trans_type == ST_SALESINVOICE || $order->trans_type == ST_SALESORDER) {
+ if ($order->trans_type == ST_SALESINVOICE) {
$order->due_date = get_invoice_duedate($order->payment, $order->document_date);
}
+ elseif ($order->trans_type == ST_SALESORDER)
+ $order->due_date = add_days($order->document_date, $SysPrefs->default_delivery_required_by());
if($order->payment_terms['cash_sale']) {
$order->set_location($order->pos["pos_location"], $order->pos["location_name"]);
} else
$id = find_submit('Edit');
$has_marked = false;
- foreach ($order->line_items as $line_no=>$stock_item)
+
+ foreach ($order->get_items() as $line_no=>$stock_item)
{
$line_total = round($stock_item->qty_dispatched * $stock_item->price * (1 - $stock_item->discount_percent),
$qoh_msg = '';
if (!$editable_items || $id != $line_no)
{
- if (!$SysPrefs->allow_negative_stock() && is_inventory_item($stock_item->stock_id)) {
+ if (!$SysPrefs->allow_negative_stock() && is_inventory_item($stock_item->stock_id) &&
+ $order->trans_type != ST_SALESORDER && $order->trans_type!=ST_SALESQUOTE) {
$qoh = get_qoh_on_date($stock_item->stock_id,
- $_POST['Location'], $_POST['OrderDate']);
- if ($stock_item->qty_dispatched > $qoh)
+ $_POST['Location'], $_POST['delivery_date']);
+ if (($stock_item->qty_dispatched -$stock_item->qty_done) > $qoh)
{
// oops, we don't have enough of one of the component items
start_row("class='stockmankobg'");
$row = get_customer_to_order($_POST['customer_id']);
if ($row['dissallow_invoices'] == 1)
$customer_error = _("The selected customer account is currently on hold. Please contact the credit control personnel to discuss.");
-
}
}
table_section(2);
- if (!is_company_currency($order->customer_currency))
+ if (!is_company_currency($order->customer_currency) && in_array($order->trans_type, array(ST_SALESINVOICE, ST_CUSTDELIVERY)))
{
label_row(_("Customer Currency:"), $order->customer_currency);
- exchange_rate_display($order->customer_currency, get_company_currency(),
+ exchange_rate_display(get_company_currency(), $order->customer_currency,
($editable ? $_POST['OrderDate'] : $order->document_date));
}
}
if($editable) {
- $str = sales_types_list_row(_("Price List"), 'sales_type', null, true);
+ $str = sales_types_list_row(_("Price List:"), 'sales_type', null, true);
} else {
label_row(_("Price List:"), $order->sales_type_name);
}
}
else // prepare new line
{
- sales_items_list_cells(null,'stock_id', null, false, true);
+ sales_items_list_cells(null,'stock_id', null, false, true, true);
if (list_updated('stock_id')) {
$Ajax->activate('price');
$Ajax->activate('units');
label_row(_("Cash account:"), $order->pos['bank_account_name']);
textarea_row(_("Comments:"), "Comments", $order->Comments, 31, 5);
end_table();
+ hidden('delivery_date', $order->due_date);
} else {
if ($order->trans_type==ST_SALESINVOICE)
{