X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fprices.php;h=7132eb624c7fab66153285b2cb4e8c6fd38b9445;hb=2f3375b4493c1b1e0b17c2801298275f22f8d76e;hp=64371bbe82840e02403978b46de087d090b0fd98;hpb=6183e9450dcd7e4c747889c10903f6ff1b0add33;p=fa-stable.git diff --git a/inventory/prices.php b/inventory/prices.php index 64371bbe..7132eb62 100644 --- a/inventory/prices.php +++ b/inventory/prices.php @@ -1,24 +1,41 @@ . +***********************************************************************/ +$page_security = 'SA_SALESPRICE'; + +if (@$_GET['page_level'] == 1) + $path_to_root = "../.."; +else + $path_to_root = ".."; -$page_security = 2; -$path_to_root=".."; include_once($path_to_root . "/includes/session.inc"); - -page(_("Inventory Item Sales prices")); - +include_once($path_to_root . "/sales/includes/sales_db.inc"); +include_once($path_to_root . "/sales/includes/db/sales_types_db.inc"); include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/data_checks.inc"); - include_once($path_to_root . "/inventory/includes/inventory_db.inc"); +$js = ""; +if ($SysPrefs->use_popup_windows && $SysPrefs->use_popup_search) + $js .= get_js_open_window(900, 500); +page(_($help_context = "Inventory Item Sales prices"), false, false, "", $js); + //--------------------------------------------------------------------------------------------------- check_db_has_stock_items(_("There are no items defined in the system.")); check_db_has_sales_types(_("There are no sales types in the system. Please set up sales types befor entering pricing.")); +simple_page_mode(true); //--------------------------------------------------------------------------------------------------- - $input_error = 0; if (isset($_GET['stock_id'])) @@ -36,92 +53,106 @@ if (!isset($_POST['curr_abrev'])) } //--------------------------------------------------------------------------------------------------- - -start_form(false, true); +$action = $_SERVER['PHP_SELF']; +if ($page_nested) + $action .= "?stock_id=".get_post('stock_id'); +start_form(false, false, $action); if (!isset($_POST['stock_id'])) $_POST['stock_id'] = get_global_stock_item(); -echo "
" . _("Item:"). " "; -stock_items_list('stock_id', $_POST['stock_id'], false, true); -echo "
"; - -// if stock sel has changed, clear the form -if ($_POST['stock_id'] != get_global_stock_item()) +if (!$page_nested) { - clear_data(); + echo "
" . _("Item:"). " "; + echo sales_items_list('stock_id', $_POST['stock_id'], false, true, '', array('editable' => false)); + echo "
"; } - +else + br(2); set_global_stock_item($_POST['stock_id']); //---------------------------------------------------------------------------------------------------- -function clear_data() -{ - unset($_POST['PriceID']); - unset($_POST['price']); -} - -//---------------------------------------------------------------------------------------------------- - -if (isset($_POST['updatePrice'])) +if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { - if (!check_num('price', 0)) + if (!check_num('price', 0)) { $input_error = 1; display_error( _("The price entered must be numeric.")); set_focus('price'); } + elseif ($Mode == 'ADD_ITEM' && get_stock_price_type_currency($_POST['stock_id'], $_POST['sales_type_id'], $_POST['curr_abrev'])) + { + $input_error = 1; + display_error( _("The sales pricing for this item, sales type and currency has already been added.")); + set_focus('supplier_id'); + } if ($input_error != 1) { - if (isset($_POST['PriceID'])) + if ($selected_id != -1) { //editing an existing price - update_item_price($_POST['PriceID'], $_POST['sales_type_id'], + update_item_price($selected_id, $_POST['sales_type_id'], $_POST['curr_abrev'], input_num('price')); $msg = _("This price has been updated."); - } - elseif ($input_error !=1) + } + else { - add_item_price($_POST['stock_id'], $_POST['sales_type_id'], + add_item_price($_POST['stock_id'], $_POST['sales_type_id'], $_POST['curr_abrev'], input_num('price')); - display_note(_("The new price has been added.")); + $msg = _("The new price has been added."); } - clear_data(); + display_notification($msg); + $Mode = 'RESET'; } } //------------------------------------------------------------------------------------------------------ -if (isset($_GET['delete'])) +if ($Mode == 'Delete') { - //the link to delete a selected record was clicked - delete_item_price($_GET['PriceID']); - echo _("The selected price has been deleted."); + delete_item_price($selected_id); + display_notification(_("The selected price has been deleted.")); + $Mode = 'RESET'; +} +if ($Mode == 'RESET') +{ + $selected_id = -1; } -//--------------------------------------------------------------------------------------------------- +if (list_updated('stock_id')) { + $Ajax->activate('price_table'); + $Ajax->activate('price_details'); +} +if (list_updated('stock_id') || isset($_POST['_curr_abrev_update']) || isset($_POST['_sales_type_id_update'])) { + // after change of stock, currency or salestype selector + // display default calculated price for new settings. + // If we have this price already in db it is overwritten later. + unset($_POST['price']); + $Ajax->activate('price_details'); +} -$mb_flag = get_mb_flag($_POST['stock_id']); +//--------------------------------------------------------------------------------------------------- $prices_list = get_prices($_POST['stock_id']); -start_table("$table_style width=30%"); +div_start('price_table'); +start_table(TABLESTYLE, "width='30%'"); $th = array(_("Currency"), _("Sales Type"), _("Price"), "", ""); table_header($th); $k = 0; //row colour counter - -while ($myrow = db_fetch($prices_list)) +$calculated = false; +while ($myrow = db_fetch($prices_list)) { alt_table_row_color($k); @@ -129,44 +160,55 @@ while ($myrow = db_fetch($prices_list)) label_cell($myrow["curr_abrev"]); label_cell($myrow["sales_type"]); amount_cell($myrow["price"]); - edit_link_cell("PriceID=" . $myrow["id"]. "&Edit=1"); - delete_link_cell("PriceID=" . $myrow["id"]. "&delete=yes"); + edit_button_cell("Edit".$myrow['id'], _("Edit")); + delete_button_cell("Delete".$myrow['id'], _("Delete")); end_row(); } end_table(); - -//------------------------------------------------------------------------------------------------ - -if (db_num_rows($prices_list) == 0) +if (db_num_rows($prices_list) == 0) { - display_note(_("There are no prices set up for this part.")); + if (get_company_pref('add_pct') != -1) + $calculated = true; + display_note(_("There are no prices set up for this part."), 1); } +div_end(); +//------------------------------------------------------------------------------------------------ echo "
"; -if (isset($_GET['Edit'])) +if ($Mode == 'Edit') { - $myrow = get_stock_price($_GET['PriceID']); - hidden('PriceID', $_GET['PriceID']); + $myrow = get_stock_price($selected_id); $_POST['curr_abrev'] = $myrow["curr_abrev"]; $_POST['sales_type_id'] = $myrow["sales_type_id"]; $_POST['price'] = price_format($myrow["price"]); } -start_table($table_style2); +hidden('selected_id', $selected_id); -currencies_list_row(_("Currency:"), 'curr_abrev', null); +div_start('price_details'); +start_table(TABLESTYLE2); -sales_types_list_row(_("Sales Type:"), 'sales_type_id', null); +currencies_list_row(_("Currency:"), 'curr_abrev', null, true); -small_amount_row(_("Price:"), 'price', null); +sales_types_list_row(_("Sales Type:"), 'sales_type_id', null, true); -end_table(1); +if (!isset($_POST['price'])) { + $_POST['price'] = price_format(get_kit_price(get_post('stock_id'), + get_post('curr_abrev'), get_post('sales_type_id'))); +} -submit_center('updatePrice', _("Add/Update Price")); +$kit = get_item_code_dflts($_POST['stock_id']); +$units = $kit ? $kit["units"] : ''; +small_amount_row(_("Price:"), 'price', null, '', _('per') .' '.$units); + +end_table(1); +if ($calculated) + display_note(_("The price is calculated."), 0, 1); +submit_add_or_update_center($selected_id == -1, '', 'both'); +div_end(); end_form(); end_page(); -?>