Update from usntable branch.
[fa-stable.git] / inventory / prices.php
index 5a3238ff3ef5d34af064a4993db25dcd9d09c1db..40dd11f793dab99bfd143c79d95e6d145659c5b0 100644 (file)
@@ -1,10 +1,19 @@
 <?php
-
-$page_security = 2;
-$path_to_root="..";
+/**********************************************************************
+    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 = 'SA_SALESPRICE';
+$path_to_root = "..";
 include_once($path_to_root . "/includes/session.inc");
 
-page(_("Inventory Item Sales prices"));
+page(_($help_context = "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");
@@ -39,13 +48,13 @@ if (!isset($_POST['curr_abrev']))
 
 //---------------------------------------------------------------------------------------------------
 
-start_form(false, true);
+start_form();
 
 if (!isset($_POST['stock_id']))
        $_POST['stock_id'] = get_global_stock_item();
 
 echo "<center>" . _("Item:"). "&nbsp;";
-stock_items_list('stock_id', $_POST['stock_id'], false, true);
+echo sales_items_list('stock_id', $_POST['stock_id'], false, true);
 echo "<hr></center>";
 
 set_global_stock_item($_POST['stock_id']);
@@ -102,22 +111,19 @@ if ($Mode == 'RESET')
        $selected_id = -1;
 }
 
-if (isset($_POST['_stock_id_update'])) {
+if (list_updated('stock_id')) {
        $Ajax->activate('price_table');
        $Ajax->activate('price_details');
 }
-if (isset($_POST['_stock_id_update']) || isset($_POST['_sales_type_id_update'])
-        || 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_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']);
 
@@ -127,7 +133,7 @@ start_table("$table_style width=30%");
 $th = array(_("Currency"), _("Sales Type"), _("Price"), "", "");
 table_header($th);
 $k = 0; //row colour counter
-
+$calculated = false;
 while ($myrow = db_fetch($prices_list))
 {
 
@@ -137,14 +143,16 @@ while ($myrow = db_fetch($prices_list))
     label_cell($myrow["sales_type"]);
     amount_cell($myrow["price"]);
        edit_button_cell("Edit".$myrow['id'], _("Edit"));
-       edit_button_cell("Delete".$myrow['id'], _("Delete"));
+       delete_button_cell("Delete".$myrow['id'], _("Delete"));
     end_row();
 
 }
 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();
 //------------------------------------------------------------------------------------------------
@@ -167,11 +175,19 @@ 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();