Popup editors now available as option for some list selectors.
[fa-stable.git] / purchasing / po_entry_items.php
index 6d950dbbf26ed04d54a7c89a600d869d67a4d363..b0d116995a73507ee649bfb39c2d5aab08bee265 100644 (file)
@@ -1,13 +1,20 @@
 <?php
-
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
 $page_security = 4;
-
 $path_to_root="..";
 include_once($path_to_root . "/purchasing/includes/po_class.inc");
-
 include_once($path_to_root . "/includes/session.inc");
-
 include_once($path_to_root . "/purchasing/includes/purchasing_ui.inc");
+include_once($path_to_root . "/reporting/includes/reporting.inc");
 
 $js = '';
 if ($use_popup_windows)
@@ -41,27 +48,32 @@ if (isset($_GET['AddedID']))
                display_notification_centered(_("Purchase Order has been entered"));
        else
                display_notification_centered(_("Purchase Order has been updated") . " #$order_no");
-       display_note(get_trans_view_str($trans_type, $order_no, _("View this order")));
+       display_note(get_trans_view_str($trans_type, $order_no, _("&View this order")));
+       echo '<br>';
+       display_note(print_document_link($order_no, _("&Print This Order"), true, $trans_type));
 
-       hyperlink_params($path_to_root . "/purchasing/po_receive_items.php", _("Receive Items on this Purchase Order"), "PONumber=$order_no");
+       hyperlink_params($path_to_root . "/purchasing/po_receive_items.php", _("&Receive Items on this Purchase Order"), "PONumber=$order_no");
 
-       hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another Purchase Order"), "NewOrder=yes");
+       hyperlink_params($_SERVER['PHP_SELF'], _("Enter &Another Purchase Order"), "NewOrder=yes");
        
-       hyperlink_no_params($path_to_root."/purchasing/inquiry/po_search.php", _("Select An Outstanding Purchase Order"));
+       hyperlink_no_params($path_to_root."/purchasing/inquiry/po_search.php", _("Select An &Outstanding Purchase Order"));
        
        display_footer_exit();  
 }
-
 //--------------------------------------------------------------------------------------------------
-function line_start_focus() {
-  global       $Ajax;
 
-  $Ajax->activate('items_table');
-  set_focus('_stock_id_edit');
+function copy_from_cart()
+{
+       $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;   
+       $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date; 
+    $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
+    $_POST['ref'] = $_SESSION['PO']->reference;
+       $_POST['Comments'] = $_SESSION['PO']->Comments;
+    $_POST['StkLocation'] = $_SESSION['PO']->Location;
+    $_POST['delivery_address'] = $_SESSION['PO']->delivery_address;    
 }
-//--------------------------------------------------------------------------------------------------
 
-function copy_to_po()
+function copy_to_cart()
 {
        $_SESSION['PO']->supplier_id = $_POST['supplier_id'];   
        $_SESSION['PO']->orig_order_date = $_POST['OrderDate'];
@@ -71,20 +83,14 @@ function copy_to_po()
        $_SESSION['PO']->Location = $_POST['StkLocation'];
        $_SESSION['PO']->delivery_address = $_POST['delivery_address'];
 }
-
 //--------------------------------------------------------------------------------------------------
 
-function copy_from_po()
-{
-       $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;   
-       $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date; 
-    $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
-    $_POST['ref'] = $_SESSION['PO']->reference;
-       $_POST['Comments'] = $_SESSION['PO']->Comments;
-    $_POST['StkLocation'] = $_SESSION['PO']->Location;
-    $_POST['delivery_address'] = $_SESSION['PO']->delivery_address;    
-}
+function line_start_focus() {
+  global       $Ajax;
 
+  $Ajax->activate('items_table');
+  set_focus('_stock_id_edit');
+}
 //--------------------------------------------------------------------------------------------------
 
 function unset_form_variables() {
@@ -128,12 +134,15 @@ function handle_cancel_po()
        if($_SESSION['PO']->order_no != 0)
        {
                delete_po($_SESSION['PO']->order_no);
-       }       
+       } else {
+               unset($_SESSION['PO']);
+               meta_forward($path_to_root.'/index.php','application=AP');
+       }
 
        $_SESSION['PO']->clear_items();
        $_SESSION['PO'] = new purch_order;
 
-       display_note(_("This purchase order has been cancelled."), 0, 1);
+       display_notification(_("This purchase order has been cancelled."));
 
        hyperlink_params($path_to_root . "/purchasing/po_entry_items.php", _("Enter a new purchase order"), "NewOrder=Yes");
        echo "<br>";
@@ -259,14 +268,14 @@ function can_commit()
        
        if (!$_SESSION['PO']->order_no) 
        {
-       if (!references::is_valid($_SESSION['PO']->reference)) 
+       if (!references::is_valid(get_post('ref'))) 
        {
                display_error(_("There is no reference entered for this purchase order."));
                        set_focus('ref');
                return false;
        } 
        
-       if (!is_new_reference($_SESSION['PO']->reference, systypes::po())) 
+       if (!is_new_reference(get_post('ref'), systypes::po())) 
        {
                display_error(_("The entered reference is already in use."));
                        set_focus('ref');
@@ -274,14 +283,14 @@ function can_commit()
        }
        }
        
-       if ($_SESSION['PO']->delivery_address == "")
+       if (get_post('delivery_address') == '')
        {
                display_error(_("There is no delivery address specified."));
                set_focus('delivery_address');
                return false;
        } 
        
-       if (!isset($_SESSION['PO']->Location) || $_SESSION['PO']->Location == "")
+       if (get_post('StkLocation') == '')
        {
                display_error(_("There is no location specified to move any items into."));
                set_focus('StkLocation');
@@ -301,17 +310,17 @@ function can_commit()
 
 function handle_commit_order()
 {
-       copy_to_po();
 
        if (can_commit())
        {
+               copy_to_cart();
 
                if ($_SESSION['PO']->order_no == 0)
                { 
                        
                        /*its a new order to be inserted */
                        $order_no = add_po($_SESSION['PO']);
-                        
+                       new_doc_date($_SESSION['PO']->orig_order_date); 
                        unset($_SESSION['PO']);
                         
                meta_forward($_SERVER['PHP_SELF'], "AddedID=$order_no");        
@@ -334,34 +343,22 @@ $id = find_submit('Delete');
 if ($id != -1)
        handle_delete_item($id);
 
-if (isset($_POST['Delete']) || isset($_POST['Edit']))
-{
-       copy_from_po();
-}
-       
 if (isset($_POST['Commit']))
 {
        handle_commit_order();
 }
 if (isset($_POST['UpdateLine']))
-{
-       copy_to_po();
        handle_update_item();
-}
+
 if (isset($_POST['EnterLine']))
-{
-       copy_to_po();
        handle_add_new_item();
-} 
+
 if (isset($_POST['CancelOrder'])) 
-{
        handle_cancel_po();
-}
+
 if (isset($_POST['CancelUpdate']))
-{
-       copy_to_po();
        unset_form_variables();
-}
+
 if (isset($_GET['ModifyOrderNumber']) && $_GET['ModifyOrderNumber'] != "")
 {
        create_new_po();
@@ -370,33 +367,20 @@ if (isset($_GET['ModifyOrderNumber']) && $_GET['ModifyOrderNumber'] != "")
 
        /*read in all the selected order into the Items cart  */
        read_po($_SESSION['PO']->order_no, $_SESSION['PO']);
-       copy_from_po();
+       
+       copy_from_cart();
 }
+
 if (isset($_POST['CancelUpdate']) || isset($_POST['UpdateLine'])) {
        line_start_focus();
 }
 
-//--------------------------------------------------------------------------------
-
 if (isset($_GET['NewOrder']))
-{
        create_new_po();
-} 
-else 
-{
-       if (!isset($_POST['supplier_id']))
-               $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;
-       if (!isset($_POST['OrderDate']))                
-               $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date;
-       if (!isset($_POST['Requisition']))              
-               $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
-       if (!isset($_POST['Comments']))         
-               $_POST['Comments'] = $_SESSION['PO']->Comments;
-}
 
 //---------------------------------------------------------------------------------------------------
 
-start_form(false, true);
+start_form();
 
 display_po_header($_SESSION['PO']);
 echo "<br>";
@@ -412,13 +396,13 @@ div_start('controls', 'items_table');
 if ($_SESSION['PO']->order_has_items()) 
 {
        if ($_SESSION['PO']->order_no)
-               submit_center_first('Commit', _("Update Order"), '', true);
+               submit_center_first('Commit', _("Update Order"), '', 'default');
        else
-               submit_center_first('Commit', _("Place Order"), '', true);
+               submit_center_first('Commit', _("Place Order"), '', 'default');
        submit_center_last('CancelOrder', _("Cancel Order"));   
 }
 else
-       submit_center('CancelOrder', _("Cancel Order"));        
+       submit_center('CancelOrder', _("Cancel Order"), true, false, 'cancel');
 div_end();
 //---------------------------------------------------------------------------------------------------