New files after 2.1RC merge
[fa-stable.git] / sales / manage / customers.php
index bf58e7616c0a00487b4af5f87941573ae057e8c8..ba7547565ae4eb8ff152d7ac267a9f0d4c0c76c1 100644 (file)
@@ -1,5 +1,14 @@
 <?php
-
+/**********************************************************************
+    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 = 3;
 $path_to_root="../..";
 
@@ -10,6 +19,10 @@ include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/banking.inc");
 include_once($path_to_root . "/includes/ui.inc");
 
+if (isset($_GET['debtor_no'])) 
+{
+       $_POST['customer_id'] = $_GET['debtor_no'];
+}
 $new_customer = (!isset($_POST['customer_id']) || $_POST['customer_id'] == ""); 
 //--------------------------------------------------------------------------------------------
 
@@ -18,24 +31,28 @@ function can_process()
        if (strlen($_POST['CustName']) == 0) 
        {
                display_error(_("The customer name cannot be empty."));
+               set_focus('CustName');
                return false;
        } 
        
        if (!check_num('credit_limit', 0))
        {
                display_error(_("The credit limit must be numeric and not less than zero."));
+               set_focus('credit_limit');
                return false;           
        } 
        
        if (!check_num('pymt_discount', 0, 100)) 
        {
                display_error(_("The payment discount must be numeric and is expected to be less than 100% and greater than or equal to 0."));
+               set_focus('pymt_discount');
                return false;           
        } 
        
        if (!check_num('discount', 0, 100)) 
        {
                display_error(_("The discount percentage must be numeric and is expected to be less than 100% and greater than or equal to 0."));
+               set_focus('discount');
                return false;           
        } 
 
@@ -78,7 +95,7 @@ function handle_submit()
                begin_transaction();
 
                $sql = "INSERT INTO ".TB_PREF."debtors_master (name, address, tax_id, email, dimension_id, dimension2_id,  
-                       curr_code, credit_status, payment_terms, discount, pymt_discount,credit_limit, 
+                       curr_code, credit_status, payment_terms, discount, pymt_discount,credit_limit,  
                        sales_type) VALUES (".db_escape($_POST['CustName']) .", " 
                        .db_escape($_POST['address']) . ", " . db_escape($_POST['tax_id']) . ","
                        .db_escape($_POST['email']) . ", ".db_escape($_POST['dimension_id']) . ", " 
@@ -97,15 +114,19 @@ function handle_submit()
                $Ajax->activate('_page_body');
        }
 }
-
 //--------------------------------------------------------------------------------------------
 
 if (isset($_POST['submit'])) 
 {
-       
        handle_submit();
 }
+//-------------------------------------------------------------------------------------------- 
 
+if (isset($_POST['select']))
+{
+       context_return(array('customer_id' => $_POST['customer_id'], 
+               'branch_id' => '')); // this fires customer history checks
+}
 //-------------------------------------------------------------------------------------------- 
 
 if (isset($_POST['delete'])) 
@@ -161,7 +182,6 @@ if (isset($_POST['delete']))
        } //end if Delete Customer
 }
 
-
 check_db_has_sales_types(_("There are no sales types defined. Please define at least one sales type before adding a customer."));
  
 start_form();
@@ -178,11 +198,9 @@ else
        hidden('customer_id');
 }
 
-start_table($table_style2, 7, 6);
-echo "<tr valign=top><td>"; // outer table     
+start_outer_table($table_style2, 5);
 
-
-start_table("class='tablestyle_noborder'");    
+table_section(1);
 
 if ($new_customer) 
 {
@@ -220,14 +238,15 @@ else
        $_POST['credit_limit']  = price_format($myrow["credit_limit"]);
 }
 
+table_section_title(_("Name and Address"));
+
 text_row(_("Customer Name:"), 'CustName', $_POST['CustName'], 40, 40);
 textarea_row(_("Address:"), 'address', $_POST['address'], 35, 5);
 
-text_row(_("Email:"), 'email', null, 40, 40);
+email_row(_("E-mail:"), 'email', null, 40, 40);
 text_row(_("GSTNo:"), 'tax_id', null, 40, 40);
 
 
-// Sherifoz 23.09.03 currency can't be changed if editing
 if ($new_customer) 
 {
        currencies_list_row(_("Customer's Currency:"), 'curr_code', $_POST['curr_code']);
@@ -237,13 +256,18 @@ else
        label_row(_("Customer's Currency:"), $_POST['curr_code']);
        hidden('curr_code', $_POST['curr_code']);                               
 }      
-end_table();
 
-echo "</td><td class='tableseparator'>"; // outer table
+table_section(2);
 
-start_table("class='tablestyle_noborder'");    
+table_section_title(_("Sales"));
 
 sales_types_list_row(_("Sales Type/Price List:"), 'sales_type', $_POST['sales_type']);
+percent_row(_("Discount Percent:"), 'discount', $_POST['discount']);
+percent_row(_("Prompt Payment Discount Percent:"), 'pymt_discount', $_POST['pymt_discount']);
+amount_row(_("Credit Limit:"), 'credit_limit', $_POST['credit_limit']);
+
+payment_terms_list_row(_("Payment Terms:"), 'payment_terms', $_POST['payment_terms']);
+credit_status_list_row(_("Credit Status:"), 'credit_status', $_POST['credit_status']); 
 $dim = get_company_pref('use_dimension');
 if ($dim >= 1)
        dimensions_list_row(_("Dimension")." 1:", 'dimension_id', $_POST['dimension_id'], true, " ", false, 1);
@@ -254,21 +278,17 @@ if ($dim < 1)
 if ($dim < 2)
        hidden('dimension2_id', 0);
 
-percent_row(_("Discount Percent:"), 'discount', $_POST['discount']);
-percent_row(_("Prompt Payment Discount Percent:"), 'pymt_discount', $_POST['pymt_discount']);
-amount_row(_("Credit Limit:"), 'credit_limit', $_POST['credit_limit']);
-
-payment_terms_list_row(_("Payment Terms:"), 'payment_terms', $_POST['payment_terms']);
-credit_status_list_row(_("Credit Status:"), 'credit_status', $_POST['credit_status']); 
 if (!$new_customer)  {
-start_row();
- echo '<td>'._('Customer branches').':</td>';
-  hyperlink_params_td($path_to_root . "/sales/manage/customer_branches.php",'<b>'. _("Add or Edit").'</b>', "debtor_no=".$_POST['customer_id']);
-end_row();
+       start_row();
+       echo '<td>'._('Customer branches').':</td>';
+       hyperlink_params_td($path_to_root . "/sales/manage/customer_branches.php",
+               '<b>'. (count($_SESSION['Context']) ?  _("Select or &Add") : _("&Add or Edit ")).'</b>', 
+               "debtor_no=".$_POST['customer_id']);
+       end_row();
 }
-end_table();
 
-end_table(1); // outer table   
+end_outer_table(1);
+
 div_start('controls');
 if ($new_customer)
 {
@@ -278,6 +298,7 @@ else
 {
        submit_center_first('submit', _("Update Customer"), 
          _('Update customer data'), true);
+       submit_return('select', _("Return"), _("Select this customer and return to document entry."), true);
        submit_center_last('delete', _("Delete Customer"), 
          _('Delete customer data if have been never used'), true);
 }