Feature 5388: Print Invoices (documents) list gets too long. Fixed by default 180...
[fa-stable.git] / admin / company_preferences.php
index 9407f15c5458d7024297a90713b3c74edc273867..5965d7a69ea29cfa5c68821b88c8d848d74f27ff 100644 (file)
@@ -19,6 +19,7 @@ include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
 
 include_once($path_to_root . "/admin/db/company_db.inc");
+include_once($path_to_root . "/reporting/includes/tcpdf.php");
 //-------------------------------------------------------------------------------------------------
 
 if (isset($_POST['update']) && $_POST['update'] != "")
@@ -36,6 +37,36 @@ if (isset($_POST['update']) && $_POST['update'] != "")
                display_error(_("The company name must be entered."));
                set_focus('coy_name');
        }
+       if (!check_num('tax_prd', 1))
+       {
+               display_error(_("Tax Periods must be positive number."));
+               set_focus('tax_prd');
+               $input_error = 1;
+       }
+       if (!check_num('tax_last', 1))
+       {
+               display_error(_("Tax Last Periods must be positive number."));
+               set_focus('tax_last');
+               $input_error = 1;
+       }
+       if (!check_num('round_to', 1))
+       {
+               display_error(_("Round Calculated field must be a positive number."));
+               set_focus('round_to');
+               $input_error = 1;
+       }
+       if (!check_num('max_days_in_docs', 1))
+       {
+               display_error(_("Max day range in Documents must be a positive number."));
+               set_focus('max_days_in_docs');
+               $input_error = 1;
+       }
+       if ($_POST['add_pct'] != "" && !is_numeric($_POST['add_pct']))
+       {
+               display_error(_("Add Price from Std Cost field must be number."));
+               set_focus('add_pct');
+               $input_error = 1;
+       }       
        if (isset($_FILES['pic']) && $_FILES['pic']['name'] != '')
        {
     if ($_FILES['pic']['error'] == UPLOAD_ERR_INI_SIZE) {
@@ -80,12 +111,20 @@ if (isset($_POST['update']) && $_POST['update'] != "")
                        }
                }
 
-               if ($input_error != 1)
-               {
+               if ($input_error != 1) {
                        $result  =  move_uploaded_file($_FILES['pic']['tmp_name'], $filename);
                        $_POST['coy_logo'] = clean_file_name($_FILES['pic']['name']);
-                       if(!$result) 
+                       if(!$result) {
                                display_error(_('Error uploading logo file'));
+                               $input_error = 1;
+                       } else {
+                               $msg = check_image_file($filename);
+                               if ( $msg) {
+                                       display_error( $msg);
+                                       unlink($filename);
+                                       $input_error = 1;
+                               }
+                       }
                }
        }
        if (check_value('del_coy_logo'))
@@ -112,18 +151,18 @@ if (isset($_POST['update']) && $_POST['update'] != "")
                        get_post( array('coy_name','coy_no','gst_no','tax_prd','tax_last',
                                'postal_address','phone', 'fax', 'email', 'coy_logo', 'domicile',
                                'use_dimension', 'curr_default', 'f_year', 'shortname_name_in_list',
-                               'no_item_list' => 0, 'no_customer_list' => 0, 
-                               'no_supplier_list' =>0, 'base_sales', 'ref_no_auto_increase' => 0,
-                               'time_zone' => 0, 'company_logo_report' => 0, 'barcodes_on_stock' => 0, 'add_pct', 'round_to', 'login_tout'
-                               'auto_curr_reval', 'bcc_email', 'alternative_tax_include_on_docs', 'suppress_tax_rates',
-                               'use_manufacturing', 'use_fixed_assets'))
+                               'no_item_list' => 0, 'no_customer_list' => 0, 'no_supplier_list' => 0, 
+                               'base_sales', 'ref_no_auto_increase' => 0, 'dim_on_recurrent_invoice' => 0, 'long_description_invoice' => 0, 'max_days_in_docs' => 180,
+                               'time_zone' => 0, 'company_logo_report' => 0, 'barcodes_on_stock' => 0, 'print_dialog_direct' => 0
+                               'add_pct', 'round_to', 'login_tout', 'auto_curr_reval', 'bcc_email', 'alternative_tax_include_on_docs', 
+                               'suppress_tax_rates', 'use_manufacturing', 'use_fixed_assets'))
                );
 
                $_SESSION['wa_current_user']->timeout = $_POST['login_tout'];
                display_notification_centered(_("Company setup has been updated."));
+               set_focus('coy_name');
+               $Ajax->activate('_page_body');
        }
-       set_focus('coy_name');
-       $Ajax->activate('_page_body');
 } /* end of if submit */
 
 start_form(true);
@@ -155,6 +194,12 @@ $_POST['no_supplier_list']  = $myrow["no_supplier_list"];
 $_POST['curr_default']  = $myrow["curr_default"];
 $_POST['f_year']  = $myrow["f_year"];
 $_POST['time_zone']  = $myrow["time_zone"];
+if (!isset($myrow["max_days_in_docs"]))
+{
+       set_company_pref("max_days_in_docs", "setup.company", "smallint", 5, '180');
+       $myrow["max_days_in_docs"] = get_company_pref("max_days_in_docs");
+}
+$_POST['max_days_in_docs']  = $myrow["max_days_in_docs"];
 if (!isset($myrow["company_logo_report"]))
 {
        set_company_pref("company_logo_report", "setup.company", "tinyint", 1, '0');
@@ -173,6 +218,24 @@ if (!isset($myrow["barcodes_on_stock"]))
        $myrow["barcodes_on_stock"] = get_company_pref("barcodes_on_stock");
 }
 $_POST['barcodes_on_stock']  = $myrow["barcodes_on_stock"];
+if (!isset($myrow["print_dialog_direct"]))
+{
+       set_company_pref("print_dialog_direct", "setup.company", "tinyint", 1, '0');
+       $myrow["print_dialog_direct"] = get_company_pref("print_dialog_direct");
+}
+$_POST['print_dialog_direct']  = $myrow["print_dialog_direct"];
+if (!isset($myrow["dim_on_recurrent_invoice"]))
+{
+       set_company_pref("dim_on_recurrent_invoice", "setup.company", "tinyint", 1, '0');
+       $myrow["dim_on_recurrent_invoice"] = get_company_pref("dim_on_recurrent_invoice");
+}
+$_POST['dim_on_recurrent_invoice']  = $myrow["dim_on_recurrent_invoice"];
+if (!isset($myrow["long_description_invoice"]))
+{
+       set_company_pref("long_description_invoice", "setup.company", "tinyint", 1, '0');
+       $myrow["long_description_invoice"] = get_company_pref("long_description_invoice");
+}
+$_POST['long_description_invoice']  = $myrow["long_description_invoice"];
 $_POST['version_id']  = $myrow["version_id"];
 $_POST['add_pct'] = $myrow['add_pct'];
 $_POST['login_tout'] = $myrow['login_tout'];
@@ -210,11 +273,12 @@ label_row(_("Company Logo:"), $_POST['coy_logo']);
 file_row(_("New Company Logo (.jpg)") . ":", 'pic', 'pic');
 check_row(_("Delete Company Logo:"), 'del_coy_logo', $_POST['del_coy_logo']);
 
-check_row(_("Automatic Revaluation Currency Accounts"), 'auto_curr_reval', $_POST['auto_curr_reval']);
 check_row(_("Time Zone on Reports"), 'time_zone', $_POST['time_zone']);
 check_row(_("Company Logo on Reports"), 'company_logo_report', $_POST['company_logo_report']);
 check_row(_("Use Barcodes on Stocks"), 'barcodes_on_stock', $_POST['barcodes_on_stock']);
 check_row(_("Auto Increase of Document References"), 'ref_no_auto_increase', $_POST['ref_no_auto_increase']);
+check_row(_("Use Dimensions on Recurrent Invoices"), 'dim_on_recurrent_invoice', $_POST['dim_on_recurrent_invoice']);
+check_row(_("Use Long Descriptions on Invoices"), 'long_description_invoice', $_POST['long_description_invoice']);
 label_row(_("Database Scheme Version"), $_POST['version_id']);
 
 table_section(2);
@@ -225,6 +289,7 @@ text_row_ex(_("Tax Periods:"), 'tax_prd', 10, 10, '', null, null, _('Months.'));
 text_row_ex(_("Tax Last Period:"), 'tax_last', 10, 10, '', null, null, _('Months back.'));
 check_row(_("Put alternative Tax Include on Docs"), 'alternative_tax_include_on_docs', null);
 check_row(_("Suppress Tax Rates on Docs"), 'suppress_tax_rates', null);
+check_row(_("Automatic Revaluation Currency Accounts"), 'auto_curr_reval', $_POST['auto_curr_reval']);
 
 table_section_title(_("Sales Pricing"));
 sales_types_list_row(_("Base for auto price calculations:"), 'base_sales', $_POST['base_sales'], false,
@@ -244,10 +309,12 @@ number_list_row(_("Use Dimensions:"), 'use_dimension', null, 0, 2);
 table_section_title(_("User Interface Options"));
 
 check_row(_("Short Name and Name in List"), 'shortname_name_in_list', $_POST['shortname_name_in_list']);
+check_row(_("Open Print Dialog Direct on Reports"), 'print_dialog_direct', null);
 check_row(_("Search Item List"), 'no_item_list', null);
 check_row(_("Search Customer List"), 'no_customer_list', null);
 check_row(_("Search Supplier List"), 'no_supplier_list', null);
 text_row_ex(_("Login Timeout:"), 'login_tout', 10, 10, '', null, null, _('seconds'));
+text_row_ex(_("Max day range in documents"), 'max_days_in_docs', 10, 10, '', null, null, _('days.'));
 
 end_outer_table(1);