Merged changes form main trunk up to 2.2.4
[fa-stable.git] / sales / manage / sales_points.php
index dbee5c8225a8997901206cf7867c032f658f8a3a..4ac759007760855bc4ee0b3280546b2d93f61394 100644 (file)
@@ -1,10 +1,19 @@
 <?php
-
-$page_security = 15;
-$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_POSSETUP';
+$path_to_root = "../..";
 include_once($path_to_root . "/includes/session.inc");
 
-page(_("Sales Types"));
+page(_($help_context = "POS settings"));
 
 include_once($path_to_root . "/includes/ui.inc");
 include_once($path_to_root . "/sales/includes/db/sales_points_db.inc");
@@ -55,25 +64,33 @@ if ($Mode=='UPDATE_ITEM' && can_process())
 
 if ($Mode == 'Delete')
 {
-       delete_sales_point($selected_id);
-       display_notification(_('Selected point of sale has been deleted'));
-       $Mode = 'RESET';
+       if (key_in_foreign_table($selected_id, 'users', 'pos'))
+       {
+               display_error(_("Cannot delete this POS because it is used in users setup."));
+       } else {
+               delete_sales_point($selected_id);
+               display_notification(_('Selected point of sale has been deleted'));
+               $Mode = 'RESET';
+       }
 }
 
 if ($Mode == 'RESET')
 {
        $selected_id = -1;
+       $sav = get_post('show_inactive');
        unset($_POST);
+       $_POST['show_inactive'] = $sav;
 }
 //----------------------------------------------------------------------------------------------------
 
-$result = get_all_sales_points();
+$result = get_all_sales_points(check_value('show_inactive'));
 
 start_form();
 start_table("$table_style");
 
 $th = array (_('POS Name'), _('Credit sale'), _('Cash sale'), _('Location'), _('Default account'), 
         '','');
+inactive_control_column($th);
 table_header($th);
 $k = 0;
 
@@ -85,19 +102,21 @@ while ($myrow = db_fetch($result))
        label_cell($myrow['cash_sale'] ? _('Yes') : _('No'));
        label_cell($myrow["location_name"], "");
        label_cell($myrow["bank_account_name"], "");
+       inactive_control_cell($myrow["id"], $myrow["inactive"], "sales_pos", 'id');
        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();
-end_form();
-echo '<br>';
+inactive_control_row($th);
+end_table(1);
 //----------------------------------------------------------------------------------------------------
 
-start_form();
+$cash = db_has_cash_accounts();
+
+if (!$cash) display_note(_("To have cash POS first define at least one cash bank account."));
 
-start_table("$table_style2 width=30%");
+start_table($table_style2);
 
 if ($selected_id != -1)
 {
@@ -115,14 +134,19 @@ if ($selected_id != -1)
 } 
 
 text_row_ex(_("Point of Sale Name").':', 'name', 20, 30);
-check_row(_('Allowed credit sale'), 'credit', check_value('credit_sale'));
-check_row(_('Allowed cash sale'), 'cash',  check_value('cash_sale'));
-locations_list_row(_("POS location").':', 'location');
-cash_accounts_list_row(_("Default cash account").':', 'account');
+if($cash) {
+       check_row(_('Allowed credit sale'), 'credit', check_value('credit_sale'));
+       check_row(_('Allowed cash sale'), 'cash',  check_value('cash_sale'));
+       cash_accounts_list_row(_("Default cash account").':', 'account');
+} else {
+       hidden('credit', 1);
+       hidden('account', 0);
+}
 
+locations_list_row(_("POS location").':', 'location');
 end_table(1);
 
-submit_add_or_update_center($selected_id == -1, '', true);
+submit_add_or_update_center($selected_id == -1, '', 'both');
 
 end_form();