Switch to new access levels system
[fa-stable.git] / inventory / manage / items.php
index 3d136119e8d218949d6daeaab23250ebe0787f01..9d30127725d6b60ffa49b70d2af4ceaa768aca28 100644 (file)
@@ -9,11 +9,11 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-$page_security = 11;
-$path_to_root="../..";
+$page_security = 'SA_ITEM';
+$path_to_root = "../..";
 include($path_to_root . "/includes/session.inc");
 
-page(_("Items"));
+page(_("Items"), @$_REQUEST['popup']);
 
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
@@ -22,7 +22,7 @@ include_once($path_to_root . "/includes/data_checks.inc");
 include_once($path_to_root . "/inventory/includes/inventory_db.inc");
 
 $user_comp = user_company();
-$new_item = get_post('stock_id')=='' || get_post('cancel'); 
+$new_item = get_post('stock_id')=='' || get_post('cancel') || get_post('clone')
 //------------------------------------------------------------------------------------
 
 if (isset($_GET['stock_id']))
@@ -97,7 +97,6 @@ if (isset($_FILES['pic']) && $_FILES['pic']['name'] != '')
  /* EOF Add Image upload for New Item  - by Ori */
 }
 
-
 check_db_has_stock_categories(_("There are no item categories defined in the system. At least one item category is required to add a item."));
 
 check_db_has_item_tax_types(_("There are no item tax types defined in the system. At least one item tax type is required to add a item."));
@@ -113,6 +112,7 @@ function clear_data()
        unset($_POST['NewStockID']);
        unset($_POST['dimension_id']);
        unset($_POST['dimension2_id']);
+       unset($_POST['no_sale']);
 }
 
 //------------------------------------------------------------------------------------
@@ -168,7 +168,8 @@ if (isset($_POST['addupdate']))
                                get_post('mb_flag'), $_POST['sales_account'],
                                $_POST['inventory_account'], $_POST['cogs_account'],
                                $_POST['adjustment_account'], $_POST['assembly_account'], 
-                               $_POST['dimension_id'], $_POST['dimension2_id']);
+                               $_POST['dimension_id'], $_POST['dimension2_id'],
+                               check_value('no_sale'));
                        update_record_status($_POST['NewStockID'], $_POST['inactive'],
                                'stock_master', 'stock_id');
                        update_record_status($_POST['NewStockID'], $_POST['inactive'],
@@ -185,17 +186,26 @@ if (isset($_POST['addupdate']))
                                $_POST['units'], $_POST['mb_flag'], $_POST['sales_account'],
                                $_POST['inventory_account'], $_POST['cogs_account'],
                                $_POST['adjustment_account'], $_POST['assembly_account'], 
-                               $_POST['dimension_id'], $_POST['dimension2_id']);
+                               $_POST['dimension_id'], $_POST['dimension2_id'],
+                               check_value('no_sale'));
 
                        display_notification(_("A new item has been added."));
                        $_POST['stock_id'] = $_POST['NewStockID'] = 
                        $_POST['description'] = $_POST['long_description'] = '';
+                       $_POST['no_sale'] = 0;
                        set_focus('NewStockID');
                }
                $Ajax->activate('_page_body');
        }
 }
 
+if (get_post('clone')) {
+       unset($_POST['stock_id']);
+       unset($_POST['inactive']);
+       set_focus('NewStockID');
+       $Ajax->activate('_page_body');
+}
+
 //------------------------------------------------------------------------------------
 
 function check_usage($stock_id, $dispmsg=true)
@@ -273,14 +283,6 @@ if (isset($_POST['delete']) && strlen($_POST['delete']) > 1)
 }
 //-------------------------------------------------------------------------------------------- 
 
-if (isset($_POST['select']))
-{
-       context_return(array('stock_id' => $_POST['stock_id']));
-}
-
-
-//------------------------------------------------------------------------------------
-
 start_form(true);
 
 if (db_has_stock_items()) 
@@ -289,7 +291,7 @@ if (db_has_stock_items())
        start_row();
     stock_items_list_cells(_("Select an item:"), 'stock_id', null,
          _('New item'), true, check_value('show_inactive'));
-       $new_item = get_post('stock_id')==''; 
+       $new_item = get_post('stock_id')=='';
        check_cells(_("Show inactive:"), 'show_inactive', null, true);
        end_row();
        end_table();
@@ -308,10 +310,10 @@ table_section(1);
 table_section_title(_("Item"));
 
 //------------------------------------------------------------------------------------
-
 if ($new_item) 
 {
        text_row(_("Item Code:"), 'NewStockID', null, 21, 20);
+
        $_POST['inactive'] = 0;
 } 
 else 
@@ -334,6 +336,7 @@ else
                $_POST['assembly_account']      = $myrow['assembly_account'];
                $_POST['dimension_id']  = $myrow['dimension_id'];
                $_POST['dimension2_id'] = $myrow['dimension2_id'];
+               $_POST['no_sale']       = $myrow['no_sale'];
                $_POST['del_image'] = 0;        
                $_POST['inactive'] = $myrow["inactive"];
                label_row(_("Item Code:"),$_POST['NewStockID']);
@@ -361,6 +364,7 @@ if ($new_item && (list_updated('category_id') || !isset($_POST['units']))) {
        $_POST['assembly_account'] = $category_record["dflt_assembly_act"];
        $_POST['dimension_id'] = $category_record["dflt_dim1"];
        $_POST['dimension2_id'] = $category_record["dflt_dim2"];
+       $_POST['no_sale'] = $category_record["dflt_no_sale"];
 }
 $fresh_item = !isset($_POST['NewStockID']) || $new_item 
        || check_usage($_POST['stock_id'],false);
@@ -391,15 +395,15 @@ table_section_title(_("GL Accounts"));
 
 gl_all_accounts_list_row(_("Sales Account:"), 'sales_account', $_POST['sales_account']);
 
-gl_all_accounts_list_row(_("Inventory Account:"), 'inventory_account', $_POST['inventory_account']);
-
 if (!is_service($_POST['mb_flag'])) 
 {
+       gl_all_accounts_list_row(_("Inventory Account:"), 'inventory_account', $_POST['inventory_account']);
        gl_all_accounts_list_row(_("C.O.G.S. Account:"), 'cogs_account', $_POST['cogs_account']);
        gl_all_accounts_list_row(_("Inventory Adjustments Account:"), 'adjustment_account', $_POST['adjustment_account']);
 }
 else 
 {
+       gl_all_accounts_list_row(_("C.O.G.S. Account:"), 'inventory_account', $_POST['inventory_account']);
        hidden('cogs_account', $_POST['cogs_account']);
        hidden('adjustment_account', $_POST['adjustment_account']);
 }
@@ -410,7 +414,7 @@ if (is_manufactured($_POST['mb_flag']))
 else
        hidden('assembly_account', $_POST['assembly_account']);
 
-table_section_title(_("Picture"));
+table_section_title(_("Other"));
 
 // Add image upload for New Item  - by Joe
 label_row(_("Image File (.jpg)") . ":", "<input type='file' id='pic' name='pic'>");
@@ -433,8 +437,10 @@ else
 
 label_row("&nbsp;", $stock_img_link);
 if ($check_remove_image)
-       check_row(_("Delete Image:"), 'del_image', $_POST['del_image']);
+       check_row(_("Delete Image:"), 'del_image');
        
+check_row(_("Exclude from sales:"), 'no_sale');
+
 record_status_list_row(_("Item status:"), 'inactive');
 end_outer_table(1);
 div_end();
@@ -446,13 +452,16 @@ if (!isset($_POST['NewStockID']) || $new_item)
 else 
 {
        submit_center_first('addupdate', _("Update Item"), '', 
-       count($_SESSION['Context']) ? true : 'default');
-       submit_return('select', _("Return"), _("Select this items and return to document entry."), 'default');
+               @$_REQUEST['popup'] ? true : 'default');
+       submit_return('select', get_post('stock_id'), 
+               _("Select this items and return to document entry."), 'default');
+       submit('clone', _("Clone This Item"), true, '', true);
        submit('delete', _("Delete This Item"), true, '', true);
        submit_center_last('cancel', _("Cancel"), _("Cancel Edition"), 'cancel');
 }
 
 div_end();
+hidden('popup', @$_REQUEST['popup']);
 end_form();
 
 //------------------------------------------------------------------------------------