<?php
/**********************************************************************
Copyright (C) FrontAccounting, LLC.
- Released under the terms of the GNU Affero General Public License,
- AGPL, as published by the Free Software Foundation, either version
- 3 of the License, or (at your option) any later version.
+ 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/agpl-3.0.html>.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
-$page_security = 2;
-$path_to_root="..";
-include_once($path_to_root . "/includes/session.inc");
+$page_security = 'SA_SALESPRICE';
-page(_("Inventory Item Sales prices"));
+if (@$_GET['page_level'] == 1)
+ $path_to_root = "../..";
+else
+ $path_to_root = "..";
+include_once($path_to_root . "/includes/session.inc");
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."));
}
//---------------------------------------------------------------------------------------------------
-
-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 "<center>" . _("Item:"). " ";
-sales_items_list('stock_id', $_POST['stock_id'], false, true);
-echo "<hr></center>";
-
+if (!$page_nested)
+{
+ echo "<center>" . _("Item:"). " ";
+ echo sales_items_list('stock_id', $_POST['stock_id'], false, true, '', array('editable' => false));
+ echo "<hr></center>";
+}
+else
+ br(2);
set_global_stock_item($_POST['stock_id']);
//----------------------------------------------------------------------------------------------------
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)
{
$Ajax->activate('price_table');
$Ajax->activate('price_details');
}
-if (list_updated('stock_id') || isset($_POST['_curr_abrev_update']) ) {
+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.
- $_POST['price'] = price_format(get_kit_price(get_post('stock_id'),
- get_post('curr_abrev'), get_post('sales_type_id')));
+ unset($_POST['price']);
$Ajax->activate('price_details');
}
-//---------------------------------------------------------------------------------------------------
-$mb_flag = get_mb_flag($_POST['stock_id']);
+//---------------------------------------------------------------------------------------------------
$prices_list = get_prices($_POST['stock_id']);
div_start('price_table');
-start_table("$table_style width=30%");
+start_table(TABLESTYLE, "width='30%'");
$th = array(_("Currency"), _("Sales Type"), _("Price"), "", "");
table_header($th);
$k = 0; //row colour counter
-
+$calculated = false;
while ($myrow = db_fetch($prices_list))
{
end_table();
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();
//------------------------------------------------------------------------------------------------
}
hidden('selected_id', $selected_id);
+
div_start('price_details');
-start_table($table_style2);
+start_table(TABLESTYLE2);
currencies_list_row(_("Currency:"), 'curr_abrev', null, true);
sales_types_list_row(_("Sales Type:"), 'sales_type_id', null, true);
-small_amount_row(_("Price:"), 'price', null);
+if (!isset($_POST['price'])) {
+ $_POST['price'] = price_format(get_kit_price(get_post('stock_id'),
+ get_post('curr_abrev'), get_post('sales_type_id')));
+}
+
+$kit = get_item_code_dflts($_POST['stock_id']);
+small_amount_row(_("Price:"), 'price', null, '', _('per') .' '.$kit["units"]);
end_table(1);
+if ($calculated)
+ display_note(_("The price is calculated."), 0, 1);
-submit_add_or_update_center($selected_id == -1, '', true);
+submit_add_or_update_center($selected_id == -1, '', 'both');
div_end();
end_form();
end_page();
-?>