Fixed handling extended journal entries in various places.
[fa-stable.git] / admin / gl_setup.php
index 26309baa2a8cef38189f1f909eb5d64a59cbb079..cb53aba93376fb9fc89bc688342c7fe291d9b0cf 100644 (file)
@@ -47,7 +47,10 @@ function can_process()
        }
 
        $grn_act = get_company_pref('grn_clearing_act');
-       if ((get_post('grn_clearing_act') != $grn_act) && db_num_rows(get_grn_items(0, '', true)))
+       $post_grn_act = get_post('grn_clearing_act');
+       if ($post_grn_act == null)
+               $post_grn_act = 0;
+       if (($post_grn_act != $grn_act) && db_num_rows(get_grn_items(0, '', true)))
        {
                display_error(_("Before GRN Clearing Account can be changed all GRNs have to be invoiced"));
                $_POST['grn_clearing_act'] = $grn_act;
@@ -67,12 +70,14 @@ function can_process()
 if (isset($_POST['submit']) && can_process())
 {
        update_company_prefs( get_post( array( 'retained_earnings_act', 'profit_loss_year_act',
-               'debtors_act', 'pyt_discount_act', 'creditors_act', 'freight_act',
+               'debtors_act', 'pyt_discount_act', 'creditors_act', 'freight_act', 'deferred_income_act',
                'exchange_diff_act', 'bank_charge_act', 'default_sales_act', 'default_sales_discount_act',
                'default_prompt_payment_act', 'default_inventory_act', 'default_cogs_act',
                'default_adj_act', 'default_inv_sales_act', 'default_assembly_act', 'legal_text',
-               'past_due_days', 'default_workorder_required', 'default_dim_required',
-               'default_delivery_required', 'grn_clearing_act',
+               'past_due_days', 'default_workorder_required', 'default_dim_required', 'default_receival_required',
+               'default_delivery_required', 'default_quote_valid_days', 'grn_clearing_act', 'tax_algorithm',
+               'no_zero_lines_amount', 'show_po_item_codes', 'accounts_alpha', 'loc_notification', 'print_invoice_no',
+               'allow_negative_prices', 'print_item_images_on_quote', 
                'allow_negative_stock'=> 0, 'accumulate_shipping'=> 0,
                'po_over_receive' => 0.0, 'po_over_charge' => 0.0, 'default_credit_limit'=>0.0
 )));
@@ -93,6 +98,50 @@ if (get_company_pref('grn_clearing_act') === null) { // available from 2.3.1, ca
        set_company_pref('grn_clearing_act', 'glsetup.purchase', 'varchar', 15, 0);
        refresh_sys_prefs();
 }
+if (get_company_pref('default_receival_required') === null) { // new in 2.4 installations
+       set_company_pref('default_receival_required', 'glsetup.purchase', 'smallint', 6, '10');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('default_quote_valid_days') === null) { // available from 2.3.23, can be not defined on pre-2.4 installations
+       set_company_pref('default_quote_valid_days', 'glsetup.sales', 'smallint', 6, 30);
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('no_zero_lines_amount') === null) { // new in 2.4 installations
+       set_company_pref('no_zero_lines_amount', 'glsetup.sales', 'tinyint', 1, '1');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('show_po_item_codes') === null) { // new in 2.4 installations
+       set_company_pref('show_po_item_codes', 'glsetup.purchase', 'tinyint', 1, '0');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('accounts_alpha') === null) { // new in 2.4 installations
+       set_company_pref('accounts_alpha', 'glsetup.general', 'tinyint', 1, '0');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('loc_notification') === null) { // new in 2.4 installations
+       set_company_pref('loc_notification', 'glsetup.inventory', 'tinyint', 1, '0');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('print_invoice_no') === null) { // new in 2.4 installations
+       set_company_pref('print_invoice_no', 'glsetup.sales', 'tinyint', 1, '0');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('allow_negative_prices') === null) { // new in 2.4 installations
+       set_company_pref('allow_negative_prices', 'glsetup.inventory', 'tinyint', 1, '1');
+       refresh_sys_prefs();
+}
+
+if (get_company_pref('print_item_images_on_quote') === null) { // new in 2.4 installations
+       set_company_pref('print_item_images_on_quote', 'glsetup.inventory', 'tinyint', 1, '0');
+       refresh_sys_prefs();
+}
 
 $myrow = get_company_prefs();
 
@@ -101,10 +150,12 @@ $_POST['profit_loss_year_act']  = $myrow["profit_loss_year_act"];
 $_POST['debtors_act']  = $myrow["debtors_act"];
 $_POST['creditors_act']  = $myrow["creditors_act"];
 $_POST['freight_act'] = $myrow["freight_act"];
+$_POST['deferred_income_act'] = $myrow["deferred_income_act"];
 $_POST['pyt_discount_act']  = $myrow["pyt_discount_act"];
 
 $_POST['exchange_diff_act'] = $myrow["exchange_diff_act"];
 $_POST['bank_charge_act'] = $myrow["bank_charge_act"];
+$_POST['tax_algorithm'] = $myrow["tax_algorithm"];
 $_POST['default_sales_act'] = $myrow["default_sales_act"];
 $_POST['default_sales_discount_act']  = $myrow["default_sales_discount_act"];
 $_POST['default_prompt_payment_act']  = $myrow["default_prompt_payment_act"];
@@ -130,6 +181,15 @@ $_POST['accumulate_shipping'] = $myrow['accumulate_shipping'];
 $_POST['default_workorder_required'] = $myrow['default_workorder_required'];
 $_POST['default_dim_required'] = $myrow['default_dim_required'];
 $_POST['default_delivery_required'] = $myrow['default_delivery_required'];
+$_POST['default_receival_required'] = $myrow['default_receival_required'];
+$_POST['default_quote_valid_days'] = $myrow['default_quote_valid_days'];
+$_POST['no_zero_lines_amount'] = $myrow['no_zero_lines_amount'];
+$_POST['show_po_item_codes'] = $myrow['show_po_item_codes'];
+$_POST['accounts_alpha'] = $myrow['accounts_alpha'];
+$_POST['loc_notification'] = $myrow['loc_notification'];
+$_POST['print_invoice_no'] = $myrow['print_invoice_no'];
+$_POST['allow_negative_prices'] = $myrow['allow_negative_prices'];
+$_POST['print_item_images_on_quote'] = $myrow['print_item_images_on_quote'];
 
 //---------------
 
@@ -138,6 +198,8 @@ table_section_title(_("General GL"));
 
 text_row(_("Past Due Days Interval:"), 'past_due_days', $_POST['past_due_days'], 6, 6, '', "", _("days"));
 
+accounts_type_list_row(_("Accounts Type:"), 'accounts_alpha', $_POST['accounts_alpha']); 
+
 gl_all_accounts_list_row(_("Retained Earnings:"), 'retained_earnings_act', $_POST['retained_earnings_act']);
 
 gl_all_accounts_list_row(_("Profit/Loss Year:"), 'profit_loss_year_act', $_POST['profit_loss_year_act']);
@@ -146,18 +208,27 @@ gl_all_accounts_list_row(_("Exchange Variances Account:"), 'exchange_diff_act',
 
 gl_all_accounts_list_row(_("Bank Charges Account:"), 'bank_charge_act', $_POST['bank_charge_act']);
 
+tax_algorithm_list_row(_("Tax Algorithm:"), 'tax_algorithm', $_POST['tax_algorithm']);
+
 //---------------
 
 table_section_title(_("Customers and Sales"));
 
 text_row(_("Default Credit Limit:"), 'default_credit_limit', $_POST['default_credit_limit'], 12, 12);
 
+yesno_list_row(_("Invoice Identification:"), 'print_invoice_no', $_POST['print_invoice_no'], $name_yes=_("Number"), $name_no=_("Reference"));
+
 check_row(_("Accumulate batch shipping:"), 'accumulate_shipping', null);
 
-textarea_row(_("Legal Text on Invoice:"), 'legal_text', $_POST['legal_text'], 32, 3);
+check_row(_("Print Item Image on Quote:"), 'print_item_images_on_quote', null);
+
+textarea_row(_("Legal Text on Invoice:"), 'legal_text', $_POST['legal_text'], 32, 4);
 
 gl_all_accounts_list_row(_("Shipping Charged Account:"), 'freight_act', $_POST['freight_act']);
 
+gl_all_accounts_list_row(_("Deferred Income Account:"), 'deferred_income_act', $_POST['deferred_income_act'], true, false,
+       _("Not used"), false, false, false);
+
 //---------------
 
 table_section_title(_("Customers and Sales Defaults"));
@@ -171,16 +242,19 @@ gl_all_accounts_list_row(_("Sales Discount Account:"), 'default_sales_discount_a
 
 gl_all_accounts_list_row(_("Prompt Payment Discount Account:"), 'default_prompt_payment_act');
 
+text_row(_("Quote Valid Days:"), 'default_quote_valid_days', $_POST['default_quote_valid_days'], 6, 6, '', "", _("days"));
+
 text_row(_("Delivery Required By:"), 'default_delivery_required', $_POST['default_delivery_required'], 6, 6, '', "", _("days"));
 
-//----------------
+//---------------
 
 table_section(2);
 
 table_section_title(_("Dimension Defaults"));
 
 text_row(_("Dimension Required By After:"), 'default_dim_required', $_POST['default_dim_required'], 6, 6, '', "", _("days"));
-//---------------
+
+//----------------
 
 table_section_title(_("Suppliers and Purchasing"));
 
@@ -196,11 +270,21 @@ gl_all_accounts_list_row(_("Purchase Discount Account:"), 'pyt_discount_act', $_
 
 gl_all_accounts_list_row(_("GRN Clearing Account:"), 'grn_clearing_act', get_post('grn_clearing_act'), true, false, _("No postings on GRN"));
 
+text_row(_("Receival Required By:"), 'default_receival_required', $_POST['default_receival_required'], 6, 6, '', "", _("days"));
+
+check_row(_("Show PO item codes:"), 'show_po_item_codes', null);
+
 table_section_title(_("Inventory"));
 
 check_row(_("Allow Negative Inventory:"), 'allow_negative_stock', null);
 label_row(null, _("Warning:  This may cause a delay in GL postings"), "", "class='stockmankofg' colspan=2"); 
 
+check_row(_("No zero-amounts (Service):"), 'no_zero_lines_amount', null);
+
+check_row(_("Location Notifications:"), 'loc_notification', null);
+
+check_row(_("Allow Negative Prices:"), 'allow_negative_prices', null);
+
 table_section_title(_("Items Defaults"));
 gl_all_accounts_list_row(_("Sales Account:"), 'default_inv_sales_act', $_POST['default_inv_sales_act']);
 
@@ -218,7 +302,6 @@ table_section_title(_("Manufacturing Defaults"));
 
 text_row(_("Work Order Required By After:"), 'default_workorder_required', $_POST['default_workorder_required'], 6, 6, '', "", _("days"));
 
-
 //----------------
 
 end_outer_table(1);
@@ -231,4 +314,3 @@ end_form(2);
 
 end_page();
 
-?>