Fixed multiply strict warnings, fixed error handling on php 5.3
[fa-stable.git] / purchasing / po_entry_items.php
index 278c5199507b2ca00b98f730663545954afb05e7..d707dbfe11bc841776fd0deb3c779147920c02de 100644 (file)
@@ -332,6 +332,13 @@ function can_commit()
                return false;
        } 
        
+       if (($_SESSION['PO']->trans_type==ST_SUPPINVOICE) && !is_date($_POST['due_date'])) 
+       {
+               display_error(_("The entered due date is invalid."));
+               set_focus('due_date');
+               return false;
+       } 
+       
        if (!$_SESSION['PO']->order_no) 
        {
        if (!$Refs->is_valid(get_post('ref'))) 
@@ -349,6 +356,12 @@ function can_commit()
        }
        }
        
+       if ($_SESSION['PO']->trans_type == ST_SUPPINVOICE && !$Refs->is_valid(get_post('supp_ref'))) 
+       {
+               display_error(_("You must enter a supplier's invoice reference."));
+               set_focus('supp_ref');
+               return false;
+       }
        if ($_SESSION['PO']->trans_type == ST_PURCHORDER && get_post('delivery_address') == '')
        {
                display_error(_("There is no delivery address specified."));
@@ -417,16 +430,15 @@ function handle_commit_order()
                        $inv->Comments = $cart->Comments;
                        $inv->supplier_id = $cart->supplier_id;
                        $inv->tran_date = $cart->orig_order_date;
+                       $inv->due_date = $cart->due_date;
                        $inv->reference = $ref;
                        $inv->supp_reference = $cart->supp_ref;
                        $inv->tax_included = $cart->tax_included;
                        $supp = get_supplier($cart->supplier_id);
                        $inv->tax_group_id = $supp['tax_group_id'];
 //                     $inv->ov_discount 'this isn't used at all'
-//                     $inv->terms = not used, TODO
-                       $terms =  $supp['payment_terms'];
                        $inv->ov_amount = $inv->ov_gst = 0;
-                       $inv->due_date = get_invoice_duedate($terms, $inv->tran_date);
+                       
                        foreach($cart->line_items as $key => $line) {
                                $inv->add_grn_to_trans($line->grn_item_id, $line->po_detail_rec, $line->stock_id,
                                        $line->item_description, $line->receive_qty, 0, $line->receive_qty,
@@ -439,7 +451,7 @@ function handle_commit_order()
                        }
                        $inv_no = add_supp_invoice($inv);
                        commit_transaction(); // save PO+GRN+PI
-                       // payment for cash terms...
+                       // FIXME payment for cash terms. (Needs cash account selection)
                        unset($_SESSION['PO']);
                        meta_forward($_SERVER['PHP_SELF'], "AddedPI=$inv_no");
                }
@@ -491,16 +503,29 @@ textarea_row(_("Memo:"), 'Comments', null, 70, 4);
 end_table(1);
 
 div_start('controls', 'items_table');
+$process_txt = _("Place Order");
+$update_txt = _("Update Order");
+$cancel_txt = _("Cancel Order");
+if ($_SESSION['PO']->trans_type == ST_SUPPRECEIVE) {
+       $process_txt = _("Process GRN");
+       $update_txt = _("Update GRN");
+       $cancel_txt = _("Cancel GRN");
+}      
+elseif ($_SESSION['PO']->trans_type == ST_SUPPINVOICE) {
+       $process_txt = _("Process Invoice");
+       $update_txt = _("Update Invoice");
+       $cancel_txt = _("Cancel Invoice");
+}      
 if ($_SESSION['PO']->order_has_items()) 
 {
        if ($_SESSION['PO']->order_no)
-               submit_center_first('Commit', _("Update Order"), '', 'default');
+               submit_center_first('Commit', $update_txt, '', 'default');
        else
-               submit_center_first('Commit', _("Place Order"), '', 'default');
-       submit_center_last('CancelOrder', _("Cancel Order"));   
+               submit_center_first('Commit', $process_txt, '', 'default');
+       submit_center_last('CancelOrder', $cancel_txt);         
 }
 else
-       submit_center('CancelOrder', _("Cancel Order"), true, false, 'cancel');
+       submit_center('CancelOrder', $cancel_txt, true, false, 'cancel');
 div_end();
 //---------------------------------------------------------------------------------------------------