Fixed get_post() support for numeric fields.
[fa-stable.git] / manufacturing / work_order_entry.php
index cafdf21145772deeac11ff5cae357394dfb0f716..4aea96fb15d8f5d3b8378e08d0e706ad44ddb1d2 100644 (file)
@@ -133,7 +133,7 @@ function can_process()
        }
        }
 
-       if (!check_num('quantity', 0))
+       if (!check_num('quantity', 1))
        {
                display_error( _("The quantity entered is invalid or less than zero."));
                set_focus('quantity');
@@ -316,9 +316,9 @@ $existing_comments = "";
 $dec = 0;
 if (isset($selected_id))
 {
-       $myrow = get_work_order($selected_id);
+       $myrow = get_work_order($selected_id, true);
 
-       if (strlen($myrow[0]) == 0)
+       if ($myrow === false)
        {
                echo _("The order number sent is not valid.");
                safe_exit();
@@ -343,7 +343,6 @@ if (isset($selected_id))
        $_POST['date_'] = sql2date($myrow["date_"]);
        $_POST['RequDate'] = sql2date($myrow["required_by"]);
        $_POST['released_date'] = sql2date($myrow["released_date"]);
-       $_POST['memo_'] = "";
        $_POST['units_issued'] = $myrow["units_issued"];
        $_POST['Costs'] = price_format($myrow["additional_costs"]);
 
@@ -362,6 +361,7 @@ if (isset($selected_id))
 else
 {
        $_POST['units_issued'] = $_POST['released'] = 0;
+
        ref_row(_("Reference:"), 'wo_ref', '', $Refs->get_next(ST_WORKORDER, null, get_post('date_')), false, ST_WORKORDER);
 
        wo_types_list_row(_("Type:"), 'type', null);
@@ -405,20 +405,19 @@ else
     date_row(_("Date") . ":", 'date_', '', true);
        hidden('RequDate', '');
 
-       $bank_act = get_default_bank_account();
-       if (!isset($_POST['Labour']))
+       if (!isset($_POST['Labour']) || list_updated('stock_id') || list_updated('type'))
        {
-               $_POST['Labour'] = price_format(0);
+               $bank_act = get_default_bank_account();
+               $item = get_item(get_post('stock_id'));
+               $_POST['Labour'] = price_format(get_post('type') == WO_ASSEMBLY ? $item['labour_cost'] : 0);
                $_POST['cr_lab_acc'] = $bank_act['account_code'];
+               $_POST['Costs'] = price_format(get_post('type') == WO_ASSEMBLY ? $item['overhead_cost'] : 0);
+               $_POST['cr_acc'] = $bank_act['account_code'];
+               $Ajax->activate('_page_body');
        }
 
        amount_row($wo_cost_types[WO_LABOUR], 'Labour');
        gl_all_accounts_list_row(_("Credit Labour Account"), 'cr_lab_acc', null);
-       if (!isset($_POST['Costs']))
-       {
-               $_POST['Costs'] = price_format(0);
-               $_POST['cr_acc'] = $bank_act['account_code'];
-       }
        amount_row($wo_cost_types[WO_OVERHEAD], 'Costs');
        gl_all_accounts_list_row(_("Credit Overhead Account"), 'cr_acc', null);