Merged changes from mai trunk up to 2.3.1
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 4 Jan 2011 17:32:44 +0000 (17:32 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 4 Jan 2011 17:32:44 +0000 (17:32 +0000)
77 files changed:
CHANGELOG.txt
admin/create_coy.php
admin/db/company_db.inc
admin/db/transactions_db.inc
admin/gl_setup.php
admin/void_transaction.php
applications/application.php
applications/customers.php
applications/dimensions.php
applications/generalledger.php
applications/inventory.php
applications/manufacturing.php
applications/setup.php
applications/suppliers.php
config.default.php
gl/bank_transfer.php
gl/gl_bank.php
gl/includes/db/gl_db_bank_accounts.inc
gl/includes/db/gl_db_trans.inc
gl/inquiry/balance_sheet.php
gl/inquiry/profit_loss.php
gl/manage/gl_quick_entries.php
includes/date_functions.inc
includes/db/inventory_db.inc
includes/errors.inc
includes/hooks.inc
includes/lang/gettext.php
includes/packages.inc
includes/session.inc
includes/ui/items_cart.inc
includes/ui/ui_lists.inc
install/index.php
install/isession.inc
js/reconcile.js
lang/new_language_template/LC_MESSAGES/empty.po
purchasing/includes/db/grn_db.inc
purchasing/includes/db/invoice_db.inc
purchasing/includes/db/po_db.inc
purchasing/includes/po_class.inc
purchasing/includes/ui/invoice_ui.inc
purchasing/includes/ui/po_ui.inc
purchasing/po_entry_items.php
purchasing/po_receive_items.php
purchasing/supplier_payment.php
reporting/includes/pdf_report.inc
sales/includes/db/cust_trans_db.inc
sales/sales_order_entry.php
sql/en_US-demo.sql
sql/en_US-new.sql
themes/aqua/images/menu_entry.png [new file with mode: 0644]
themes/aqua/images/menu_inquiry.png [new file with mode: 0644]
themes/aqua/images/menu_maintenance.png [new file with mode: 0644]
themes/aqua/images/menu_report.png [new file with mode: 0644]
themes/aqua/images/menu_settings.png [new file with mode: 0644]
themes/aqua/images/menu_system.png [new file with mode: 0644]
themes/aqua/images/menu_transaction.png [new file with mode: 0644]
themes/aqua/images/menu_update.png [new file with mode: 0644]
themes/aqua/renderer.php
themes/cool/images/menu_entry.png [new file with mode: 0644]
themes/cool/images/menu_inquiry.png [new file with mode: 0644]
themes/cool/images/menu_maintenance.png [new file with mode: 0644]
themes/cool/images/menu_report.png [new file with mode: 0644]
themes/cool/images/menu_settings.png [new file with mode: 0644]
themes/cool/images/menu_system.png [new file with mode: 0644]
themes/cool/images/menu_transaction.png [new file with mode: 0644]
themes/cool/images/menu_update.png [new file with mode: 0644]
themes/cool/renderer.php
themes/default/images/menu_entry.png [new file with mode: 0644]
themes/default/images/menu_inquiry.png [new file with mode: 0644]
themes/default/images/menu_maintenance.png [new file with mode: 0644]
themes/default/images/menu_report.png [new file with mode: 0644]
themes/default/images/menu_settings.png [new file with mode: 0644]
themes/default/images/menu_system.png [new file with mode: 0644]
themes/default/images/menu_transaction.png [new file with mode: 0644]
themes/default/images/menu_update.png [new file with mode: 0644]
themes/default/renderer.php
version.php

index 289f7348ae0a17903cb221132599861824bb3a5f..8ccd564a85c2de5e27d67c80952d9b3ea6bf60a1 100644 (file)
@@ -19,7 +19,162 @@ Legend:
 ! -> Note
 $ -> Affected files
 
-------------------------------- Release 2.3 ------------------------------------
+04-Jan-2011 Merged main trunk up to 2.3.1
+------------------------------- Release 2.3.1 ------------------------------------
+04-Jan-2011 Joe Hunt
+! Release 2.3.1
+$ version.php
+  /lang/new_language_template/LC_MESSAGES/empty.po
+
+04-Jan-2011 Janusz Dobrowolski
+! Database host name up to 60 chars allowed.
+$ /admin/create_coy.php
+  /install/index.php
+
+31-Dec-2010 Joe Hunt
+# Fixed bug in earlier invoice_db (GRN Provision should have only one row)
+  Only GRN Clearring on stock items.
+$ /purchasing/includes/db/grn_db.inc
+  /purchasing/includes/db/invoice_db.inc
+! Changed so supplier credit note items shows the invoice price/not grn price
+$ /purchasing/includes/db/grn_db.inc
+  /invoice_ui.inc
++ Added link for viewing GL Delivery if clearing account
+$ /purchasing/po_receive_items.php
+  /purchasing/po_entry_items.php
+# Bug. $n undefined in /admin/gl_setup.php
+$ /admin/gl_setup.php
+! Added GL trans on Removal GRN items (Supp Invoice) if GRN Clearing
+$ /purchasing/includes/db/invoice_db.inc
+  
+30-Dec-2010 Janusz Dobrowolski
++ Added option for using GRN Clearing Account for yet non invoiced GRNs.
+$ /purchasing/includes/po_class.inc
+  /purchasing/includes/db/grn_db.inc
+  /purchasing/includes/db/invoice_db.inc
+  /sql/en_US-demo.sql
+  /sql/en_US-new.sql
+! Added GRN clearing account setting
+$ /admin/gl_setup.php
+! Added set_company_pref() function
+$ /admin/db/company_db.inc
+# JS error on focus move
+$ /js/reconcile.js
+
+29-Dec-2010 Janusz Dobrowolski
+! Hook files inclusion moved to session.inc
+$ /includes/hooks.inc
+  /includes/session.inc
+# Non-voidable transactions removed from selection on voiding page.
+$ /admin/void_transaction.php
+  /includes/ui/ui_lists.inc
+
+27-Dec-2010 Joe Hunt
+! Prepared for category icons in applications/application.php for themes
+  To activate, set $show_menu_category_icons = 1, in config.php
+$ /config.default.php
+  /applications/application.php
+  /applications/customers.php
+  /applications/dimensions.php
+  /applications/generalledger.php
+  /applications/inventory.php
+  /applications/manufacturing.php
+  /applications/setup.php
+  /applications/supplier.php
+  /themes/aqua/renderer.php
+  /themes/aqua/images/menu_entry.png (new file)
+  /themes/aqua/images/menu_inquiry.png (new file)
+  /themes/aqua/images/menu_maintenance.png (new file)
+  /themes/aqua/images/menu_report.png (new file)
+  /themes/aqua/images/menu_settings.png (new file)
+  /themes/aqua/images/menu_system.png (new file)
+  /themes/aqua/images/menu_transaction.png (new file)
+  /themes/aqua/images/menu_update.png (new file)
+  /themes/cool/renderer.php
+  /themes/cool/images/menu_entry.png (new file)
+  /themes/cool/images/menu_inquiry.png (new file)
+  /themes/cool/images/menu_maintenance.png (new file)
+  /themes/cool/images/menu_report.png (new file)
+  /themes/cool/images/menu_settings.png (new file)
+  /themes/cool/images/menu_system.png (new file)
+  /themes/cool/images/menu_transaction.png (new file)
+  /themes/cool/images/menu_update.png (new file)
+  /themes/default/renderer.php
+  /themes/default/images/menu_entry.png (new file)
+  /themes/default/images/menu_inquiry.png (new file)
+  /themes/default/images/menu_maintenance.png (new file)
+  /themes/default/images/menu_report.png (new file)
+  /themes/default/images/menu_settings.png (new file)
+  /themes/default/images/menu_system.png (new file)
+  /themes/default/images/menu_transaction.png (new file)
+  /themes/default/images/menu_update.png (new file)
+  
+27-Dec-2010 Janusz Dobrowolski
++ Option for allowing negative prices for dummy/service items [0000343]
+$ /config.default.php
+  /sales/sales_order_entry.php
+# [0000356] Database errror on PO voiding.
+$ /admin/db/transactions_db.inc
+# [0000380] Database error during direct invoice processing in mysql strict mode.
+$ /sales/includes/db/cust_trans_db.inc
+! Added balance limit for payments made from cash accounts
+$ /gl/gl_bank.php
+  /gl/bank_transfer.php
+  /gl/includes/db/gl_db_bank_accounts.inc
+  /purchasing/supplier_payment.php
+
+19-Dec-2010 Janusz Dobrowolski
+# Supressed strict warnings in reporting 
+$ /includes/errors.inc
+# Fixed errors in tax display in purchase transactions
+$ /purchasing/po_receive_items.php
+  /purchasing/includes/po_class.inc
+  /purchasing/includes/db/grn_db.inc
+  /purchasing/includes/db/po_db.inc
+
+17-Dec-2010 Joe Hunt
+# [0000304] Set locale functionality broken on Windows
+$ /includes/lang/gettext.php
+  /includes/packages.inc (missing include directive for hooks.inc)
+# Bad test code left over, cleaning up
+$ /includes/db/inventory_db.inc
+
+16-Dec-2010 Janusz Dobrowolski
++ Added hook for session handling, fixed bug [0000315] (session fixation)
+$ /includes/hooks.inc
+  /includes/session.inc
+# Cleanup on add_quick_entry() qid parameter added
+$ /gl/includes/db/gl_db_bank_accounts.inc
+# Could not change quick entry base amount description
+$ /gl/manage/gl_quick_entries.php
+# Fixed error handling
+$ /includes/ui/items_cart.inc
+# Fixed get_gl_trans_from_to return type
+$ /gl/includes/db/gl_db_trans.inc
+
+15-Dec-2010 Janusz Dobrowolski
++ Added Georgian installer wizard translation by Giorgi Natsvlishvili
+$ /install/isession.inc
+  /install/lang/it_IT/LC_MESSAGES/ka_GE.mo (new)
+  /install/lang/it_IT/LC_MESSAGES/ka_GE.po (new)
+# Nonprintable CR filtered out from pdf texts.
+$ /reporting/includes/pdf_report.inc
+
+13-Dec-2010 Joe Hunt
+! Dispaly group no in Balance Sheet/Profit Loss Drilldown.
+$ /gl/inquiry/balance_sheep.php
+  /gl/inquiry/profit_loss.php
+  
+12-Dec-2010 Joe Hunt
+# Removed Timezone warnings
+$ /config.default.php
+  /includes/date_functions.inc
+  
+12-Dec-2010 Janusz Dobrowolski
+# [0000318] Database error after last changes related to bug 313
+$ /purchasing/includes/ui/po_ui.inc
+
+------------------------------- Release 2.3.0 ------------------------------------
 09-Dec-2010 Joe Hunt
 ! Release 2.3.0
 $ version.php
index 21861a0f83c8bb9343f4be3fb3956824b89ef3c2..348c3634c7b604e81454dd93029aa7632674494f 100644 (file)
@@ -311,7 +311,7 @@ function display_company_edit($selected_id)
        else
                $_POST['tbpref'] = $tb_pref_counter."_";
        text_row_ex(_("Company"), 'name', 30);
-       text_row_ex(_("Host"), 'host', 30);
+       text_row_ex(_("Host"), 'host', 30, 60);
        text_row_ex(_("Database User"), 'dbuser', 30);
        if ($selected_id == -1)
                text_row_ex(_("Database Password"), 'dbpassword', 30);
index fffd3cb318efd711993ce832dc9b4e701d5fafc7..0a01a7c493c7048fae374606ea6d520b11ee9b4b 100644 (file)
@@ -76,6 +76,13 @@ function get_company_prefs($tbpref = TB_PREF)
        return get_company_pref(null, $tbpref);
 }
 
+function set_company_pref($pref, $category, $type, $length, $value)
+{
+       $sql = "REPLACE `0_sys_prefs` SET `name`=".db_escape($pref).", `category`=".db_escape($category)
+               .", `type`=".db_escape($type).", `length`=".db_escape($length).", `value`=".db_escape($value);
+       return db_query($sql, "cannot set company pref");
+}
+
 function refresh_sys_prefs()
 {
        flush_dir(company_path().'/js_cache'); // clear cache
index 594c34d23622216c87c738a0357cc1c72af1d371..0233bc503ea6f26aa9fdc67bfd6560fb19b08bcc 100644 (file)
@@ -50,9 +50,8 @@ function get_sql_for_view_transactions($filtertype, $from, $to, &$trans_ref)
        elseif ($type_name != null)
                $sql .= " AND t.`$type_name` = ".db_escape($filtertype);
 
-       $sql .= " GROUP BY t.$type_name, t.$trans_no_name";
+       $sql .= " GROUP BY ".($type_name ? "t.$type_name," : '')." t.$trans_no_name";
        $sql .= " ORDER BY t.$trans_no_name";
-
        return $sql;
 }
 
index 997a2bda23fa0ef690efcee3523550427fdf9e17..79b84ddf49f44af17e675c6d7e8753f837fde3dd 100644 (file)
@@ -45,6 +45,15 @@ function can_process()
                set_focus('past_due_days');
                return false;
        }
+
+       $grn_act = get_company_pref('grn_clearing_act');
+       if (get_post('grn_clearing_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;
+               set_focus('grn_clearing_account');
+               return false;
+       }
        return true;
 }
 
@@ -58,7 +67,7 @@ if (isset($_POST['submit']) && can_process())
                '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',
+               'default_delivery_required', 'grn_clearing_act',
                'allow_negative_stock'=> 0, 'accumulate_shipping'=> 0,
                'po_over_receive' => 0.0, 'po_over_charge' => 0.0, 'default_credit_limit'=>0.0
 )));
@@ -75,6 +84,11 @@ start_outer_table(TABLESTYLE2);
 
 table_section(1);
 
+if (get_company_pref('grn_clearing_act') === null) { // available form 2.3.1, can be not defined on pre-2.4 installations
+       set_company_pref('grn_clearing_act', 'glsetup.purchase', 'varchar', 15, 0);
+       refresh_sys_prefs();
+}
+
 $myrow = get_company_prefs();
 
 $_POST['retained_earnings_act']  = $myrow["retained_earnings_act"];
@@ -102,6 +116,8 @@ $_POST['po_over_receive'] = percent_format($myrow['po_over_receive']);
 $_POST['po_over_charge'] = percent_format($myrow['po_over_charge']);
 $_POST['past_due_days'] = $myrow['past_due_days'];
 
+$_POST['grn_clearing_act'] = $myrow['grn_clearing_act'];
+
 $_POST['default_credit_limit'] = $myrow['default_credit_limit'];
 $_POST['legal_text'] = $myrow['legal_text'];
 $_POST['accumulate_shipping'] = $myrow['accumulate_shipping'];
@@ -173,6 +189,8 @@ gl_all_accounts_list_row(_("Payable Account:"), 'creditors_act', $_POST['credito
 
 gl_all_accounts_list_row(_("Purchase Discount Account:"), 'pyt_discount_act', $_POST['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"));
+
 table_section_title(_("Inventory"));
 
 check_row(_("Allow Negative Inventory:"), 'allow_negative_stock', null);
index 6066d3ed338a570cf5761cddc0a98035814ead3e..951a7f87e03bda13c31a341ce4d6460590084de9 100644 (file)
@@ -139,12 +139,16 @@ function ref_view($row)
 function voiding_controls()
 {
        global $selected_id;
+
+       $not_implemented =  array(ST_PURCHORDER, ST_SUPPRECEIVE, ST_SALESORDER, 
+               ST_SALESQUOTE, ST_COSTUPDATE);
+
        start_form();
 
     start_table(TABLESTYLE_NOBORDER);
        start_row();
 
-       systypes_list_cells(_("Transaction Type:"), 'filterType', null, true);
+       systypes_list_cells(_("Transaction Type:"), 'filterType', null, true, $not_implemented);
        if (list_updated('filterType'))
                $selected_id = -1;
                
index 430b20c80a531b741632b9daaf9f00e2168ba2f3..c16ef2069704aa33b8b440a35e3722d2dbdb665e 100644 (file)
@@ -9,7 +9,17 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-       class menu_item 
+
+define('MENU_ENTRY', 'menu_entry');
+define('MENU_TRANSACTION', 'menu_transaction');
+define('MENU_INQUIRY', 'menu_inquiry');
+define('MENU_REPORT', 'menu_report');
+define('MENU_MAINTENANCE', 'menu_maintenance');
+define('MENU_UPDATE', 'menu_update');
+define('MENU_SETTINGS', 'menu_settings');
+define('MENU_SYSTEM', 'menu_system');
+
+        class menu_item
        {
                var $label;
                var $link;
                var $label;
                var $link;
                var $access;
+                var $category;
                
-               function app_function($label,$link,$access='SA_OPEN'
+               function app_function($label,$link,$access='SA_OPEN',$category='')
                {
                        $this->label = $label;
                        $this->link = $link;
                        $this->access = $access;
+            $this->category = $category;
                }
        }
 
                        $this->rappfunctions = array();
                }
                
-               function add_lapp_function($label,$link="",$access='SA_OPEN'
+               function add_lapp_function($label,$link="",$access='SA_OPEN',$category='')
                {
-                       $appfunction = new app_function($label,$link,$access);
+                       $appfunction = new app_function($label,$link,$access,$category);
                        //array_push($this->lappfunctions,$appfunction);
                        $this->lappfunctions[] = $appfunction;
                        return $appfunction;
                }
 
-               function add_rapp_function($label,$link="",$access='SA_OPEN'
+               function add_rapp_function($label,$link="",$access='SA_OPEN',$category='')
                {
-                       $appfunction = new app_function($label,$link,$access);
+                       $appfunction = new app_function($label,$link,$access,$category);
                        //array_push($this->rappfunctions,$appfunction);
                        $this->rappfunctions[] = $appfunction;
                        return $appfunction;
                        return $module;
                }
                
-               function add_lapp_function($level, $label,$link="",$access='SA_OPEN'
+               function add_lapp_function($level, $label,$link="",$access='SA_OPEN',$category='')
                {
-                       $this->modules[$level]->lappfunctions[] = new app_function($label, $link, $access);
+                       $this->modules[$level]->lappfunctions[] = new app_function($label, $link, $access, $category);
                }
                
-               function add_rapp_function($level, $label,$link="",$access='SA_OPEN'
+               function add_rapp_function($level, $label,$link="",$access='SA_OPEN',$category='')
                {
-                       $this->modules[$level]->rappfunctions[] = new app_function($label, $link, $access);
+                       $this->modules[$level]->rappfunctions[] = new app_function($label, $link, $access, $category);
                }
                
                function add_extensions()
index d99e8fbbb562d6d017a2302000419fa16b1fca82..eab888c05127d202064fba4f5df50c2b7ae3f472 100644 (file)
@@ -17,64 +17,64 @@ class customers_app extends application
        
                $this->add_module(_("Transactions"));
                $this->add_lapp_function(0, _("Sales &Quotation Entry"),
-                       "sales/sales_order_entry.php?NewQuotation=Yes", 'SA_SALESQUOTE');
+                       "sales/sales_order_entry.php?NewQuotation=Yes", 'SA_SALESQUOTE', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Sales &Order Entry"),
-                       "sales/sales_order_entry.php?NewOrder=Yes", 'SA_SALESORDER');
+                       "sales/sales_order_entry.php?NewOrder=Yes", 'SA_SALESORDER', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Direct &Delivery"),
-                       "sales/sales_order_entry.php?NewDelivery=0", 'SA_SALESDELIVERY');
+                       "sales/sales_order_entry.php?NewDelivery=0", 'SA_SALESDELIVERY', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Direct &Invoice"),
-                       "sales/sales_order_entry.php?NewInvoice=0", 'SA_SALESINVOICE');
+                       "sales/sales_order_entry.php?NewInvoice=0", 'SA_SALESINVOICE', MENU_TRANSACTION);
                $this->add_lapp_function(0, "","");
                $this->add_lapp_function(0, _("&Delivery Against Sales Orders"),
-                       "sales/inquiry/sales_orders_view.php?OutstandingOnly=1", 'SA_SALESDELIVERY');
+                       "sales/inquiry/sales_orders_view.php?OutstandingOnly=1", 'SA_SALESDELIVERY', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("&Invoice Against Sales Delivery"),
-                       "sales/inquiry/sales_deliveries_view.php?OutstandingOnly=1", 'SA_SALESINVOICE');
+                       "sales/inquiry/sales_deliveries_view.php?OutstandingOnly=1", 'SA_SALESINVOICE', MENU_TRANSACTION);
 
                $this->add_rapp_function(0, _("&Template Delivery"),
-                       "sales/inquiry/sales_orders_view.php?DeliveryTemplates=Yes", 'SA_SALESDELIVERY');
+                       "sales/inquiry/sales_orders_view.php?DeliveryTemplates=Yes", 'SA_SALESDELIVERY', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Template Invoice"),
-                       "sales/inquiry/sales_orders_view.php?InvoiceTemplates=Yes", 'SA_SALESINVOICE');
+                       "sales/inquiry/sales_orders_view.php?InvoiceTemplates=Yes", 'SA_SALESINVOICE', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Create and Print Recurrent Invoices"),
-                       "sales/create_recurrent_invoices.php?", 'SA_SALESINVOICE');
+                       "sales/create_recurrent_invoices.php?", 'SA_SALESINVOICE', MENU_TRANSACTION);
                $this->add_rapp_function(0, "","");
                $this->add_rapp_function(0, _("Customer &Payments"),
-                       "sales/customer_payments.php?", 'SA_SALESPAYMNT');
+                       "sales/customer_payments.php?", 'SA_SALESPAYMNT', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("Customer &Credit Notes"),
-                       "sales/credit_note_entry.php?NewCredit=Yes", 'SA_SALESCREDIT');
+                       "sales/credit_note_entry.php?NewCredit=Yes", 'SA_SALESCREDIT', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Allocate Customer Payments or Credit Notes"),
-                       "sales/allocations/customer_allocation_main.php?", 'SA_SALESALLOC');
+                       "sales/allocations/customer_allocation_main.php?", 'SA_SALESALLOC', MENU_TRANSACTION);
 
                $this->add_module(_("Inquiries and Reports"));
                $this->add_lapp_function(1, _("Sales Quotation I&nquiry"),
-                       "sales/inquiry/sales_orders_view.php?type=32", 'SA_SALESTRANSVIEW');
+                       "sales/inquiry/sales_orders_view.php?type=32", 'SA_SALESTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Sales Order &Inquiry"),
-                       "sales/inquiry/sales_orders_view.php?type=30", 'SA_SALESTRANSVIEW');
+                       "sales/inquiry/sales_orders_view.php?type=30", 'SA_SALESTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Customer Transaction &Inquiry"),
-                       "sales/inquiry/customer_inquiry.php?", 'SA_SALESTRANSVIEW');
+                       "sales/inquiry/customer_inquiry.php?", 'SA_SALESTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, "","");
                $this->add_lapp_function(1, _("Customer Allocation &Inquiry"),
-                       "sales/inquiry/customer_allocation_inquiry.php?", 'SA_SALESALLOC');
+                       "sales/inquiry/customer_allocation_inquiry.php?", 'SA_SALESALLOC', MENU_INQUIRY);
 
                $this->add_rapp_function(1, _("Customer and Sales &Reports"),
-                       "reporting/reports_main.php?Class=0", 'SA_SALESTRANSVIEW');
+                       "reporting/reports_main.php?Class=0", 'SA_SALESTRANSVIEW', MENU_REPORT);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("Add and Manage &Customers"),
-                       "sales/manage/customers.php?", 'SA_CUSTOMER');
+                       "sales/manage/customers.php?", 'SA_CUSTOMER', MENU_ENTRY);
                $this->add_lapp_function(2, _("Customer &Branches"),
-                       "sales/manage/customer_branches.php?", 'SA_CUSTOMER');
+                       "sales/manage/customer_branches.php?", 'SA_CUSTOMER', MENU_ENTRY);
                $this->add_lapp_function(2, _("Sales &Groups"),
-                       "sales/manage/sales_groups.php?", 'SA_SALESGROUP');
+                       "sales/manage/sales_groups.php?", 'SA_SALESGROUP', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("Recurrent &Invoices"),
-                       "sales/manage/recurrent_invoices.php?", 'SA_SRECURRENT');
+                       "sales/manage/recurrent_invoices.php?", 'SA_SRECURRENT', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("Sales T&ypes"),
-                       "sales/manage/sales_types.php?", 'SA_SALESTYPES');
+                       "sales/manage/sales_types.php?", 'SA_SALESTYPES', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("Sales &Persons"),
-                       "sales/manage/sales_people.php?", 'SA_SALESMAN');
+                       "sales/manage/sales_people.php?", 'SA_SALESMAN', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("Sales &Areas"),
-                       "sales/manage/sales_areas.php?", 'SA_SALESAREA');
+                       "sales/manage/sales_areas.php?", 'SA_SALESAREA', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("Credit &Status Setup"),
-                       "sales/manage/credit_status.php?", 'SA_CRSTATUS');
+                       "sales/manage/credit_status.php?", 'SA_CRSTATUS', MENU_MAINTENANCE);
 
                $this->add_extensions();
        }
index 0af8fc75d028f5b91f48b86271da01473baf5515..7442c33ca680f241b68987b302aeba30648fc7d2 100644 (file)
@@ -20,20 +20,20 @@ class dimensions_app extends application
                {
                        $this->add_module(_("Transactions"));
                        $this->add_lapp_function(0, _("Dimension &Entry"),
-                               "dimensions/dimension_entry.php?", 'SA_DIMENSION');
+                               "dimensions/dimension_entry.php?", 'SA_DIMENSION', MENU_ENTRY);
                        $this->add_lapp_function(0, _("&Outstanding Dimensions"),
-                               "dimensions/inquiry/search_dimensions.php?outstanding_only=1", 'SA_DIMTRANSVIEW');
+                               "dimensions/inquiry/search_dimensions.php?outstanding_only=1", 'SA_DIMTRANSVIEW', MENU_TRANSACTION);
 
                        $this->add_module(_("Inquiries and Reports"));
                        $this->add_lapp_function(1, _("Dimension &Inquiry"),
-                               "dimensions/inquiry/search_dimensions.php?", 'SA_DIMTRANSVIEW');
+                               "dimensions/inquiry/search_dimensions.php?", 'SA_DIMTRANSVIEW', MENU_INQUIRY);
 
                        $this->add_rapp_function(1, _("Dimension &Reports"),
-                               "reporting/reports_main.php?Class=4", 'SA_DIMENSIONREP');
+                               "reporting/reports_main.php?Class=4", 'SA_DIMENSIONREP', MENU_REPORT);
                        
                        $this->add_module(_("Maintenance"));
                        $this->add_lapp_function(2, _("Dimension &Tags"),
-                               "admin/tags.php?type=dimension", 'SA_DIMTAGS');
+                               "admin/tags.php?type=dimension", 'SA_DIMTAGS', MENU_MAINTENANCE);
 
                        $this->add_extensions();
                }
index 1bbea0d4c5779a0e65b2d69b3d0019d4ff1bd308..c4c0522b4f3cd4296991c96a45c8a14837e70e89 100644 (file)
@@ -17,63 +17,63 @@ class general_ledger_app extends application
 
                $this->add_module(_("Transactions"));
                $this->add_lapp_function(0, _("&Payments"),
-                       "gl/gl_bank.php?NewPayment=Yes", 'SA_PAYMENT');
+                       "gl/gl_bank.php?NewPayment=Yes", 'SA_PAYMENT', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("&Deposits"),
-                       "gl/gl_bank.php?NewDeposit=Yes", 'SA_DEPOSIT');
+                       "gl/gl_bank.php?NewDeposit=Yes", 'SA_DEPOSIT', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Bank Account &Transfers"),
-                       "gl/bank_transfer.php?", 'SA_BANKTRANSFER');
+                       "gl/bank_transfer.php?", 'SA_BANKTRANSFER', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Journal Entry"),
-                       "gl/gl_journal.php?NewJournal=Yes", 'SA_JOURNALENTRY');
+                       "gl/gl_journal.php?NewJournal=Yes", 'SA_JOURNALENTRY', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Budget Entry"),
-                       "gl/gl_budget.php?", 'SA_BUDGETENTRY');
+                       "gl/gl_budget.php?", 'SA_BUDGETENTRY', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Reconcile Bank Account"),
-                       "gl/bank_account_reconcile.php?", 'SA_RECONCILE');
+                       "gl/bank_account_reconcile.php?", 'SA_RECONCILE', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("Revenue / &Costs Accruals"),
-                       "gl/accruals.php?", 'SA_ACCRUALS');
+                       "gl/accruals.php?", 'SA_ACCRUALS', MENU_TRANSACTION);
 
                $this->add_module(_("Inquiries and Reports"));
                $this->add_lapp_function(1, _("&Journal Inquiry"),
-                       "gl/inquiry/journal_inquiry.php?", 'SA_GLANALYTIC');
+                       "gl/inquiry/journal_inquiry.php?", 'SA_GLANALYTIC', MENU_INQUIRY);
                $this->add_lapp_function(1, _("GL &Inquiry"),
-                       "gl/inquiry/gl_account_inquiry.php?", 'SA_GLTRANSVIEW');
+                       "gl/inquiry/gl_account_inquiry.php?", 'SA_GLTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Bank Account &Inquiry"),
-                       "gl/inquiry/bank_inquiry.php?", 'SA_BANKTRANSVIEW');
+                       "gl/inquiry/bank_inquiry.php?", 'SA_BANKTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Ta&x Inquiry"),
-                       "gl/inquiry/tax_inquiry.php?", 'SA_TAXREP');
+                       "gl/inquiry/tax_inquiry.php?", 'SA_TAXREP', MENU_INQUIRY);
 
                $this->add_rapp_function(1, _("Trial &Balance"),
-                       "gl/inquiry/gl_trial_balance.php?", 'SA_GLANALYTIC');
+                       "gl/inquiry/gl_trial_balance.php?", 'SA_GLANALYTIC', MENU_INQUIRY);
                $this->add_rapp_function(1, _("Balance &Sheet Drilldown"),
-                       "gl/inquiry/balance_sheet.php?", 'SA_GLANALYTIC');
+                       "gl/inquiry/balance_sheet.php?", 'SA_GLANALYTIC', MENU_INQUIRY);
                $this->add_rapp_function(1, _("&Profit and Loss Drilldown"),
-                       "gl/inquiry/profit_loss.php?", 'SA_GLANALYTIC');
+                       "gl/inquiry/profit_loss.php?", 'SA_GLANALYTIC', MENU_INQUIRY);
                $this->add_rapp_function(1, _("Banking &Reports"),
-                       "reporting/reports_main.php?Class=5", 'SA_BANKREP');
+                       "reporting/reports_main.php?Class=5", 'SA_BANKREP', MENU_REPORT);
                $this->add_rapp_function(1, _("General Ledger &Reports"),
-                       "reporting/reports_main.php?Class=6", 'SA_GLREP');
+                       "reporting/reports_main.php?Class=6", 'SA_GLREP', MENU_REPORT);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("Bank &Accounts"),
-                       "gl/manage/bank_accounts.php?", 'SA_BANKACCOUNT');
+                       "gl/manage/bank_accounts.php?", 'SA_BANKACCOUNT', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("&Quick Entries"),
-                       "gl/manage/gl_quick_entries.php?", 'SA_QUICKENTRY');
+                       "gl/manage/gl_quick_entries.php?", 'SA_QUICKENTRY', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("Account &Tags"),
-                       "admin/tags.php?type=account", 'SA_GLACCOUNTTAGS');
+                       "admin/tags.php?type=account", 'SA_GLACCOUNTTAGS', MENU_MAINTENANCE);
                $this->add_lapp_function(2, "","");
                $this->add_lapp_function(2, _("&Currencies"),
-                       "gl/manage/currencies.php?", 'SA_CURRENCY');
+                       "gl/manage/currencies.php?", 'SA_CURRENCY', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("&Exchange Rates"),
-                       "gl/manage/exchange_rates.php?", 'SA_EXCHANGERATE');
+                       "gl/manage/exchange_rates.php?", 'SA_EXCHANGERATE', MENU_MAINTENANCE);
 
                $this->add_rapp_function(2, _("&GL Accounts"),
-                       "gl/manage/gl_accounts.php?", 'SA_GLACCOUNT');
+                       "gl/manage/gl_accounts.php?", 'SA_GLACCOUNT', MENU_ENTRY);
                $this->add_rapp_function(2, _("GL Account &Groups"),
-                       "gl/manage/gl_account_types.php?", 'SA_GLACCOUNTGROUP');
+                       "gl/manage/gl_account_types.php?", 'SA_GLACCOUNTGROUP', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("GL Account &Classes"),
-                       "gl/manage/gl_account_classes.php?", 'SA_GLACCOUNTCLASS');
+                       "gl/manage/gl_account_classes.php?", 'SA_GLACCOUNTCLASS', MENU_MAINTENANCE);
                $this->add_rapp_function(2, "","");
                $this->add_rapp_function(2, _("&Revaluation of Currency Accounts"),
-                       "gl/manage/revaluate_currencies.php?", 'SA_EXCHANGERATE');
+                       "gl/manage/revaluate_currencies.php?", 'SA_EXCHANGERATE', MENU_MAINTENANCE);
 
                $this->add_extensions();
        }
index b5b32f53e285c7967b0d4db021613235f9507375..30fd7b4ae9c1f2fbde72fbadf7d895a4045a567c 100644 (file)
@@ -17,43 +17,43 @@ class inventory_app extends application
 
                $this->add_module(_("Transactions"));
                $this->add_lapp_function(0, _("Inventory Location &Transfers"),
-                       "inventory/transfers.php?NewTransfer=1", 'SA_LOCATIONTRANSFER');
+                       "inventory/transfers.php?NewTransfer=1", 'SA_LOCATIONTRANSFER', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Inventory &Adjustments"),
-                       "inventory/adjustments.php?NewAdjustment=1", 'SA_INVENTORYADJUSTMENT');
+                       "inventory/adjustments.php?NewAdjustment=1", 'SA_INVENTORYADJUSTMENT', MENU_TRANSACTION);
 
                $this->add_module(_("Inquiries and Reports"));
                $this->add_lapp_function(1, _("Inventory Item &Movements"),
-                       "inventory/inquiry/stock_movements.php?", 'SA_ITEMSTRANSVIEW');
+                       "inventory/inquiry/stock_movements.php?", 'SA_ITEMSTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Inventory Item &Status"),
-                       "inventory/inquiry/stock_status.php?", 'SA_ITEMSSTATVIEW');
+                       "inventory/inquiry/stock_status.php?", 'SA_ITEMSSTATVIEW', MENU_INQUIRY);
                $this->add_rapp_function(1, _("Inventory &Reports"),
-                       "reporting/reports_main.php?Class=2", 'SA_ITEMSTRANSVIEW');
+                       "reporting/reports_main.php?Class=2", 'SA_ITEMSTRANSVIEW', MENU_REPORT);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("&Items"),
-                       "inventory/manage/items.php?", 'SA_ITEM');
+                       "inventory/manage/items.php?", 'SA_ITEM', MENU_ENTRY);
                $this->add_lapp_function(2, _("&Foreign Item Codes"),
-                       "inventory/manage/item_codes.php?", 'SA_FORITEMCODE');
+                       "inventory/manage/item_codes.php?", 'SA_FORITEMCODE', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("Sales &Kits"),
-                       "inventory/manage/sales_kits.php?", 'SA_SALESKIT');
+                       "inventory/manage/sales_kits.php?", 'SA_SALESKIT', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("Item &Categories"),
-                       "inventory/manage/item_categories.php?", 'SA_ITEMCATEGORY');
+                       "inventory/manage/item_categories.php?", 'SA_ITEMCATEGORY', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("Inventory &Locations"),
-                       "inventory/manage/locations.php?", 'SA_INVENTORYLOCATION');
+                       "inventory/manage/locations.php?", 'SA_INVENTORYLOCATION', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("Inventory &Movement Types"),
-                       "inventory/manage/movement_types.php?", 'SA_INVENTORYMOVETYPE');
+                       "inventory/manage/movement_types.php?", 'SA_INVENTORYMOVETYPE', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("&Units of Measure"),
-                       "inventory/manage/item_units.php?", 'SA_UOM');
+                       "inventory/manage/item_units.php?", 'SA_UOM', MENU_MAINTENANCE);
                $this->add_rapp_function(2, _("&Reorder Levels"),
-                       "inventory/reorder_level.php?", 'SA_REORDER');
+                       "inventory/reorder_level.php?", 'SA_REORDER', MENU_MAINTENANCE);
 
                $this->add_module(_("Pricing and Costs"));
                $this->add_lapp_function(3, _("Sales &Pricing"),
-                       "inventory/prices.php?", 'SA_SALESPRICE');
+                       "inventory/prices.php?", 'SA_SALESPRICE', MENU_MAINTENANCE);
                $this->add_lapp_function(3, _("Purchasing &Pricing"),
-                       "inventory/purchasing_data.php?", 'SA_PURCHASEPRICING');
+                       "inventory/purchasing_data.php?", 'SA_PURCHASEPRICING', MENU_MAINTENANCE);
                $this->add_rapp_function(3, _("Standard &Costs"),
-                       "inventory/cost_update.php?", 'SA_STANDARDCOST');
+                       "inventory/cost_update.php?", 'SA_STANDARDCOST', MENU_MAINTENANCE);
 
                $this->add_extensions();
        }
index 3c9c861fcd685f25270e7de0340b2cbc209dd0dd..aef0bf31135b4f74bd123fd0eef914c759b98c1a 100644 (file)
@@ -17,25 +17,25 @@ class manufacturing_app extends application
 
                $this->add_module(_("Transactions"));
                $this->add_lapp_function(0, _("Work &Order Entry"),
-                       "manufacturing/work_order_entry.php?", 'SA_WORKORDERENTRY');
+                       "manufacturing/work_order_entry.php?", 'SA_WORKORDERENTRY', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("&Outstanding Work Orders"),
-                       "manufacturing/search_work_orders.php?outstanding_only=1", 'SA_MANUFTRANSVIEW');
+                       "manufacturing/search_work_orders.php?outstanding_only=1", 'SA_MANUFTRANSVIEW', MENU_TRANSACTION);
 
                $this->add_module(_("Inquiries and Reports"));
                $this->add_lapp_function(1, _("Costed Bill Of Material Inquiry"),
-                       "manufacturing/inquiry/bom_cost_inquiry.php?", 'SA_WORKORDERCOST');
+                       "manufacturing/inquiry/bom_cost_inquiry.php?", 'SA_WORKORDERCOST', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Inventory Item Where Used &Inquiry"),
-                       "manufacturing/inquiry/where_used_inquiry.php?", 'SA_WORKORDERANALYTIC');
+                       "manufacturing/inquiry/where_used_inquiry.php?", 'SA_WORKORDERANALYTIC', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Work Order &Inquiry"),
-                       "manufacturing/search_work_orders.php?", 'SA_MANUFTRANSVIEW');
+                       "manufacturing/search_work_orders.php?", 'SA_MANUFTRANSVIEW', MENU_INQUIRY);
                $this->add_rapp_function(1, _("Manufacturing &Reports"),
-                       "reporting/reports_main.php?Class=3", 'SA_MANUFTRANSVIEW');
+                       "reporting/reports_main.php?Class=3", 'SA_MANUFTRANSVIEW', MENU_REPORT);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("&Bills Of Material"),
-                       "manufacturing/manage/bom_edit.php?", 'SA_BOM');
+                       "manufacturing/manage/bom_edit.php?", 'SA_BOM', MENU_ENTRY);
                $this->add_lapp_function(2, _("&Work Centres"),
-                       "manufacturing/manage/work_centres.php?", 'SA_WORKCENTRES');
+                       "manufacturing/manage/work_centres.php?", 'SA_WORKCENTRES', MENU_MAINTENANCE);
 
                $this->add_extensions();
        }
index 3e2f3b8681406a9fc15a43cd49277ff9f703c146..7ee9fb792bd74d4141b591d925a4e48e1d27ec88 100644 (file)
@@ -17,64 +17,64 @@ class setup_app extends application
 
                $this->add_module(_("Company Setup"));
                $this->add_lapp_function(0, _("&Company Setup"),
-                       "admin/company_preferences.php?", 'SA_SETUPCOMPANY');
+                       "admin/company_preferences.php?", 'SA_SETUPCOMPANY', MENU_SETTINGS);
                $this->add_lapp_function(0, _("&User Accounts Setup"),
-                       "admin/users.php?", 'SA_USERS');
+                       "admin/users.php?", 'SA_USERS', MENU_SETTINGS);
                $this->add_lapp_function(0, _("&Access Setup"),
-                       "admin/security_roles.php?", 'SA_SECROLES');
+                       "admin/security_roles.php?", 'SA_SECROLES', MENU_SETTINGS);
                $this->add_lapp_function(0, _("&Display Setup"),
-                       "admin/display_prefs.php?", 'SA_SETUPDISPLAY');
+                       "admin/display_prefs.php?", 'SA_SETUPDISPLAY', MENU_SETTINGS);
                $this->add_lapp_function(0, _("&Forms Setup"),
-                       "admin/forms_setup.php?", 'SA_FORMSETUP');
+                       "admin/forms_setup.php?", 'SA_FORMSETUP', MENU_SETTINGS);
                $this->add_rapp_function(0, _("&Taxes"),
-                       "taxes/tax_types.php?", 'SA_TAXRATES');
+                       "taxes/tax_types.php?", 'SA_TAXRATES', MENU_MAINTENANCE);
                $this->add_rapp_function(0, _("Tax &Groups"),
-                       "taxes/tax_groups.php?", 'SA_TAXGROUPS');
+                       "taxes/tax_groups.php?", 'SA_TAXGROUPS', MENU_MAINTENANCE);
                $this->add_rapp_function(0, _("Item Ta&x Types"),
-                       "taxes/item_tax_types.php?", 'SA_ITEMTAXTYPE');
+                       "taxes/item_tax_types.php?", 'SA_ITEMTAXTYPE', MENU_MAINTENANCE);
                $this->add_rapp_function(0, _("System and &General GL Setup"),
-                       "admin/gl_setup.php?", 'SA_GLSETUP');
+                       "admin/gl_setup.php?", 'SA_GLSETUP', MENU_SETTINGS);
                $this->add_rapp_function(0, _("&Fiscal Years"),
-                       "admin/fiscalyears.php?", 'SA_FISCALYEARS');
+                       "admin/fiscalyears.php?", 'SA_FISCALYEARS', MENU_MAINTENANCE);
                $this->add_rapp_function(0, _("&Print Profiles"),
-                       "admin/print_profiles.php?", 'SA_PRINTPROFILE');
+                       "admin/print_profiles.php?", 'SA_PRINTPROFILE', MENU_MAINTENANCE);
 
                $this->add_module(_("Miscellaneous"));
                $this->add_lapp_function(1, _("Pa&yment Terms"),
-                       "admin/payment_terms.php?", 'SA_PAYTERMS');
+                       "admin/payment_terms.php?", 'SA_PAYTERMS', MENU_MAINTENANCE);
                $this->add_lapp_function(1, _("Shi&pping Company"),
-                       "admin/shipping_companies.php?", 'SA_SHIPPING');
+                       "admin/shipping_companies.php?", 'SA_SHIPPING', MENU_MAINTENANCE);
                $this->add_rapp_function(1, _("&Points of Sale"),
-                       "sales/manage/sales_points.php?", 'SA_POSSETUP');
+                       "sales/manage/sales_points.php?", 'SA_POSSETUP', MENU_MAINTENANCE);
                $this->add_rapp_function(1, _("&Printers"),
-                       "admin/printers.php?", 'SA_PRINTERS');
+                       "admin/printers.php?", 'SA_PRINTERS', MENU_MAINTENANCE);
                $this->add_rapp_function(1, _("Contact &Categories"),
-                       "admin/crm_categories.php?", 'SA_CRMCATEGORY');
+                       "admin/crm_categories.php?", 'SA_CRMCATEGORY', MENU_MAINTENANCE);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("&Void a Transaction"),
-                       "admin/void_transaction.php?", 'SA_VOIDTRANSACTION');
+                       "admin/void_transaction.php?", 'SA_VOIDTRANSACTION', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("View or &Print Transactions"),
-                       "admin/view_print_transaction.php?", 'SA_VIEWPRINTTRANSACTION');
+                       "admin/view_print_transaction.php?", 'SA_VIEWPRINTTRANSACTION', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("&Attach Documents"),
-                       "admin/attachments.php?filterType=20", 'SA_ATTACHDOCUMENT');
+                       "admin/attachments.php?filterType=20", 'SA_ATTACHDOCUMENT', MENU_MAINTENANCE);
                $this->add_lapp_function(2, _("System &Diagnostics"),
-                       "admin/system_diagnostics.php?", 'SA_OPEN');
+                       "admin/system_diagnostics.php?", 'SA_OPEN', MENU_SYSTEM);
 
                $this->add_rapp_function(2, _("&Backup and Restore"),
-                       "admin/backups.php?", 'SA_BACKUP');
+                       "admin/backups.php?", 'SA_BACKUP', MENU_SYSTEM);
                $this->add_rapp_function(2, _("Create/Update &Companies"),
-                       "admin/create_coy.php?", 'SA_CREATECOMPANY');
+                       "admin/create_coy.php?", 'SA_CREATECOMPANY', MENU_UPDATE);
                $this->add_rapp_function(2, _("Install/Update &Languages"),
-                       "admin/inst_lang.php?", 'SA_CREATELANGUAGE');
+                       "admin/inst_lang.php?", 'SA_CREATELANGUAGE', MENU_UPDATE);
                $this->add_rapp_function(2, _("Install/Activate &Extensions"),
-                       "admin/inst_module.php?", 'SA_CREATEMODULES');
+                       "admin/inst_module.php?", 'SA_CREATEMODULES', MENU_UPDATE);
                $this->add_rapp_function(2, _("Install/Activate &Themes"),
-                       "admin/inst_theme.php?", 'SA_CREATEMODULES');
+                       "admin/inst_theme.php?", 'SA_CREATEMODULES', MENU_UPDATE);
                $this->add_rapp_function(2, _("Install/Activate &Chart of Accounts"),
-                       "admin/inst_chart.php?", 'SA_CREATEMODULES');
+                       "admin/inst_chart.php?", 'SA_CREATEMODULES', MENU_UPDATE);
                $this->add_rapp_function(2, _("Software &Upgrade"),
-                       "admin/inst_upgrade.php?", 'SA_SOFTWAREUPGRADE');
+                       "admin/inst_upgrade.php?", 'SA_SOFTWAREUPGRADE', MENU_UPDATE);
 
                $this->add_extensions();
        }
index 173a8c03ac386a5cb478816fe6d885fbc6bda392..b67c66608722c8e51af09ec49127af749a298a93 100644 (file)
@@ -17,39 +17,39 @@ class suppliers_app extends application
 
                $this->add_module(_("Transactions"));
                $this->add_lapp_function(0, _("Purchase &Order Entry"),
-                       "purchasing/po_entry_items.php?NewOrder=Yes", 'SA_PURCHASEORDER');
+                       "purchasing/po_entry_items.php?NewOrder=Yes", 'SA_PURCHASEORDER', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("&Outstanding Purchase Orders Maintenance"),
-                       "purchasing/inquiry/po_search.php?", 'SA_GRN');
+                       "purchasing/inquiry/po_search.php?", 'SA_GRN', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Direct &GRN"),
-                       "purchasing/po_entry_items.php?NewGRN=Yes", 'SA_GRN');
+                       "purchasing/po_entry_items.php?NewGRN=Yes", 'SA_GRN', MENU_TRANSACTION);
                $this->add_lapp_function(0, _("Direct &Invoice"),
-                       "purchasing/po_entry_items.php?NewInvoice=Yes", 'SA_SUPPLIERINVOICE');
+                       "purchasing/po_entry_items.php?NewInvoice=Yes", 'SA_SUPPLIERINVOICE', MENU_TRANSACTION);
 
                $this->add_rapp_function(0, _("&Payments to Suppliers"),
-                       "purchasing/supplier_payment.php?", 'SA_SUPPLIERPAYMNT');
+                       "purchasing/supplier_payment.php?", 'SA_SUPPLIERPAYMNT', MENU_TRANSACTION);
                $this->add_rapp_function(0, "","");
                $this->add_rapp_function(0, _("Supplier &Invoices"),
-                       "purchasing/supplier_invoice.php?New=1", 'SA_SUPPLIERINVOICE');
+                       "purchasing/supplier_invoice.php?New=1", 'SA_SUPPLIERINVOICE', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("Supplier &Credit Notes"),
-                       "purchasing/supplier_credit.php?New=1", 'SA_SUPPLIERCREDIT');
+                       "purchasing/supplier_credit.php?New=1", 'SA_SUPPLIERCREDIT', MENU_TRANSACTION);
                $this->add_rapp_function(0, _("&Allocate Supplier Payments or Credit Notes"),
-                       "purchasing/allocations/supplier_allocation_main.php?", 'SA_SUPPLIERALLOC');
+                       "purchasing/allocations/supplier_allocation_main.php?", 'SA_SUPPLIERALLOC', MENU_TRANSACTION);
 
                $this->add_module(_("Inquiries and Reports"));
                $this->add_lapp_function(1, _("Purchase Orders &Inquiry"),
-                       "purchasing/inquiry/po_search_completed.php?", 'SA_SUPPTRANSVIEW');
+                       "purchasing/inquiry/po_search_completed.php?", 'SA_SUPPTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, _("Supplier Transaction &Inquiry"),
-                       "purchasing/inquiry/supplier_inquiry.php?", 'SA_SUPPTRANSVIEW');
+                       "purchasing/inquiry/supplier_inquiry.php?", 'SA_SUPPTRANSVIEW', MENU_INQUIRY);
                $this->add_lapp_function(1, "","");
                $this->add_lapp_function(1, _("Supplier Allocation &Inquiry"),
-                       "purchasing/inquiry/supplier_allocation_inquiry.php?", 'SA_SUPPLIERALLOC');
+                       "purchasing/inquiry/supplier_allocation_inquiry.php?", 'SA_SUPPLIERALLOC', MENU_INQUIRY);
 
                $this->add_rapp_function(1, _("Supplier and Purchasing &Reports"),
-                       "reporting/reports_main.php?Class=1", 'SA_SUPPTRANSVIEW');
+                       "reporting/reports_main.php?Class=1", 'SA_SUPPTRANSVIEW', MENU_REPORT);
 
                $this->add_module(_("Maintenance"));
                $this->add_lapp_function(2, _("&Suppliers"),
-                       "purchasing/manage/suppliers.php?", 'SA_SUPPLIER');
+                       "purchasing/manage/suppliers.php?", 'SA_SUPPLIER', MENU_ENTRY);
 
                $this->add_extensions();
        }
index 692c87b5ba30d7355fa07da29371133a420821c2..6705918f5be30bc876144d02a1c1065832b66c27 100644 (file)
@@ -11,7 +11,7 @@
 ***********************************************************************/
     //--------------------------------------------------
 
-       // User configurable variables
+       // User configurable variables
        //---------------------------------------------------
 
        /*Show debug messages returned from an error on the page.
 
 if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_to_root']))
        die("Restricted access");
+
+       if (!ini_get('date.timezone'))
+       ini_set('date.timezone', 'Europe/Berlin');
+
        // Log file for error/warning messages. Should be set to any location
        // writable by www server. When set to empty string logging is switched off. 
        // Special value 'syslog' can be used for system logger usage (see php manual).
@@ -142,6 +146,12 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
 
        $config_allocation_settled_allowance = 0.005;
 
+       /* Allow negative prices for dummy/service items. To be moved to GL db settings */
+       $allow_negative_prices = 1;
+
+       /* Show menu category icons in core themes */
+       $show_menu_category_icons = 0;
+       
        // Internal configurable variables
        //-----------------------------------------------------------------------------------
 
index 5ed84c08e4528c12537c456bc4a9fa94d9ab17ec..351bfb5d51dd5cc6dd91a2a4b86f30de816282a3 100644 (file)
@@ -123,6 +123,15 @@ function check_valid_entries()
                return false;
        }
 
+       $limit = get_bank_account_limit($_POST['FromBankAccount'], $_POST['DatePaid']);
+
+       if ($limit != null && ($limit < (input_num('charge') + input_num('amount'))))
+       {
+               display_error(sprintf(_("The total bank amount exceeds allowed limit (%s) for source account."), price_format($limit)));
+               set_focus('amount');
+               return false;
+       }
+
        if (isset($_POST['charge']) && !check_num('charge', 0)) 
        {
                display_error(_("The entered amount is invalid or less than zero."));
index 5ed202e7c2c43814556ce38e039e3ec051300633..8dd950f1d703722641f2b50ce14ce4e130299603 100644 (file)
@@ -224,6 +224,15 @@ if (isset($_POST['Process']))
                $input_error = 1;
        }
 
+       $limit = get_bank_account_limit($_POST['bank_account'], $_POST['date_']);
+
+       if ($limit != null && ($limit < $_SESSION['pay_items']->gl_items_total()))
+       {
+               display_error(sprintf(_("The total bank amount exceeds allowed limit (%s)."), price_format($limit)));
+               set_focus('code_id');
+               $input_error = 1;
+       }
+
        if (!$Refs->is_valid($_POST['ref']))
        {
                display_error( _("You must enter a reference."));
@@ -247,7 +256,7 @@ if (isset($_POST['Process']))
                display_error(_("The entered date is not in fiscal year."));
                set_focus('date_');
                $input_error = 1;
-       }
+       } 
 
        if (get_post('PayType')==PT_CUSTOMER && (!get_post('person_id') || !get_post('PersonDetailID'))) {
                display_error(_("You have to select customer and customer branch."));
index b0423f55827d6ce9bb6dfe3a9bef9bf36781d558..a92195041a9adc3ce3ddb86a57b4e43be10bf888 100644 (file)
@@ -139,7 +139,7 @@ function add_quick_entry_line($qid, $action, $dest_id, $amount, $dim, $dim2)
        $sql = "INSERT INTO ".TB_PREF."quick_entry_lines 
                (qid, action, dest_id, amount, dimension_id, dimension2_id) 
        VALUES 
-               ($qid, ".db_escape($action).",".db_escape($dest_id).",
+               (".db_escape($qid).", ".db_escape($action).",".db_escape($dest_id).",
                        ".db_escape($amount).", ".db_escape($dim).", ".db_escape($dim2).")";
 
        db_query($sql, "could not insert quick entry line for $qid");
@@ -315,4 +315,19 @@ function get_default_bank_account($curr)
 
        return db_fetch($result);
 }
+//---------------------------------------------------------------------------------------------
+//
+//     This function returns current allowed bank payment limit, or null if limit is not set.
+//     As of FA 2.3 check is done only on cash account, for which limit is bank amount as of the date selected.
+//
+function get_bank_account_limit($account, $date, $user=null)
+{
+//     $user = current_user();
+
+       $bankacc = get_bank_account($account);
+       if ($bankacc['account_type'] != BT_CASH)
+               return null;
+       return get_balance_before_for_bank_account($account, add_days($date,1));
+}
+
 ?>
\ No newline at end of file
index bf6a8b4f7074708cb83c291d3a56fc87579a932b..7677fa3ec328042f5ed988f47db09d8acab7c552 100644 (file)
@@ -214,7 +214,7 @@ function get_gl_trans_from_to($from_date, $to_date, $account, $dimension=0, $dim
        $result = db_query($sql, "Transactions for account $account could not be calculated");
 
        $row = db_fetch_row($result);
-       return $row[0];
+       return (float)$row[0];
 }
 
 //----------------------------------------------------------------------------------------------------
index eafb4855c020dab506f1d5d45bb82b9b41faef1d..8bf527577a2dc663f61d753e252370bc92e4f2cf 100644 (file)
@@ -109,7 +109,7 @@ function display_type ($type, $typename, $from, $to, $convert, $dimension, $dime
                {
                        $url = "<a href='$path_to_root/gl/inquiry/balance_sheet.php?TransFromDate=" 
                                . $from . "&TransToDate=" . $to . "&Dimension=" . $dimension . "&Dimension2=" . $dimension2 
-                               . "&AccGrp=" . $type ."'>" . $typename ."</a>";
+                               . "&AccGrp=" . $type ."'>" . $type . " " . $typename ."</a>";
                                
                        alt_table_row_color($k);
                        label_cell($url);
@@ -192,7 +192,7 @@ function display_balance_sheet()
                                {
                                        $url = "<a href='$path_to_root/gl/inquiry/balance_sheet.php?TransFromDate=" 
                                                . $from . "&TransToDate=" . $to . "&Dimension=" . $dimension . "&Dimension2=" . $dimension2 
-                                               . "&AccGrp=" . $accounttype['id'] ."'>" . $accounttype['name'] ."</a>"; 
+                                               . "&AccGrp=" . $accounttype['id'] ."'>" . $accounttype['id']." ".$accounttype['name'] ."</a>";  
                                        alt_table_row_color($k);
                                        label_cell($url);
                                        amount_cell($TypeTotal * $convert);
@@ -250,7 +250,7 @@ function display_balance_sheet()
                $convert = get_class_type_convert($class["ctype"]); 
                
                //Print Class Name      
-               table_section_title(get_account_type_name($_POST["AccGrp"]));   
+               table_section_title($_POST["AccGrp"]. " " . get_account_type_name($_POST["AccGrp"]));   
                
                $classclose = display_type($accounttype["id"], $accounttype["name"], $from, $to, 
                        $convert, $dimension, $dimension2, $drilldown, $path_to_root);
index 46b8f44bb98b31062f212e105597a0a04ff638b4..351fc3d738003fe07a29de95ae3b8d59986de8f2 100644 (file)
@@ -127,7 +127,7 @@ function display_type ($type, $typename, $from, $to, $begin, $end, $compare, $co
                {       
                        $url = "<a href='$path_to_root/gl/inquiry/profit_loss.php?TransFromDate=" 
                                . $from . "&TransToDate=" . $to . "&Compare=" . $compare . "&Dimension=" . $dimension . "&Dimension2=" . $dimension2
-                               . "&AccGrp=" . $type ."'>" . $typename ."</a>";
+                               . "&AccGrp=" . $type ."'>" . $type . " " . $typename ."</a>";
                                
                        alt_table_row_color($k);
                        label_cell($url);
@@ -266,7 +266,7 @@ function display_profit_and_loss()
                                {
                                        $url = "<a href='$path_to_root/gl/inquiry/profit_loss.php?TransFromDate=" 
                                                . $from . "&TransToDate=" . $to . "&Compare=" . $compare . "&Dimension=" . $dimension . "&Dimension2=" . $dimension2
-                                               . "&AccGrp=" . $accounttype['id'] ."'>" . $accounttype['name'] ."</a>";
+                                               . "&AccGrp=" . $accounttype['id'] ."'>" . $accounttype['id'] . " " . $accounttype['name'] ."</a>";
                                                
                                        alt_table_row_color($k);
                                        label_cell($url);
@@ -310,7 +310,7 @@ function display_profit_and_loss()
                $convert = get_class_type_convert($class["ctype"]); 
                
                //Print Class Name      
-               table_section_title(get_account_type_name($_POST["AccGrp"]),4); 
+               table_section_title($_POST["AccGrp"] . " " . get_account_type_name($_POST["AccGrp"]),4);        
                echo $tableheader;
                
                $classtotal = display_type($accounttype["id"], $accounttype["name"], $from, $to, $begin, $end, $compare, $convert, 
index 87e770c4f89ffa5763cc5dee91301df01d33b99c..6bd142f6b1c3ef35c8594891071c2a0eb24adf4b 100644 (file)
@@ -242,8 +242,7 @@ if (get_post('type') == QE_JOURNAL && get_post('bal_type') == 1)
 }
 else
 {
-               $_POST['base_desc'] = _("Base Amount");
-       text_row_ex(_("Base Amount Description").':', 'base_desc', 50, 60, '',_('Base Amount'));
+       text_row_ex(_("Base Amount Description").':', 'base_desc', 50, 60, '');
        amount_row(_("Default Base Amount").':', 'base_amount', price_format(0));
 }
 end_table(1);
index 64fdfab4b8a28012f9a61e48d5207439e1df85ff..a027f89d86b1332ee63c2853d0aef956ddd41a79 100644 (file)
@@ -18,8 +18,6 @@ this can be a string either "d/m/Y" for UK/Australia/New Zealand dates or
 "m/d/Y" for US/Canada format dates depending on setting in preferences.
 
 */
-if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
-       @date_default_timezone_set(@date_default_timezone_get());
 
 function __date($year, $month, $day)
 {
index 7f4daf9b28a415b34fd73782be7e5d436ea0cfce..5bc37a75300055bae0ff95252ed78310d9932b3f 100644 (file)
@@ -201,7 +201,7 @@ function get_purchases_from_trans($stock_id, $from)
 }
 
 //-------------------------------------------------------------------
-// Original Code V0
+/* Original Code V0 Leave as is a while
 function adjust_deliveries_v0($stock_id, $material_cost, $to)
 {
        if (!is_inventory_item($stock_id))
@@ -234,7 +234,7 @@ function adjust_deliveries_v0($stock_id, $material_cost, $to)
                add_audit_trail(ST_COSTUPDATE, $update_no, $to);
        }
 }
-
+*/
 //New written function
 function adjust_deliveries($stock_id, $material_cost, $to)
 {
@@ -265,11 +265,6 @@ function adjust_deliveries($stock_id, $material_cost, $to)
        
        $diff =  $sales_diff - $purchase_diff;
        
-       display_notification('Sales Diff - '.$sales_diff.' Purchase Diff - '.$purchase_diff);
-       
-       $sql = "INSERT INTO trace values ('Diff', ".db_escape($diff).", '')";
-       $result = db_query($sql, "The dstock moves could not be retrieved");    
-               
        if ($diff != 0)
        {
                $update_no = get_next_trans_no(ST_COSTUPDATE);
index f55951cf4652c1cc69d4f8f0a2bb0c070fc71626..7654ba70e676320c24f1ea088bfc83293f97f814 100644 (file)
@@ -21,7 +21,10 @@ function error_handler($errno, $errstr, $file, $line) {
 
        // skip well known warnings we don't care about.
        // Please use restrainedly to not risk loss of important messages
-       $excluded_warnings = array('html_entity_decode', 'htmlspecialchars');
+       $excluded_warnings = array(
+               'html_entity_decode', 'htmlspecialchars',       // nevermind encodings, special chars are processed anyway
+               'should be compatible with that'                        // ignore cpdf/frontreport wrapper warnings
+       );
        foreach($excluded_warnings as $ref) {
                if (strpos($errstr, $ref) !== false) {
                        return true;
index c279b4afc4371ded9621aa6548884168a729d8bc..669a5ce8e2bec0d737ba354d075b32f411bbd50e 100644 (file)
@@ -164,14 +164,6 @@ class hooks {
                return true;
        }
 }
-//
-// include all extensions hook files.
-//
-foreach ($installed_extensions as $ext)
-{
-       if (file_exists($path_to_root.'/'.$ext['path'].'/hooks.php'))
-               include_once($path_to_root.'/'.$ext['path'].'/hooks.php');
-}
 
 /*
        Installs hooks provided by extension modules
@@ -367,3 +359,17 @@ function hook_price_in_words($amount, $document)
 {
        return hook_invoke_last('price_in_words', $amount, $document);
 }
+//
+//     Session handling hook. This is special case of hook class which have to be run before session is started.
+//     If fa_session_manager class is defined in any installed extension, this class provides session handling
+//     for application, otherwise standard php session handling is used.
+//
+function hook_session_start($company)
+{
+       if (class_exists('fa_session_manager')) {
+               global $SessionManager;
+               $SessionManager = new fa_session_manager($company);
+               return $SessionManager->installed;
+       }
+       return false;
+}
index 4d80c9b3b163af0b09b5013840e8700e65a2eb62..7d26256d51a2917f28e234dfb010a11ff7c50b68 100644 (file)
@@ -104,7 +104,8 @@ class gettext_native_support
         */
        function check_support($lang_code, $encoding)
     {
-
+               if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') // don't do this test if server is WIN
+                       return true;
                $old = setlocale(LC_CTYPE, '0'); // LC_MESSAGES does not exist on Win
                $up = strtoupper($encoding);
                $low = strtolower($encoding);
index aa6304228e0d354ee786860c5db4942b76678278..cc387f64425d121491be0cfa0497ad5ed31d4ef8 100644 (file)
@@ -11,6 +11,7 @@
 ***********************************************************************/
 include_once($path_to_root. "/includes/archive.inc");
 include_once($path_to_root. "/includes/remote_url.inc");
+include_once($path_to_root. "/includes/hooks.inc");
 
 define('PKG_CACHE_PATH', $path_to_root.'/modules/_cache');
 define('PUBKEY_PATH', $path_to_root);
index f98c97b284d6188c55e940bff51ab84a762a3ac4..261f8914684262a22c3d842646dcd032c369770e 100644 (file)
@@ -182,6 +182,15 @@ include_once($path_to_root . "/includes/ui/ui_msgs.inc");
 include_once($path_to_root . "/includes/prefs/sysprefs.inc");
 
 include_once($path_to_root . "/includes/hooks.inc");
+//
+// include all extensions hook files.
+//
+foreach ($installed_extensions as $ext)
+{
+       if (file_exists($path_to_root.'/'.$ext['path'].'/hooks.php'))
+               include_once($path_to_root.'/'.$ext['path'].'/hooks.php');
+}
+
 
 /*
        Uncomment the setting below when using FA on shared hosting
@@ -192,9 +201,12 @@ include_once($path_to_root . "/includes/hooks.inc");
 
 ini_set('session.gc_maxlifetime', 36000); // 10hrs
 
+hook_session_start(@$_POST["company_login_name"]);
+
 session_name('FA'.md5(dirname(__FILE__)));
-//include_once($path_to_root.'/modules/www_statistics/includes/db_sessions.inc');
+
 session_start();
+session_regenerate_id();
 
 // this is to fix the "back-do-you-want-to-refresh" issue - thanx PHPFreaks
 header("Cache-control: private");
index 12e1ab244694ddbc2f9673aa43205ed4d1f3b06b..f619bbca306c3c7f49ff0de9cc155e251229ff54 100644 (file)
@@ -52,7 +52,7 @@ class items_cart
                else
                {
                        // shouldn't come here under normal circumstances
-                       display_db_error("unexpected - adding an invalid item or null quantity", "", true);
+                       display_error("unexpected - adding an invalid item or null quantity", "", true);
                }
 
                return false;
@@ -107,7 +107,7 @@ class items_cart
                else
                {
                        // shouldn't come here under normal circumstances
-                       display_db_error("unexpected - invalid parameters in add_gl_item($code_id, $dimension_id, $dimension2_id, $amount,...)", "", true);
+                       display_error("unexpected - invalid parameters in add_gl_item($code_id, $dimension_id, $dimension2_id, $amount,...)", "", true);
                }
 
                return false;
@@ -198,7 +198,7 @@ class line_item
                $item_row = get_item($stock_id);
 
                if ($item_row == null)
-                       display_db_error("invalid item added to order : $stock_id", "");
+                       display_error("invalid item added to order : $stock_id", "");
 
                $this->mb_flag = $item_row["mb_flag"];
                $this->units = $item_row["units"];
index cae9efbc5f16a34b74f1827e7f395965d515e3a7..14eb54436083283ba3f40cbaa5d4355ea2a499bc 100644 (file)
@@ -1835,11 +1835,13 @@ function pagesizes_list_row($label, $name, $value=null)
        echo "</td></tr>\n";
 }
 
-function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=false)
+function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=false, $exclude=array())
 {
        global $systypes_array;
 
-       return array_selector($name, $value, $systypes_array, 
+       // emove non-voidable transactions if needed
+       $systypes = array_diff_key($systypes_array, array_flip($exclude));
+       return array_selector($name, $value, $systypes, 
                array( 
                        'spec_option'=> $spec_opt,
                        'spec_id' => ALL_NUMERIC,
@@ -1849,19 +1851,19 @@ function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=fa
        );
 }
 
-function systypes_list_cells($label, $name, $value=null, $submit_on_change=false)
+function systypes_list_cells($label, $name, $value=null, $submit_on_change=false, $exclude=array())
 {
        if ($label != null)
                echo "<td>$label</td>\n";
        echo "<td>";
-       echo systypes_list($name, $value, false, $submit_on_change);
+       echo systypes_list($name, $value, false, $submit_on_change, $exclude);
        echo "</td>\n";
 }
 
-function systypes_list_row($label, $name, $value=null, $submit_on_change=false)
+function systypes_list_row($label, $name, $value=null, $submit_on_change=false, $exclude=array())
 {
        echo "<tr><td class='label'>$label</td>";
-       systypes_list_cells(null, $name, $value, $submit_on_change);
+       systypes_list_cells(null, $name, $value, $submit_on_change, $exclude);
        echo "</tr>\n";
 }
 
index e9e0ef59630379763a9f41588f8940940f3f7c9d..52adfbef158562c095cdcc2314f9848b180dab0d 100644 (file)
@@ -337,7 +337,7 @@ start_form();
                        }
                        subpage_title(_('Database Server Settings'));
                        start_table(TABLESTYLE);
-                       text_row_ex(_("Server Host:"), 'host', 30);
+                       text_row_ex(_("Server Host:"), 'host', 30, 60);
                        text_row_ex(_("Database User:"), 'dbuser', 30);
                        text_row_ex(_("Database Password:"), 'dbpassword', 30);
                        text_row_ex(_("Database Name:"), 'dbname', 30);
index 314da9d83818ca098e347af32f3ff8134550ee3e..77540a76dde0dfacc37296a6c1291e0afaab4e7f 100644 (file)
@@ -80,6 +80,7 @@ $inst_langs = array(
   'fr_FR' => array ( 'name' => 'Français',     'code' => 'fr_FR',      'encoding' => 'iso-8859-1'),
   'id_ID' => array ( 'name' => 'Indonesian','code' => 'id_ID', 'encoding' => 'iso-8859-1'),
   'it_IT' => array ( 'name' => 'Italian','code' => 'it_IT',    'encoding' => 'iso-8859-1'),
+  'ka_GE' => array ( 'name' => 'Georgian','code' => 'ka_GE',   'encoding' => 'utf-8'),
   'nl_BE' => array ( 'name' => 'Nederlands','code' => 'nl_BE', 'encoding' => 'iso-8859-1'),
   'pl_PL' => array ( 'name' => 'Polski',       'code' => 'pl_PL',      'encoding' => 'iso-8859-2'),
   'pt_BR' => array ( 'name' => 'Português','code' => 'pt_BR',  'encoding' => 'iso-8859-1'),
index 5cac50e5ba210174b69e76d3a9d845327349a2df..1a00590560f6f3b647794fb40d856bd4cd4b6146 100644 (file)
@@ -21,7 +21,7 @@ function blur_amount(i) {
        if (i.name=='beg_balance')
                change = -change;
 
-       price_format('difference', get_amount('difference',1,1)+change, user.pdec);
+       price_format('difference', get_amount('difference',1,1)+change, user.pdec, 1);
 }
 
 var balances = {
index 5c383df1b8651087fb72b790193c66a98234a45e..a0af14daaf505828ec3a6f43be0c912a3de59094 100644 (file)
@@ -8,13 +8,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-09 11:41+0100\n"
+"POT-Creation-Date: 2011-01-04 17:00+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: ../frontaccounting.php:73
@@ -24,41 +24,54 @@ msgstr ""
 
 #: ../frontaccounting.php:75
 #: ../access/logout.php:17
-#: ../themes/default/renderer.php:42
-#: ../themes/default/renderer.php:68
+#: ../themes/default/renderer.php:52
+#: ../themes/default/renderer.php:78
 #: ../themes/exclusive/renderer.php:42
 #: ../themes/exclusive/renderer.php:51
 msgid "Logout"
 msgstr ""
 
+#: ../link_test.php:38
+msgid "Trans Link Test"
+msgstr ""
+
 #: ../access/login.php:13
+#: ../access/sav.login.php:13
 msgid "Restricted access"
 msgstr ""
 
 #: ../access/login.php:33
+#: ../access/sav.login.php:33
 msgid "Login as user: demouser and password: password"
 msgstr ""
 
 #: ../access/login.php:37
+#: ../access/sav.login.php:37
 msgid "Please login here"
 msgstr ""
 
 #: ../access/login.php:45
 #: ../access/login.php:75
+#: ../access/sav.login.php:45
+#: ../access/sav.login.php:75
 msgid "Authorization timeout"
 msgstr ""
 
 #: ../access/login.php:45
 #: ../access/login.php:82
+#: ../access/sav.login.php:45
+#: ../access/sav.login.php:82
 msgid "Login"
 msgstr ""
 
 #: ../access/login.php:82
+#: ../access/sav.login.php:82
 #: ../admin/inst_upgrade.php:137
 msgid "Version"
 msgstr ""
 
 #: ../access/login.php:85
+#: ../access/sav.login.php:85
 msgid "User name"
 msgstr ""
 
@@ -69,18 +82,21 @@ msgid "Password:"
 msgstr ""
 
 #: ../access/login.php:98
+#: ../access/sav.login.php:98
 #: ../admin/create_coy.php:237
 #: ../admin/create_coy.php:313
 msgid "Company"
 msgstr ""
 
 #: ../access/login.php:107
+#: ../access/sav.login.php:107
 msgid "Login -->"
 msgstr ""
 
 #: ../access/login.php:136
+#: ../access/sav.login.php:137
 #: ../admin/display_prefs.php:111
-#: ../themes/default/renderer.php:113
+#: ../themes/default/renderer.php:123
 #: ../themes/exclusive/renderer.php:154
 msgid "Theme:"
 msgstr ""
@@ -93,6 +109,10 @@ msgstr ""
 msgid "Click here to Login Again."
 msgstr ""
 
+#: ../access/sav.login.php:89
+msgid "Password"
+msgstr ""
+
 #: ../admin/attachments.php:72
 msgid "Attach Documents"
 msgstr ""
@@ -124,7 +144,7 @@ msgstr ""
 
 #: ../admin/attachments.php:167
 #: ../admin/view_print_transaction.php:126
-#: ../admin/void_transaction.php:160
+#: ../admin/void_transaction.php:164
 #: ../dimensions/inquiry/search_dimensions.php:127
 #: ../dimensions/view/view_dimension.php:54
 #: ../gl/bank_account_reconcile.php:234
@@ -186,9 +206,9 @@ msgstr ""
 #: ../inventory/view/view_transfer.php:56
 #: ../manufacturing/manage/bom_edit.php:70
 #: ../manufacturing/includes/manufacturing_ui.inc:28
-#: ../purchasing/includes/ui/invoice_ui.inc:465
-#: ../purchasing/includes/ui/invoice_ui.inc:477
-#: ../purchasing/po_receive_items.php:58
+#: ../purchasing/includes/ui/invoice_ui.inc:470
+#: ../purchasing/includes/ui/invoice_ui.inc:482
+#: ../purchasing/po_receive_items.php:62
 #: ../reporting/rep104.php:109
 #: ../reporting/rep105.php:112
 #: ../reporting/rep204.php:82
@@ -243,11 +263,12 @@ msgstr ""
 #: ../gl/manage/gl_account_classes.php:132
 #: ../gl/manage/gl_account_types.php:148
 #: ../gl/manage/gl_quick_entries.php:196
-#: ../gl/manage/gl_quick_entries.php:296
+#: ../gl/manage/gl_quick_entries.php:295
 #: ../gl/includes/ui/gl_bank_ui.inc:155
 #: ../gl/includes/ui/gl_journal_ui.inc:122
 #: ../includes/ui/contacts_view.inc:64
 #: ../includes/ui/simple_crud_class.inc:52
+#: ../includes/ui/ui_input.inc:972
 #: ../inventory/prices.php:145
 #: ../inventory/purchasing_data.php:144
 #: ../inventory/includes/item_adjustments_ui.inc:87
@@ -262,7 +283,7 @@ msgstr ""
 #: ../manufacturing/manage/bom_edit.php:86
 #: ../manufacturing/manage/work_centres.php:114
 #: ../manufacturing/includes/work_order_issue_ui.inc:58
-#: ../purchasing/includes/ui/invoice_ui.inc:514
+#: ../purchasing/includes/ui/invoice_ui.inc:519
 #: ../purchasing/includes/ui/po_ui.inc:266
 #: ../purchasing/inquiry/po_search_completed.php:101
 #: ../purchasing/inquiry/po_search.php:87
@@ -314,7 +335,7 @@ msgstr ""
 #: ../gl/manage/gl_account_classes.php:133
 #: ../gl/manage/gl_account_types.php:149
 #: ../gl/manage/gl_quick_entries.php:197
-#: ../gl/manage/gl_quick_entries.php:297
+#: ../gl/manage/gl_quick_entries.php:296
 #: ../gl/includes/ui/gl_bank_ui.inc:157
 #: ../gl/includes/ui/gl_journal_ui.inc:124
 #: ../includes/ui/contacts_view.inc:67
@@ -447,8 +468,8 @@ msgid "Create backup"
 msgstr ""
 
 #: ../admin/backups.php:168
-#: ../sales/includes/ui/sales_order_ui.inc:590
-#: ../sales/includes/ui/sales_order_ui.inc:637
+#: ../sales/includes/ui/sales_order_ui.inc:594
+#: ../sales/includes/ui/sales_order_ui.inc:641
 msgid "Comments:"
 msgstr ""
 
@@ -499,7 +520,7 @@ msgstr ""
 
 #: ../admin/change_current_user_password.php:16
 #: ../admin/change_current_user_password.php:85
-#: ../themes/default/renderer.php:62
+#: ../themes/default/renderer.php:72
 #: ../themes/exclusive/renderer.php:47
 msgid "Change password"
 msgstr ""
@@ -592,7 +613,7 @@ msgstr ""
 #: ../includes/ui/contacts_view.inc:109
 #: ../inventory/manage/locations.php:202
 #: ../sales/manage/customers.php:203
-#: ../sales/includes/ui/sales_order_ui.inc:628
+#: ../sales/includes/ui/sales_order_ui.inc:632
 msgid "Address:"
 msgstr ""
 
@@ -721,7 +742,7 @@ msgstr ""
 #: ../admin/company_preferences.php:202
 #: ../admin/display_prefs.php:142
 #: ../admin/forms_setup.php:61
-#: ../admin/gl_setup.php:203
+#: ../admin/gl_setup.php:221
 #: ../admin/inst_chart.php:74
 #: ../admin/inst_lang.php:103
 #: ../admin/inst_module.php:138
@@ -729,7 +750,7 @@ msgstr ""
 #: ../admin/inst_module.php:200
 #: ../admin/inst_theme.php:96
 #: ../dimensions/dimension_entry.php:293
-#: ../gl/gl_bank.php:381
+#: ../gl/gl_bank.php:390
 #: ../gl/gl_budget.php:135
 #: ../gl/manage/gl_quick_entries.php:60
 #: ../gl/includes/ui/gl_bank_ui.inc:246
@@ -750,7 +771,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:127
 #: ../purchasing/includes/ui/po_ui.inc:299
 #: ../purchasing/includes/ui/po_ui.inc:434
-#: ../purchasing/po_receive_items.php:322
+#: ../purchasing/po_receive_items.php:326
 #: ../sales/credit_note_entry.php:280
 #: ../sales/customer_credit_invoice.php:391
 #: ../sales/customer_delivery.php:521
@@ -758,7 +779,7 @@ msgstr ""
 #: ../sales/inquiry/sales_orders_view.php:317
 #: ../sales/includes/ui/sales_credit_ui.inc:293
 #: ../sales/includes/ui/sales_order_ui.inc:238
-#: ../sales/includes/ui/sales_order_ui.inc:558
+#: ../sales/includes/ui/sales_order_ui.inc:562
 msgid "Update"
 msgstr ""
 
@@ -937,7 +958,7 @@ msgstr ""
 #: ../admin/inst_upgrade.php:149
 #: ../gl/manage/gl_account_types.php:184
 #: ../includes/ui/allocation_cart.inc:286
-#: ../taxes/tax_groups.php:220
+#: ../taxes/tax_groups.php:221
 msgid "None"
 msgstr ""
 
@@ -1277,149 +1298,161 @@ msgstr ""
 msgid "The past due days interval allowance must be between 0 and 100."
 msgstr ""
 
-#: ../admin/gl_setup.php:66
+#: ../admin/gl_setup.php:52
+msgid "Before GRN Clearing Account can be changed all GRNs have to be invoiced"
+msgstr ""
+
+#: ../admin/gl_setup.php:75
 msgid "The general GL setup has been updated."
 msgstr ""
 
-#: ../admin/gl_setup.php:116
+#: ../admin/gl_setup.php:132
 msgid "General GL"
 msgstr ""
 
-#: ../admin/gl_setup.php:118
+#: ../admin/gl_setup.php:134
 msgid "Past Due Days Interval:"
 msgstr ""
 
-#: ../admin/gl_setup.php:118
-#: ../admin/gl_setup.php:153
-#: ../admin/gl_setup.php:161
-#: ../admin/gl_setup.php:196
+#: ../admin/gl_setup.php:134
+#: ../admin/gl_setup.php:169
+#: ../admin/gl_setup.php:177
+#: ../admin/gl_setup.php:214
 #: ../admin/payment_terms.php:140
 msgid "days"
 msgstr ""
 
-#: ../admin/gl_setup.php:120
+#: ../admin/gl_setup.php:136
 msgid "Retained Earnings:"
 msgstr ""
 
-#: ../admin/gl_setup.php:122
+#: ../admin/gl_setup.php:138
 msgid "Profit/Loss Year:"
 msgstr ""
 
-#: ../admin/gl_setup.php:124
+#: ../admin/gl_setup.php:140
 msgid "Exchange Variances Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:126
+#: ../admin/gl_setup.php:142
 msgid "Bank Charges Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:130
+#: ../admin/gl_setup.php:146
 msgid "Customers and Sales"
 msgstr ""
 
-#: ../admin/gl_setup.php:132
+#: ../admin/gl_setup.php:148
 msgid "Default Credit Limit:"
 msgstr ""
 
-#: ../admin/gl_setup.php:134
+#: ../admin/gl_setup.php:150
 msgid "Accumulate batch shipping:"
 msgstr ""
 
-#: ../admin/gl_setup.php:136
+#: ../admin/gl_setup.php:152
 msgid "Legal Text on Invoice:"
 msgstr ""
 
-#: ../admin/gl_setup.php:138
+#: ../admin/gl_setup.php:154
 msgid "Shipping Charged Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:142
+#: ../admin/gl_setup.php:158
 msgid "Customers and Sales Defaults"
 msgstr ""
 
-#: ../admin/gl_setup.php:144
+#: ../admin/gl_setup.php:160
 msgid "Receivable Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:146
-#: ../admin/gl_setup.php:182
+#: ../admin/gl_setup.php:162
+#: ../admin/gl_setup.php:200
 #: ../inventory/manage/item_categories.php:192
 #: ../inventory/manage/items.php:364
 #: ../sales/manage/customer_branches.php:250
 msgid "Sales Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:149
+#: ../admin/gl_setup.php:165
 #: ../sales/manage/customer_branches.php:251
 msgid "Sales Discount Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:151
+#: ../admin/gl_setup.php:167
 #: ../sales/manage/customer_branches.php:253
 msgid "Prompt Payment Discount Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:153
+#: ../admin/gl_setup.php:169
 msgid "Delivery Required By:"
 msgstr ""
 
-#: ../admin/gl_setup.php:159
+#: ../admin/gl_setup.php:175
 msgid "Dimension Defaults"
 msgstr ""
 
-#: ../admin/gl_setup.php:161
+#: ../admin/gl_setup.php:177
 msgid "Dimension Required By After:"
 msgstr ""
 
-#: ../admin/gl_setup.php:164
+#: ../admin/gl_setup.php:180
 msgid "Suppliers and Purchasing"
 msgstr ""
 
-#: ../admin/gl_setup.php:166
+#: ../admin/gl_setup.php:182
 msgid "Delivery Over-Receive Allowance:"
 msgstr ""
 
-#: ../admin/gl_setup.php:168
+#: ../admin/gl_setup.php:184
 msgid "Invoice Over-Charge Allowance:"
 msgstr ""
 
-#: ../admin/gl_setup.php:170
+#: ../admin/gl_setup.php:186
 msgid "Suppliers and Purchasing Defaults"
 msgstr ""
 
-#: ../admin/gl_setup.php:172
+#: ../admin/gl_setup.php:188
 msgid "Payable Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:174
+#: ../admin/gl_setup.php:190
 #: ../purchasing/manage/suppliers.php:129
 msgid "Purchase Discount Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:176
+#: ../admin/gl_setup.php:192
+msgid "GRN Clearing Account:"
+msgstr ""
+
+#: ../admin/gl_setup.php:192
+msgid "No postings on GRN"
+msgstr ""
+
+#: ../admin/gl_setup.php:194
 #: ../reporting/reports_main.php:166
 msgid "Inventory"
 msgstr ""
 
-#: ../admin/gl_setup.php:178
+#: ../admin/gl_setup.php:196
 msgid "Allow Negative Inventory:"
 msgstr ""
 
-#: ../admin/gl_setup.php:179
+#: ../admin/gl_setup.php:197
 msgid "Warning:  This may cause a delay in GL postings"
 msgstr ""
 
-#: ../admin/gl_setup.php:181
+#: ../admin/gl_setup.php:199
 msgid "Items Defaults"
 msgstr ""
 
-#: ../admin/gl_setup.php:184
+#: ../admin/gl_setup.php:202
 #: ../inventory/manage/item_categories.php:202
 #: ../inventory/manage/items.php:368
 msgid "Inventory Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:186
+#: ../admin/gl_setup.php:204
 #: ../inventory/manage/item_categories.php:196
 #: ../inventory/manage/item_categories.php:204
 #: ../inventory/manage/items.php:369
@@ -1427,23 +1460,23 @@ msgstr ""
 msgid "C.O.G.S. Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:188
+#: ../admin/gl_setup.php:206
 #: ../inventory/manage/item_categories.php:205
 #: ../inventory/manage/items.php:370
 msgid "Inventory Adjustments Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:190
+#: ../admin/gl_setup.php:208
 #: ../inventory/manage/item_categories.php:209
 #: ../inventory/manage/items.php:381
 msgid "Item Assembly Costs Account:"
 msgstr ""
 
-#: ../admin/gl_setup.php:194
+#: ../admin/gl_setup.php:212
 msgid "Manufacturing Defaults"
 msgstr ""
 
-#: ../admin/gl_setup.php:196
+#: ../admin/gl_setup.php:214
 msgid "Work Order Required By After:"
 msgstr ""
 
@@ -1642,7 +1675,7 @@ msgstr ""
 
 #: ../admin/inst_module.php:170
 #: ../includes/ui/ui_lists.inc:648
-#: ../includes/ui/ui_lists.inc:2118
+#: ../includes/ui/ui_lists.inc:2120
 #: ../reporting/includes/excel_report.inc:232
 #: ../reporting/includes/pdf_report.inc:264
 msgid "Active"
@@ -2056,7 +2089,7 @@ msgid "Delete This Role"
 msgstr ""
 
 #: ../admin/security_roles.php:249
-#: ../admin/void_transaction.php:208
+#: ../admin/void_transaction.php:212
 #: ../gl/manage/gl_quick_entries.php:61
 #: ../gl/includes/ui/gl_bank_ui.inc:248
 #: ../gl/includes/ui/gl_journal_ui.inc:223
@@ -2070,7 +2103,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:129
 #: ../purchasing/includes/ui/po_ui.inc:436
 #: ../sales/includes/ui/sales_credit_ui.inc:295
-#: ../sales/includes/ui/sales_order_ui.inc:560
+#: ../sales/includes/ui/sales_order_ui.inc:564
 msgid "Cancel"
 msgstr ""
 
@@ -2330,7 +2363,7 @@ msgstr ""
 #: ../dimensions/inquiry/search_dimensions.php:88
 #: ../gl/inquiry/journal_inquiry.php:53
 #: ../manufacturing/search_work_orders.php:78
-#: ../purchasing/includes/ui/invoice_ui.inc:447
+#: ../purchasing/includes/ui/invoice_ui.inc:452
 #: ../purchasing/inquiry/po_search_completed.php:74
 #: ../purchasing/inquiry/po_search.php:76
 #: ../purchasing/inquiry/supplier_allocation_inquiry.php:57
@@ -2355,7 +2388,7 @@ msgid ""
 msgstr ""
 
 #: ../admin/view_print_transaction.php:127
-#: ../admin/void_transaction.php:161
+#: ../admin/void_transaction.php:165
 #: ../dimensions/inquiry/search_dimensions.php:128
 #: ../dimensions/view/view_dimension.php:54
 #: ../gl/bank_account_reconcile.php:235
@@ -2414,7 +2447,7 @@ msgid "Reference"
 msgstr ""
 
 #: ../admin/view_print_transaction.php:128
-#: ../admin/void_transaction.php:162
+#: ../admin/void_transaction.php:166
 #: ../dimensions/inquiry/search_dimensions.php:131
 #: ../dimensions/view/view_dimension.php:54
 #: ../gl/accruals.php:87
@@ -2476,7 +2509,7 @@ msgid "Date"
 msgstr ""
 
 #: ../admin/view_print_transaction.php:130
-#: ../admin/void_transaction.php:163
+#: ../admin/void_transaction.php:167
 #: ../includes/ui/ui_view.inc:51
 msgid "GL"
 msgstr ""
@@ -2486,26 +2519,26 @@ msgid "Void a Transaction"
 msgstr ""
 
 #: ../admin/void_transaction.php:119
-#: ../admin/void_transaction.php:164
+#: ../admin/void_transaction.php:168
 #: ../includes/ui/ui_input.inc:136
 #: ../includes/ui/ui_input.inc:277
 #: ../includes/ui/ui_lists.inc:20
 msgid "Select"
 msgstr ""
 
-#: ../admin/void_transaction.php:147
+#: ../admin/void_transaction.php:151
 msgid "Transaction Type:"
 msgstr ""
 
-#: ../admin/void_transaction.php:183
+#: ../admin/void_transaction.php:187
 msgid "Transaction #:"
 msgstr ""
 
-#: ../admin/void_transaction.php:185
+#: ../admin/void_transaction.php:189
 msgid "Voiding Date:"
 msgstr ""
 
-#: ../admin/void_transaction.php:187
+#: ../admin/void_transaction.php:191
 #: ../dimensions/dimension_entry.php:283
 #: ../gl/bank_transfer.php:91
 #: ../gl/inquiry/journal_inquiry.php:56
@@ -2515,38 +2548,38 @@ msgstr ""
 #: ../manufacturing/work_order_entry.php:449
 #: ../manufacturing/work_order_release.php:100
 #: ../purchasing/includes/ui/invoice_ui.inc:161
-#: ../purchasing/po_entry_items.php:501
-#: ../purchasing/supplier_payment.php:298
+#: ../purchasing/po_entry_items.php:504
+#: ../purchasing/supplier_payment.php:308
 #: ../sales/customer_payments.php:291
 msgid "Memo:"
 msgstr ""
 
-#: ../admin/void_transaction.php:192
-#: ../admin/void_transaction.php:201
+#: ../admin/void_transaction.php:196
+#: ../admin/void_transaction.php:205
 msgid "Void Transaction"
 msgstr ""
 
-#: ../admin/void_transaction.php:197
-#: ../admin/void_transaction.php:276
+#: ../admin/void_transaction.php:201
+#: ../admin/void_transaction.php:280
 msgid "The entered transaction does not exist or cannot be voided."
 msgstr ""
 
-#: ../admin/void_transaction.php:205
+#: ../admin/void_transaction.php:209
 msgid ""
 "Are you sure you want to void this transaction ? This action cannot be "
 "undone."
 msgstr ""
 
-#: ../admin/void_transaction.php:207
+#: ../admin/void_transaction.php:211
 #: ../includes/ui/ui_controls.inc:560
 msgid "Proceed"
 msgstr ""
 
-#: ../admin/void_transaction.php:221
+#: ../admin/void_transaction.php:225
 msgid "The selected transaction was closed for edition and cannot be voided."
 msgstr ""
 
-#: ../admin/void_transaction.php:227
+#: ../admin/void_transaction.php:231
 #: ../gl/accruals.php:32
 #: ../gl/bank_transfer.php:108
 #: ../gl/gl_journal.php:154
@@ -2554,17 +2587,17 @@ msgstr ""
 #: ../gl/manage/revaluate_currencies.php:50
 #: ../manufacturing/work_order_add_finished.php:98
 #: ../manufacturing/work_order_costs.php:83
-#: ../purchasing/po_receive_items.php:170
+#: ../purchasing/po_receive_items.php:174
 #: ../purchasing/supplier_payment.php:179
 #: ../sales/customer_credit_invoice.php:89
 #: ../sales/sales_order_entry.php:335
 msgid "The entered date is invalid."
 msgstr ""
 
-#: ../admin/void_transaction.php:233
+#: ../admin/void_transaction.php:237
 #: ../gl/accruals.php:38
 #: ../gl/bank_transfer.php:114
-#: ../gl/gl_bank.php:247
+#: ../gl/gl_bank.php:256
 #: ../gl/gl_journal.php:160
 #: ../gl/manage/revaluate_currencies.php:56
 #: ../inventory/adjustments.php:114
@@ -2583,15 +2616,15 @@ msgstr ""
 msgid "The entered date is not in fiscal year."
 msgstr ""
 
-#: ../admin/void_transaction.php:240
+#: ../admin/void_transaction.php:244
 msgid "The transaction number is expected to be numeric and greater than zero."
 msgstr ""
 
-#: ../admin/void_transaction.php:257
+#: ../admin/void_transaction.php:261
 msgid "The selected transaction has already been voided."
 msgstr ""
 
-#: ../admin/void_transaction.php:270
+#: ../admin/void_transaction.php:274
 msgid "Selected transaction has been voided."
 msgstr ""
 
@@ -3244,8 +3277,8 @@ msgid "The dimension reference must be entered."
 msgstr ""
 
 #: ../dimensions/dimension_entry.php:123
-#: ../gl/bank_transfer.php:146
-#: ../gl/gl_bank.php:235
+#: ../gl/bank_transfer.php:155
+#: ../gl/gl_bank.php:244
 #: ../gl/gl_journal.php:174
 #: ../gl/manage/revaluate_currencies.php:69
 #: ../inventory/adjustments.php:101
@@ -3253,11 +3286,11 @@ msgstr ""
 #: ../manufacturing/work_order_add_finished.php:84
 #: ../manufacturing/work_order_entry.php:138
 #: ../manufacturing/work_order_issue.php:98
-#: ../purchasing/po_entry_items.php:353
-#: ../purchasing/po_receive_items.php:184
+#: ../purchasing/po_entry_items.php:356
+#: ../purchasing/po_receive_items.php:188
 #: ../purchasing/supplier_credit.php:156
 #: ../purchasing/supplier_invoice.php:154
-#: ../purchasing/supplier_payment.php:198
+#: ../purchasing/supplier_payment.php:208
 #: ../sales/credit_note_entry.php:149
 #: ../sales/customer_credit_invoice.php:106
 #: ../sales/customer_delivery.php:181
@@ -3274,7 +3307,7 @@ msgstr ""
 #: ../dimensions/dimension_entry.php:138
 #: ../manufacturing/work_order_entry.php:153
 #: ../manufacturing/work_order_entry.php:233
-#: ../purchasing/po_entry_items.php:232
+#: ../purchasing/po_entry_items.php:235
 msgid "The date entered is in an invalid format."
 msgstr ""
 
@@ -3365,8 +3398,8 @@ msgstr ""
 #: ../dimensions/dimension_entry.php:302
 #: ../includes/ui/simple_crud_class.inc:225
 #: ../purchasing/includes/ui/invoice_ui.inc:186
-#: ../purchasing/includes/ui/invoice_ui.inc:386
-#: ../purchasing/includes/ui/invoice_ui.inc:388
+#: ../purchasing/includes/ui/invoice_ui.inc:391
+#: ../purchasing/includes/ui/invoice_ui.inc:393
 msgid "Add"
 msgstr ""
 
@@ -3383,7 +3416,7 @@ msgstr ""
 #: ../gl/inquiry/gl_account_inquiry.php:128
 #: ../gl/inquiry/gl_trial_balance.php:83
 #: ../gl/manage/gl_quick_entries.php:241
-#: ../gl/manage/gl_quick_entries.php:334
+#: ../gl/manage/gl_quick_entries.php:333
 #: ../includes/sysnames.inc:164
 #: ../purchasing/includes/ui/invoice_ui.inc:245
 #: ../purchasing/includes/ui/invoice_ui.inc:247
@@ -3500,14 +3533,14 @@ msgstr ""
 #: ../purchasing/includes/ui/invoice_ui.inc:92
 #: ../purchasing/includes/ui/po_ui.inc:159
 #: ../purchasing/includes/ui/po_ui.inc:164
-#: ../purchasing/supplier_payment.php:271
+#: ../purchasing/supplier_payment.php:281
 #: ../sales/customer_payments.php:258
 msgid "Reference:"
 msgstr ""
 
 #: ../dimensions/inquiry/search_dimensions.php:75
 #: ../includes/ui/allocation_cart.inc:284
-#: ../includes/ui/ui_lists.inc:1885
+#: ../includes/ui/ui_lists.inc:1887
 #: ../reporting/rep101.php:112
 #: ../reporting/rep102.php:88
 #: ../reporting/rep104.php:95
@@ -3589,7 +3622,7 @@ msgstr ""
 #: ../sales/view/view_invoice.php:96
 #: ../sales/inquiry/customer_allocation_inquiry.php:146
 #: ../sales/inquiry/customer_inquiry.php:217
-#: ../sales/includes/ui/sales_order_ui.inc:596
+#: ../sales/includes/ui/sales_order_ui.inc:600
 #: ../themes/exclusive/renderer.php:289
 #: ../themes/exclusive/renderer.php:383
 msgid "Due Date"
@@ -3679,10 +3712,10 @@ msgstr ""
 #: ../gl/inquiry/gl_trial_balance.php:51
 #: ../gl/inquiry/profit_loss.php:174
 #: ../gl/inquiry/profit_loss.php:176
-#: ../gl/manage/gl_quick_entries.php:262
-#: ../gl/manage/gl_quick_entries.php:264
-#: ../gl/manage/gl_quick_entries.php:344
-#: ../gl/manage/gl_quick_entries.php:346
+#: ../gl/manage/gl_quick_entries.php:261
+#: ../gl/manage/gl_quick_entries.php:263
+#: ../gl/manage/gl_quick_entries.php:343
+#: ../gl/manage/gl_quick_entries.php:345
 #: ../gl/view/accrual_trans.php:54
 #: ../gl/view/accrual_trans.php:56
 #: ../gl/view/gl_deposit_view.php:99
@@ -3837,10 +3870,10 @@ msgstr ""
 #: ../gl/gl_budget.php:93
 #: ../gl/inquiry/journal_inquiry.php:125
 #: ../gl/inquiry/tax_inquiry.php:82
-#: ../gl/manage/gl_quick_entries.php:262
-#: ../gl/manage/gl_quick_entries.php:264
-#: ../gl/manage/gl_quick_entries.php:266
-#: ../gl/manage/gl_quick_entries.php:340
+#: ../gl/manage/gl_quick_entries.php:261
+#: ../gl/manage/gl_quick_entries.php:263
+#: ../gl/manage/gl_quick_entries.php:265
+#: ../gl/manage/gl_quick_entries.php:339
 #: ../gl/view/bank_transfer_view.php:70
 #: ../gl/view/bank_transfer_view.php:80
 #: ../gl/view/gl_deposit_view.php:67
@@ -4024,7 +4057,7 @@ msgstr ""
 
 #: ../gl/bank_transfer.php:77
 #: ../gl/bank_transfer.php:84
-#: ../purchasing/supplier_payment.php:284
+#: ../purchasing/supplier_payment.php:294
 #: ../sales/customer_payments.php:274
 msgid "Bank Charge:"
 msgstr ""
@@ -4034,21 +4067,26 @@ msgid "Enter Transfer"
 msgstr ""
 
 #: ../gl/bank_transfer.php:121
-#: ../gl/bank_transfer.php:128
+#: ../gl/bank_transfer.php:137
 #: ../purchasing/supplier_payment.php:130
 #: ../purchasing/supplier_payment.php:136
 msgid "The entered amount is invalid or less than zero."
 msgstr ""
 
-#: ../gl/bank_transfer.php:133
+#: ../gl/bank_transfer.php:130
+#, php-format
+msgid "The total bank amount exceeds allowed limit (%s) for source account."
+msgstr ""
+
+#: ../gl/bank_transfer.php:142
 #: ../purchasing/supplier_payment.php:144
 #: ../sales/customer_payments.php:131
 msgid ""
 "The Bank Charge Account has not been set in System and General GL Setup."
 msgstr ""
 
-#: ../gl/bank_transfer.php:139
-#: ../gl/gl_bank.php:229
+#: ../gl/bank_transfer.php:148
+#: ../gl/gl_bank.php:238
 #: ../gl/gl_journal.php:166
 #: ../gl/manage/revaluate_currencies.php:62
 #: ../inventory/adjustments.php:94
@@ -4056,8 +4094,8 @@ msgstr ""
 #: ../manufacturing/work_order_add_finished.php:77
 #: ../manufacturing/work_order_entry.php:131
 #: ../manufacturing/work_order_issue.php:91
-#: ../purchasing/po_receive_items.php:177
-#: ../purchasing/supplier_payment.php:191
+#: ../purchasing/po_receive_items.php:181
+#: ../purchasing/supplier_payment.php:201
 #: ../sales/credit_note_entry.php:145
 #: ../sales/customer_credit_invoice.php:100
 #: ../sales/customer_delivery.php:175
@@ -4067,7 +4105,7 @@ msgstr ""
 msgid "You must enter a reference."
 msgstr ""
 
-#: ../gl/bank_transfer.php:153
+#: ../gl/bank_transfer.php:162
 msgid "The source and destination bank accouts cannot be the same."
 msgstr ""
 
@@ -4134,35 +4172,41 @@ msgstr ""
 msgid "The total bank amount cannot be 0."
 msgstr ""
 
-#: ../gl/gl_bank.php:241
+#: ../gl/gl_bank.php:231
+#: ../purchasing/supplier_payment.php:194
+#, php-format
+msgid "The total bank amount exceeds allowed limit (%s)."
+msgstr ""
+
+#: ../gl/gl_bank.php:250
 msgid "The entered date for the payment is invalid."
 msgstr ""
 
-#: ../gl/gl_bank.php:253
+#: ../gl/gl_bank.php:262
 msgid "You have to select customer and customer branch."
 msgstr ""
 
-#: ../gl/gl_bank.php:257
+#: ../gl/gl_bank.php:266
 msgid "You have to select supplier."
 msgstr ""
 
-#: ../gl/gl_bank.php:303
+#: ../gl/gl_bank.php:312
 msgid "The amount entered is not a valid number or is less than zero."
 msgstr ""
 
-#: ../gl/gl_bank.php:375
+#: ../gl/gl_bank.php:384
 msgid "Payment Items"
 msgstr ""
 
-#: ../gl/gl_bank.php:375
+#: ../gl/gl_bank.php:384
 msgid "Deposit Items"
 msgstr ""
 
-#: ../gl/gl_bank.php:383
+#: ../gl/gl_bank.php:392
 msgid "Process Payment"
 msgstr ""
 
-#: ../gl/gl_bank.php:383
+#: ../gl/gl_bank.php:392
 msgid "Process Deposit"
 msgstr ""
 
@@ -4252,9 +4296,9 @@ msgstr ""
 #: ../inventory/includes/item_adjustments_ui.inc:102
 #: ../manufacturing/includes/manufacturing_ui.inc:178
 #: ../purchasing/includes/ui/invoice_ui.inc:309
-#: ../purchasing/includes/ui/invoice_ui.inc:468
-#: ../purchasing/includes/ui/invoice_ui.inc:538
-#: ../purchasing/po_receive_items.php:59
+#: ../purchasing/includes/ui/invoice_ui.inc:473
+#: ../purchasing/includes/ui/invoice_ui.inc:543
+#: ../purchasing/po_receive_items.php:63
 #: ../purchasing/view/view_po.php:140
 #: ../purchasing/allocations/supplier_allocation_main.php:100
 #: ../reporting/rep101.php:237
@@ -5213,8 +5257,6 @@ msgid "Selected quick entry line has been deleted"
 msgstr ""
 
 #: ../gl/manage/gl_quick_entries.php:171
-#: ../gl/manage/gl_quick_entries.php:245
-#: ../gl/manage/gl_quick_entries.php:246
 msgid "Base Amount"
 msgstr ""
 
@@ -5231,41 +5273,41 @@ msgstr ""
 msgid "Yearly"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:246
+#: ../gl/manage/gl_quick_entries.php:245
 msgid "Base Amount Description"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:247
+#: ../gl/manage/gl_quick_entries.php:246
 msgid "Default Base Amount"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:256
+#: ../gl/manage/gl_quick_entries.php:255
 msgid "Quick Entry Lines"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:262
-#: ../gl/manage/gl_quick_entries.php:264
-#: ../gl/manage/gl_quick_entries.php:266
+#: ../gl/manage/gl_quick_entries.php:261
+#: ../gl/manage/gl_quick_entries.php:263
+#: ../gl/manage/gl_quick_entries.php:265
 msgid "Post"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:262
-#: ../gl/manage/gl_quick_entries.php:264
-#: ../gl/manage/gl_quick_entries.php:266
+#: ../gl/manage/gl_quick_entries.php:261
+#: ../gl/manage/gl_quick_entries.php:263
+#: ../gl/manage/gl_quick_entries.php:265
 msgid "Account/Tax Type"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:321
+#: ../gl/manage/gl_quick_entries.php:320
 msgid "Posted"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:330
+#: ../gl/manage/gl_quick_entries.php:329
 #: ../sales/customer_delivery.php:431
 #: ../sales/customer_invoice.php:443
 msgid "Tax Type"
 msgstr ""
 
-#: ../gl/manage/gl_quick_entries.php:338
+#: ../gl/manage/gl_quick_entries.php:337
 msgid "Part"
 msgstr ""
 
@@ -5520,7 +5562,7 @@ msgstr ""
 #: ../inventory/includes/item_adjustments_ui.inc:88
 #: ../inventory/includes/stock_transfers_ui.inc:80
 #: ../manufacturing/includes/work_order_issue_ui.inc:59
-#: ../purchasing/includes/ui/invoice_ui.inc:514
+#: ../purchasing/includes/ui/invoice_ui.inc:519
 #: ../purchasing/includes/ui/po_ui.inc:267
 #: ../sales/includes/ui/sales_credit_ui.inc:198
 #: ../sales/includes/ui/sales_order_ui.inc:204
@@ -5547,7 +5589,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:128
 #: ../purchasing/includes/ui/po_ui.inc:435
 #: ../sales/includes/ui/sales_credit_ui.inc:294
-#: ../sales/includes/ui/sales_order_ui.inc:559
+#: ../sales/includes/ui/sales_order_ui.inc:563
 msgid "Confirm changes"
 msgstr ""
 
@@ -5559,7 +5601,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:130
 #: ../purchasing/includes/ui/po_ui.inc:437
 #: ../sales/includes/ui/sales_credit_ui.inc:296
-#: ../sales/includes/ui/sales_order_ui.inc:561
+#: ../sales/includes/ui/sales_order_ui.inc:565
 msgid "Cancel changes"
 msgstr ""
 
@@ -5570,7 +5612,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:136
 #: ../purchasing/includes/ui/po_ui.inc:443
 #: ../sales/includes/ui/sales_credit_ui.inc:302
-#: ../sales/includes/ui/sales_order_ui.inc:567
+#: ../sales/includes/ui/sales_order_ui.inc:571
 msgid "Add Item"
 msgstr ""
 
@@ -5580,7 +5622,7 @@ msgstr ""
 #: ../manufacturing/includes/work_order_issue_ui.inc:137
 #: ../purchasing/includes/ui/po_ui.inc:444
 #: ../sales/includes/ui/sales_credit_ui.inc:303
-#: ../sales/includes/ui/sales_order_ui.inc:568
+#: ../sales/includes/ui/sales_order_ui.inc:572
 msgid "Add new item to document"
 msgstr ""
 
@@ -6174,23 +6216,23 @@ msgstr ""
 msgid "Requesting data..."
 msgstr ""
 
-#: ../includes/errors.inc:73
+#: ../includes/errors.inc:76
 msgid "in file"
 msgstr ""
 
-#: ../includes/errors.inc:73
+#: ../includes/errors.inc:76
 msgid "at line "
 msgstr ""
 
-#: ../includes/errors.inc:120
+#: ../includes/errors.inc:123
 msgid "Debug mode database warning:"
 msgstr ""
 
-#: ../includes/errors.inc:122
+#: ../includes/errors.inc:125
 msgid "DATABASE ERROR :"
 msgstr ""
 
-#: ../includes/errors.inc:153
+#: ../includes/errors.inc:156
 msgid ""
 "The entered information is a duplicate. Please go back and enter different "
 "values."
@@ -6200,78 +6242,86 @@ msgstr ""
 msgid "This page is usable only with javascript enabled browsers."
 msgstr ""
 
-#: ../includes/packages.inc:294
+#: ../includes/packages.inc:295
 msgid "Release file in repository is invalid, or public key is outdated."
 msgstr ""
 
-#: ../includes/packages.inc:310
+#: ../includes/packages.inc:311
 msgid "Repository version does not match application version."
 msgstr ""
 
-#: ../includes/packages.inc:324
+#: ../includes/packages.inc:325
 #, php-format
 msgid ""
 "Security alert: broken index file in repository '%s'. Please inform "
 "repository administrator about this issue."
 msgstr ""
 
-#: ../includes/packages.inc:357
+#: ../includes/packages.inc:358
 #, php-format
 msgid ""
 "Security alert: broken package '%s' in repository. Please inform repository "
 "administrator about this issue."
 msgstr ""
 
-#: ../includes/packages.inc:612
-#: ../includes/packages.inc:663
+#: ../includes/packages.inc:613
+#: ../includes/packages.inc:664
 #, php-format
 msgid "Package '%s' not found."
 msgstr ""
 
+#: ../includes/sav.session.inc:39
 #: ../includes/session.inc:39
 msgid "Incorrect Password"
 msgstr ""
 
+#: ../includes/sav.session.inc:40
 #: ../includes/session.inc:40
 msgid "The user and password combination is not valid for the system."
 msgstr ""
 
+#: ../includes/sav.session.inc:42
 #: ../includes/session.inc:42
 msgid ""
 "If you are not an authorized user, please contact your system administrator "
 "to obtain an account to enable you to use the system."
 msgstr ""
 
+#: ../includes/sav.session.inc:43
 #: ../includes/session.inc:43
 msgid "Try again"
 msgstr ""
 
+#: ../includes/sav.session.inc:58
 #: ../includes/session.inc:62
 msgid "Security settings have not been defined for your user account."
 msgstr ""
 
+#: ../includes/sav.session.inc:59
 #: ../includes/session.inc:63
 msgid "Please contact your system administrator."
 msgstr ""
 
+#: ../includes/sav.session.inc:60
 #: ../includes/session.inc:64
 msgid ""
 "Please remove $security_groups and $security_headings arrays from config.php "
 "file!"
 msgstr ""
 
-#: ../includes/session.inc:66
-msgid ""
-"Access to application has been blocked until database upgrade is completed "
-"by system administrator."
-msgstr ""
-
+#: ../includes/sav.session.inc:72
 #: ../includes/session.inc:80
 msgid ""
 "The security settings on your account do not permit you to access this "
 "function"
 msgstr ""
 
+#: ../includes/session.inc:66
+msgid ""
+"Access to application has been blocked until database upgrade is completed "
+"by system administrator."
+msgstr ""
+
 #: ../includes/session.inc:89
 msgid ""
 "System is blocked after source upgrade until database is updated on System/"
@@ -6361,7 +6411,7 @@ msgid "Sales Order"
 msgstr ""
 
 #: ../includes/sysnames.inc:41
-#: ../sales/sales_order_entry.php:592
+#: ../sales/sales_order_entry.php:595
 msgid "Sales Quotation"
 msgstr ""
 
@@ -6983,23 +7033,26 @@ msgid ""
 "trail record."
 msgstr ""
 
-#: ../includes/db/inventory_db.inc:227
-#, php-format
-msgid "Cost was %s changed to %s for item '%s'"
-msgstr ""
-
-#: ../includes/db/inventory_db.inc:285
+#: ../includes/db/inventory_db.inc:280
+#: ../includes/db/inventory_db.inc.old:285
 msgid "Cost was "
 msgstr ""
 
-#: ../includes/db/inventory_db.inc:285
+#: ../includes/db/inventory_db.inc:280
+#: ../includes/db/inventory_db.inc.old:285
 msgid " changed to "
 msgstr ""
 
-#: ../includes/db/inventory_db.inc:285
+#: ../includes/db/inventory_db.inc:280
+#: ../includes/db/inventory_db.inc.old:285
 msgid " for item "
 msgstr ""
 
+#: ../includes/db/inventory_db.inc.old:227
+#, php-format
+msgid "Cost was %s changed to %s for item '%s'"
+msgstr ""
+
 #: ../includes/ui/allocation_cart.inc:263
 #: ../purchasing/allocations/supplier_allocation_main.php:94
 #: ../sales/allocations/customer_allocation_main.php:93
@@ -7238,7 +7291,7 @@ msgid "Click Here to Pick up the date"
 msgstr ""
 
 #: ../includes/ui/ui_input.inc:904
-#: ../includes/ui/ui_lists.inc:2118
+#: ../includes/ui/ui_lists.inc:2120
 #: ../reporting/rep301.php:147
 #: ../reporting/rep302.php:166
 #: ../reporting/rep303.php:170
@@ -7320,97 +7373,97 @@ msgstr ""
 msgid "Use Item Sales Accounts"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1902
-#: ../includes/ui/ui_lists.inc:1919
-#: ../includes/ui/ui_lists.inc:1936
+#: ../includes/ui/ui_lists.inc:1904
+#: ../includes/ui/ui_lists.inc:1921
+#: ../includes/ui/ui_lists.inc:1938
 msgid "All Types"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1903
+#: ../includes/ui/ui_lists.inc:1905
 #: ../sales/view/view_sales_order.php:126
 msgid "Sales Invoices"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1904
-#: ../includes/ui/ui_lists.inc:1921
-#: ../includes/ui/ui_lists.inc:1939
+#: ../includes/ui/ui_lists.inc:1906
+#: ../includes/ui/ui_lists.inc:1923
+#: ../includes/ui/ui_lists.inc:1941
 msgid "Overdue Invoices"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1905
-#: ../includes/ui/ui_lists.inc:1922
-#: ../includes/ui/ui_lists.inc:1940
+#: ../includes/ui/ui_lists.inc:1907
+#: ../includes/ui/ui_lists.inc:1924
+#: ../includes/ui/ui_lists.inc:1942
 msgid "Payments"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1906
-#: ../includes/ui/ui_lists.inc:1923
-#: ../includes/ui/ui_lists.inc:1941
+#: ../includes/ui/ui_lists.inc:1908
+#: ../includes/ui/ui_lists.inc:1925
+#: ../includes/ui/ui_lists.inc:1943
 #: ../sales/view/view_sales_order.php:157
 msgid "Credit Notes"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1907
+#: ../includes/ui/ui_lists.inc:1909
 #: ../sales/view/view_sales_order.php:92
 msgid "Delivery Notes"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1920
-#: ../includes/ui/ui_lists.inc:1938
+#: ../includes/ui/ui_lists.inc:1922
+#: ../includes/ui/ui_lists.inc:1940
 msgid "Invoices"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1924
-#: ../includes/ui/ui_lists.inc:1942
+#: ../includes/ui/ui_lists.inc:1926
+#: ../includes/ui/ui_lists.inc:1944
 msgid "Overdue Credit Notes"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1937
+#: ../includes/ui/ui_lists.inc:1939
 msgid "GRNs"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1955
+#: ../includes/ui/ui_lists.inc:1957
 msgid "Automatically put balance on back order"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1956
+#: ../includes/ui/ui_lists.inc:1958
 msgid "Cancel any quantites not delivered"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1973
+#: ../includes/ui/ui_lists.inc:1975
 msgid "Items Returned to Inventory Location"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:1974
+#: ../includes/ui/ui_lists.inc:1976
 msgid "Items Written Off"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2144
+#: ../includes/ui/ui_lists.inc:2146
 msgid "New role"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2202
+#: ../includes/ui/ui_lists.inc:2204
 msgid "No tags defined."
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2202
+#: ../includes/ui/ui_lists.inc:2204
 msgid "No active tags defined."
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2240
+#: ../includes/ui/ui_lists.inc:2242
 #, php-format
 msgid "Activated for '%s'"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2243
+#: ../includes/ui/ui_lists.inc:2245
 msgid "Available and/or installed"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2313
+#: ../includes/ui/ui_lists.inc:2315
 msgid "Standard new company American COA (4 digit)"
 msgstr ""
 
-#: ../includes/ui/ui_lists.inc:2315
+#: ../includes/ui/ui_lists.inc:2317
 msgid "Standard American COA (4 digit) with demo data"
 msgstr ""
 
@@ -7464,7 +7517,7 @@ msgid "No Quick Entry lines are defined."
 msgstr ""
 
 #: ../includes/ui/ui_view.inc:753
-#: ../purchasing/includes/ui/invoice_ui.inc:446
+#: ../purchasing/includes/ui/invoice_ui.inc:451
 msgid "and"
 msgstr ""
 
@@ -7775,8 +7828,8 @@ msgstr ""
 
 #: ../inventory/prices.php:133
 #: ../inventory/purchasing_data.php:127
-#: ../purchasing/includes/ui/invoice_ui.inc:478
-#: ../purchasing/po_receive_items.php:59
+#: ../purchasing/includes/ui/invoice_ui.inc:483
+#: ../purchasing/po_receive_items.php:63
 #: ../purchasing/view/view_grn.php:41
 #: ../purchasing/view/view_po.php:45
 #: ../reporting/rep104.php:109
@@ -7932,7 +7985,7 @@ msgstr ""
 #: ../inventory/reorder_level.php:57
 #: ../inventory/inquiry/stock_movements.php:77
 #: ../inventory/inquiry/stock_status.php:69
-#: ../sales/sales_order_entry.php:482
+#: ../sales/sales_order_entry.php:485
 #: ../sales/includes/ui/sales_order_ui.inc:176
 msgid "Quantity On Hand"
 msgstr ""
@@ -8013,7 +8066,7 @@ msgstr ""
 #: ../inventory/includes/stock_transfers_ui.inc:60
 #: ../manufacturing/includes/work_order_issue_ui.inc:33
 #: ../purchasing/includes/ui/po_ui.inc:236
-#: ../purchasing/po_receive_items.php:58
+#: ../purchasing/po_receive_items.php:62
 #: ../purchasing/view/view_grn.php:40
 #: ../purchasing/view/view_po.php:45
 #: ../reporting/includes/doctext.inc:102
@@ -8064,7 +8117,7 @@ msgstr ""
 #: ../manufacturing/includes/manufacturing_ui.inc:157
 #: ../manufacturing/includes/manufacturing_ui.inc:332
 #: ../manufacturing/includes/work_order_issue_ui.inc:33
-#: ../purchasing/includes/ui/invoice_ui.inc:478
+#: ../purchasing/includes/ui/invoice_ui.inc:483
 #: ../purchasing/includes/ui/po_ui.inc:236
 #: ../purchasing/view/view_grn.php:40
 #: ../purchasing/view/view_po.php:45
@@ -8160,7 +8213,7 @@ msgid "Show Movements"
 msgstr ""
 
 #: ../inventory/inquiry/stock_movements.php:61
-#: ../purchasing/includes/ui/invoice_ui.inc:447
+#: ../purchasing/includes/ui/invoice_ui.inc:452
 #: ../purchasing/inquiry/supplier_allocation_inquiry.php:57
 #: ../purchasing/inquiry/supplier_inquiry.php:54
 #: ../sales/inquiry/customer_allocation_inquiry.php:51
@@ -8249,7 +8302,7 @@ msgstr ""
 #: ../inventory/view/view_transfer.php:56
 #: ../manufacturing/view/wo_issue_view.php:77
 #: ../manufacturing/manage/bom_edit.php:71
-#: ../purchasing/po_receive_items.php:58
+#: ../purchasing/po_receive_items.php:62
 #: ../sales/customer_credit_invoice.php:291
 #: ../sales/customer_delivery.php:430
 #: ../sales/customer_invoice.php:442
@@ -8309,7 +8362,7 @@ msgid "Foreign Item Codes"
 msgstr ""
 
 #: ../inventory/manage/item_codes.php:23
-#: ../sales/sales_order_entry.php:637
+#: ../sales/sales_order_entry.php:640
 msgid "There are no inventory items defined in the system."
 msgstr ""
 
@@ -8378,7 +8431,7 @@ msgstr ""
 #: ../sales/manage/credit_status.php:145
 #: ../sales/manage/recurrent_invoices.php:147
 #: ../taxes/item_tax_types.php:168
-#: ../taxes/tax_groups.php:203
+#: ../taxes/tax_groups.php:204
 #: ../taxes/tax_types.php:158
 msgid "Description:"
 msgstr ""
@@ -8447,8 +8500,8 @@ msgstr ""
 #: ../manufacturing/search_work_orders.php:163
 #: ../manufacturing/view/wo_issue_view.php:44
 #: ../manufacturing/view/wo_production_view.php:45
-#: ../purchasing/includes/ui/invoice_ui.inc:465
-#: ../purchasing/includes/ui/invoice_ui.inc:477
+#: ../purchasing/includes/ui/invoice_ui.inc:470
+#: ../purchasing/includes/ui/invoice_ui.inc:482
 #: ../reporting/rep204.php:82
 #: ../themes/exclusive/renderer.php:433
 #: ../themes/exclusive/renderer.php:452
@@ -9500,6 +9553,11 @@ msgstr ""
 msgid "Produced"
 msgstr ""
 
+#: ../purchasing/includes/db/invoice_db.inc:593
+#: ../purchasing/includes/db/invoice_db.inc:595
+msgid "GRN Removal"
+msgstr ""
+
 #: ../purchasing/includes/ui/grn_ui.inc:23
 #: ../purchasing/includes/ui/po_ui.inc:319
 #: ../sales/view/view_sales_order.php:73
@@ -9592,7 +9650,7 @@ msgid "Reset"
 msgstr ""
 
 #: ../purchasing/includes/ui/invoice_ui.inc:189
-#: ../purchasing/po_receive_items.php:323
+#: ../purchasing/po_receive_items.php:327
 msgid "Clear all GL entry fields"
 msgstr ""
 
@@ -9608,27 +9666,27 @@ msgstr ""
 msgid "Quick Entry:"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:386
+#: ../purchasing/includes/ui/invoice_ui.inc:391
 msgid "Add to Invoice"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:388
+#: ../purchasing/includes/ui/invoice_ui.inc:393
 msgid "Add to Credit Note"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:390
+#: ../purchasing/includes/ui/invoice_ui.inc:395
 #: ../sales/customer_invoice.php:497
 msgid "Remove"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:390
-#: ../purchasing/includes/ui/invoice_ui.inc:425
+#: ../purchasing/includes/ui/invoice_ui.inc:395
+#: ../purchasing/includes/ui/invoice_ui.inc:430
 msgid ""
 "WARNING! Be careful with removal. The operation is executed immediately and "
 "cannot be undone !!!"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:392
+#: ../purchasing/includes/ui/invoice_ui.inc:397
 #, php-format
 msgid ""
 "You are about to remove all yet non-invoiced items from delivery line #%d. "
@@ -9636,96 +9694,96 @@ msgid ""
 "continue ?"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:423
+#: ../purchasing/includes/ui/invoice_ui.inc:428
 msgid "Items Received Yet to be Invoiced"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:428
+#: ../purchasing/includes/ui/invoice_ui.inc:433
 msgid "Delivery Item Selected For Adding To A Supplier Credit Note"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:433
+#: ../purchasing/includes/ui/invoice_ui.inc:438
 msgid "Received Items Charged on this Invoice"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:435
+#: ../purchasing/includes/ui/invoice_ui.inc:440
 msgid "Received Items Credited on this Note"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:445
+#: ../purchasing/includes/ui/invoice_ui.inc:450
 msgid "Received between"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:456
+#: ../purchasing/includes/ui/invoice_ui.inc:461
 msgid "Add All Items"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:465
-#: ../purchasing/includes/ui/invoice_ui.inc:477
+#: ../purchasing/includes/ui/invoice_ui.inc:470
+#: ../purchasing/includes/ui/invoice_ui.inc:482
 #: ../sales/inquiry/sales_orders_view.php:150
 msgid "Delivery"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:465
+#: ../purchasing/includes/ui/invoice_ui.inc:470
 msgid "Sequence #"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:465
+#: ../purchasing/includes/ui/invoice_ui.inc:470
 msgid "P.O."
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:466
+#: ../purchasing/includes/ui/invoice_ui.inc:471
 msgid "Received On"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:466
+#: ../purchasing/includes/ui/invoice_ui.inc:471
 #: ../purchasing/view/view_po.php:46
 msgid "Quantity Received"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:466
+#: ../purchasing/includes/ui/invoice_ui.inc:471
 #: ../purchasing/view/view_grn.php:41
 #: ../purchasing/view/view_po.php:46
 msgid "Quantity Invoiced"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:467
+#: ../purchasing/includes/ui/invoice_ui.inc:472
 msgid "Qty Yet To Invoice"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:467
+#: ../purchasing/includes/ui/invoice_ui.inc:472
 #: ../purchasing/includes/ui/po_ui.inc:238
 #: ../sales/includes/ui/sales_order_ui.inc:143
 msgid "Price after Tax"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:467
+#: ../purchasing/includes/ui/invoice_ui.inc:472
 #: ../purchasing/includes/ui/po_ui.inc:238
 #: ../sales/includes/ui/sales_order_ui.inc:143
 msgid "Price before Tax"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:473
+#: ../purchasing/includes/ui/invoice_ui.inc:478
 msgid "Qty Yet To Credit"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:478
+#: ../purchasing/includes/ui/invoice_ui.inc:483
 msgid "Line Value"
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:545
+#: ../purchasing/includes/ui/invoice_ui.inc:550
 msgid ""
 "There are no outstanding items received from this supplier that have not "
 "been invoiced by them."
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:548
+#: ../purchasing/includes/ui/invoice_ui.inc:553
 msgid ""
 "There are no received items for the selected supplier that have been "
 "invoiced."
 msgstr ""
 
-#: ../purchasing/includes/ui/invoice_ui.inc:549
+#: ../purchasing/includes/ui/invoice_ui.inc:554
 msgid "Credits can only be applied to invoiced items."
 msgstr ""
 
@@ -9734,17 +9792,17 @@ msgid "Supplier Currency:"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:178
-#: ../sales/sales_order_entry.php:661
+#: ../sales/sales_order_entry.php:664
 msgid "Order Date:"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:179
-#: ../sales/sales_order_entry.php:648
+#: ../sales/sales_order_entry.php:651
 msgid "Delivery Date:"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:179
-#: ../sales/sales_order_entry.php:642
+#: ../sales/sales_order_entry.php:645
 msgid "Invoice Date:"
 msgstr ""
 
@@ -9775,12 +9833,12 @@ msgid "Order Items"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:237
-#: ../purchasing/po_receive_items.php:58
+#: ../purchasing/po_receive_items.php:62
 msgid "Received"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:238
-#: ../sales/includes/ui/sales_order_ui.inc:611
+#: ../sales/includes/ui/sales_order_ui.inc:615
 msgid "Required Delivery Date"
 msgstr ""
 
@@ -9791,7 +9849,7 @@ msgid "Line Total"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:289
-#: ../purchasing/po_receive_items.php:110
+#: ../purchasing/po_receive_items.php:114
 #: ../reporting/includes/doctext.inc:147
 #: ../sales/customer_credit_invoice.php:333
 #: ../sales/customer_delivery.php:499
@@ -9804,7 +9862,7 @@ msgid "Sub-total"
 msgstr ""
 
 #: ../purchasing/includes/ui/po_ui.inc:298
-#: ../purchasing/po_receive_items.php:118
+#: ../purchasing/po_receive_items.php:122
 #: ../purchasing/view/view_grn.php:79
 #: ../purchasing/view/view_po.php:93
 #: ../sales/customer_delivery.php:506
@@ -9880,178 +9938,183 @@ msgstr ""
 msgid "&View this GRN"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:104
-#: ../purchasing/po_receive_items.php:38
+#: ../purchasing/po_entry_items.php:102
+#: ../purchasing/po_receive_items.php:40
+msgid "View the GL Journal Entries for this Delivery"
+msgstr ""
+
+#: ../purchasing/po_entry_items.php:107
+#: ../purchasing/po_receive_items.php:42
 msgid "Entry purchase &invoice for this receival"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:106
-#: ../purchasing/po_entry_items.php:130
+#: ../purchasing/po_entry_items.php:109
+#: ../purchasing/po_entry_items.php:133
 #: ../purchasing/supplier_credit.php:49
 #: ../purchasing/supplier_invoice.php:52
 msgid "Add an Attachment"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:109
+#: ../purchasing/po_entry_items.php:112
 msgid "Enter &Another GRN"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:118
+#: ../purchasing/po_entry_items.php:121
 msgid "Direct Purchase Invoice has been entered"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:120
+#: ../purchasing/po_entry_items.php:123
 msgid "&View this Invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:125
+#: ../purchasing/po_entry_items.php:128
 #: ../purchasing/supplier_invoice.php:46
 msgid "View the GL Journal Entries for this Invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:127
+#: ../purchasing/po_entry_items.php:130
 #: ../purchasing/supplier_invoice.php:48
 msgid "Entry supplier &payment for this invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:133
+#: ../purchasing/po_entry_items.php:136
 msgid "Enter &Another Direct Invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:165
+#: ../purchasing/po_entry_items.php:168
 msgid ""
 "This item cannot be deleted because some of it has already been received."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:180
+#: ../purchasing/po_entry_items.php:183
 msgid ""
 "This order cannot be cancelled because some of it has already been received."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:181
+#: ../purchasing/po_entry_items.php:184
 msgid ""
 "The line item quantities may be modified to quantities more than already "
 "received. prices cannot be altered for lines that have already been received "
 "and quantities cannot be reduced below the quantity already received."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:196
+#: ../purchasing/po_entry_items.php:199
 msgid "This purchase order has been cancelled."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:198
+#: ../purchasing/po_entry_items.php:201
 msgid "Enter a new purchase order"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:210
-#: ../sales/sales_order_entry.php:454
+#: ../purchasing/po_entry_items.php:213
+#: ../sales/sales_order_entry.php:457
 msgid "Item description cannot be empty."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:220
+#: ../purchasing/po_entry_items.php:223
 msgid "The quantity of the order item must be numeric and not less than "
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:227
+#: ../purchasing/po_entry_items.php:230
 msgid "The price entered must be numeric and not less than zero."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:251
+#: ../purchasing/po_entry_items.php:254
 msgid ""
 "You are attempting to make the quantity ordered a quantity less than has "
 "already been invoiced or received.  This is prohibited."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:252
+#: ../purchasing/po_entry_items.php:255
 msgid ""
 "The quantity received can only be modified by entering a negative receipt "
 "and the quantity invoiced can only be reduced by entering a credit note "
 "against this item."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:280
+#: ../purchasing/po_entry_items.php:283
 msgid "The selected item is already on this order."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:307
+#: ../purchasing/po_entry_items.php:310
 msgid ""
 "The selected item does not exist or it is a kit part and therefore cannot be "
 "purchased."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:323
+#: ../purchasing/po_entry_items.php:326
 #: ../purchasing/supplier_invoice.php:352
 #: ../purchasing/supplier_payment.php:118
 msgid "There is no supplier selected."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:330
+#: ../purchasing/po_entry_items.php:333
 msgid "The entered order date is invalid."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:337
+#: ../purchasing/po_entry_items.php:340
 msgid "The entered due date is invalid."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:346
+#: ../purchasing/po_entry_items.php:349
 msgid "There is no reference entered for this purchase order."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:361
+#: ../purchasing/po_entry_items.php:364
 #: ../purchasing/supplier_invoice.php:161
 msgid "You must enter a supplier's invoice reference."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:367
+#: ../purchasing/po_entry_items.php:370
 msgid "There is no delivery address specified."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:373
+#: ../purchasing/po_entry_items.php:376
 msgid "There is no location specified to move any items into."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:380
+#: ../purchasing/po_entry_items.php:383
 msgid ""
 "The order cannot be placed because there are no lines entered on this order."
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:506
-#: ../sales/sales_order_entry.php:665
+#: ../purchasing/po_entry_items.php:509
+#: ../sales/sales_order_entry.php:668
 msgid "Place Order"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:507
+#: ../purchasing/po_entry_items.php:510
 msgid "Update Order"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:508
-#: ../sales/sales_order_entry.php:664
+#: ../purchasing/po_entry_items.php:511
+#: ../sales/sales_order_entry.php:667
 msgid "Cancel Order"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:510
+#: ../purchasing/po_entry_items.php:513
 msgid "Process GRN"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:511
+#: ../purchasing/po_entry_items.php:514
 msgid "Update GRN"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:512
+#: ../purchasing/po_entry_items.php:515
 msgid "Cancel GRN"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:515
+#: ../purchasing/po_entry_items.php:518
 #: ../sales/customer_invoice.php:557
 msgid "Process Invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:516
+#: ../purchasing/po_entry_items.php:519
 msgid "Update Invoice"
 msgstr ""
 
-#: ../purchasing/po_entry_items.php:517
-#: ../sales/sales_order_entry.php:645
+#: ../purchasing/po_entry_items.php:520
+#: ../sales/sales_order_entry.php:648
 msgid "Cancel Invoice"
 msgstr ""
 
@@ -10067,23 +10130,23 @@ msgstr ""
 msgid "&View this Delivery"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:40
+#: ../purchasing/po_receive_items.php:44
 msgid "Select a different &purchase order for receiving items against"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:49
+#: ../purchasing/po_receive_items.php:53
 msgid ""
 "This page can only be opened if a purchase order has been selected. Please "
 "select a purchase order first."
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:58
+#: ../purchasing/po_receive_items.php:62
 #: ../reporting/rep105.php:112
 #: ../sales/customer_delivery.php:430
 msgid "Ordered"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:59
+#: ../purchasing/po_receive_items.php:63
 #: ../reporting/rep101.php:131
 #: ../reporting/rep105.php:113
 #: ../reporting/rep105.php:167
@@ -10092,30 +10155,30 @@ msgstr ""
 msgid "Outstanding"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:59
+#: ../purchasing/po_receive_items.php:63
 #: ../sales/customer_delivery.php:431
 msgid "This Delivery"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:164
-#: ../purchasing/po_receive_items.php:213
+#: ../purchasing/po_receive_items.php:168
+#: ../purchasing/po_receive_items.php:217
 msgid ""
 "There is nothing to process. Please enter valid quantities greater than zero."
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:218
+#: ../purchasing/po_receive_items.php:222
 msgid ""
 "Entered quantities cannot be greater than the quantity entered on the "
 "purchase order including the allowed over-receive percentage"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:220
+#: ../purchasing/po_receive_items.php:224
 msgid ""
 "Modify the ordered items on the purchase order if you wish to increase the "
 "quantities."
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:238
+#: ../purchasing/po_receive_items.php:242
 msgid ""
 "This order has been changed or invoiced since this delivery was started to "
 "be actioned. Processing halted. To enter a delivery against this purchase "
@@ -10123,19 +10186,19 @@ msgid ""
 "by the other user."
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:241
+#: ../purchasing/po_receive_items.php:245
 msgid "Select a different purchase order for receiving goods against"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:244
+#: ../purchasing/po_receive_items.php:248
 msgid "Re-Read the updated purchase order for receiving goods against"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:318
+#: ../purchasing/po_receive_items.php:322
 msgid "Items to Receive"
 msgstr ""
 
-#: ../purchasing/po_receive_items.php:323
+#: ../purchasing/po_receive_items.php:327
 msgid "Process Receive Items"
 msgstr ""
 
@@ -10332,33 +10395,33 @@ msgid ""
 "positive values."
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:263
+#: ../purchasing/supplier_payment.php:273
 msgid "Payment To:"
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:267
+#: ../purchasing/supplier_payment.php:277
 msgid "From Bank Account:"
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:273
+#: ../purchasing/supplier_payment.php:283
 #: ../purchasing/view/view_supp_payment.php:55
 msgid "Date Paid"
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:296
+#: ../purchasing/supplier_payment.php:306
 #: ../sales/customer_payments.php:287
 msgid "Amount of Discount:"
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:297
+#: ../purchasing/supplier_payment.php:307
 msgid "Amount of Payment:"
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:303
+#: ../purchasing/supplier_payment.php:313
 msgid "The amount and discount are in the bank account's currency."
 msgstr ""
 
-#: ../purchasing/supplier_payment.php:306
+#: ../purchasing/supplier_payment.php:316
 msgid "Enter Payment"
 msgstr ""
 
@@ -11520,7 +11583,7 @@ msgid "Rate"
 msgstr ""
 
 #: ../reporting/rep709.php:108
-#: ../taxes/tax_groups.php:213
+#: ../taxes/tax_groups.php:214
 msgid "Tax"
 msgstr ""
 
@@ -11937,7 +12000,7 @@ msgstr ""
 #: ../reporting/includes/doctext.inc:34
 #: ../sales/view/view_sales_order.php:68
 #: ../sales/inquiry/sales_orders_view.php:278
-#: ../sales/includes/ui/sales_order_ui.inc:606
+#: ../sales/includes/ui/sales_order_ui.inc:610
 msgid "Valid until"
 msgstr ""
 
@@ -12168,19 +12231,19 @@ msgstr ""
 msgid "Report Period"
 msgstr ""
 
-#: ../reporting/includes/pdf_report.inc:977
+#: ../reporting/includes/pdf_report.inc:980
 msgid "You have no email contact defined for this type of document"
 msgstr ""
 
-#: ../reporting/includes/pdf_report.inc:1019
+#: ../reporting/includes/pdf_report.inc:1022
 msgid "Sending document by email failed"
 msgstr ""
 
-#: ../reporting/includes/pdf_report.inc:1022
+#: ../reporting/includes/pdf_report.inc:1025
 msgid "has been sent by email to destination."
 msgstr ""
 
-#: ../reporting/includes/pdf_report.inc:1052
+#: ../reporting/includes/pdf_report.inc:1055
 msgid "Report has been sent to network printer "
 msgstr ""
 
@@ -12349,7 +12412,7 @@ msgid "Modifying Customer Credit Note #%d"
 msgstr ""
 
 #: ../sales/credit_note_entry.php:51
-#: ../sales/sales_order_entry.php:639
+#: ../sales/sales_order_entry.php:642
 msgid ""
 "There are no customers, or there are no customers with branches. Please "
 "define customers and customer branches."
@@ -12638,7 +12701,7 @@ msgid "There are no item quantities on this delivery note."
 msgstr ""
 
 #: ../sales/customer_delivery.php:290
-#: ../sales/sales_order_entry.php:480
+#: ../sales/sales_order_entry.php:483
 #: ../sales/includes/ui/sales_order_ui.inc:245
 msgid ""
 "The delivery cannot be processed because there is an insufficient quantity "
@@ -12713,7 +12776,7 @@ msgstr ""
 
 #: ../sales/customer_delivery.php:524
 #: ../sales/customer_invoice.php:558
-#: ../sales/sales_order_entry.php:687
+#: ../sales/sales_order_entry.php:690
 msgid "Check entered data and save document"
 msgstr ""
 
@@ -13107,138 +13170,138 @@ msgstr ""
 msgid "You need to define a cash account for your Sales Point."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:459
+#: ../sales/sales_order_entry.php:462
 msgid ""
 "The item could not be updated because you are attempting to set the quantity "
 "ordered to less than 0, or the discount percent to more than 100."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:463
-msgid "Price for item must be entered and can not be less than 0"
+#: ../sales/sales_order_entry.php:466
+msgid "Price for inventory item must be entered and can not be less than 0"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:470
+#: ../sales/sales_order_entry.php:473
 msgid ""
 "You attempting to make the quantity ordered a quantity less than has already "
 "been delivered. The quantity delivered cannot be modified retrospectively."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:510
+#: ../sales/sales_order_entry.php:513
 msgid ""
 "This item cannot be deleted because some of it has already been delivered."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:539
+#: ../sales/sales_order_entry.php:542
 msgid "Direct delivery entry has been cancelled as requested."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:540
+#: ../sales/sales_order_entry.php:543
 msgid "Enter a New Sales Delivery"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:543
+#: ../sales/sales_order_entry.php:546
 msgid "Direct invoice entry has been cancelled as requested."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:544
+#: ../sales/sales_order_entry.php:547
 msgid "Enter a New Sales Invoice"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:549
+#: ../sales/sales_order_entry.php:552
 msgid ""
 "This order cannot be cancelled because some of it has already been invoiced "
 "or dispatched. However, the line item quantities may be modified."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:554
+#: ../sales/sales_order_entry.php:557
 msgid "This sales quotation has been cancelled as requested."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:555
+#: ../sales/sales_order_entry.php:558
 msgid "Enter a New Sales Quotation"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:559
+#: ../sales/sales_order_entry.php:562
 msgid "This sales order has been cancelled as requested."
 msgstr ""
 
-#: ../sales/sales_order_entry.php:560
+#: ../sales/sales_order_entry.php:563
 msgid "Enter a New Sales Order"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:643
+#: ../sales/sales_order_entry.php:646
 msgid "Sales Invoice Items"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:644
+#: ../sales/sales_order_entry.php:647
 msgid "Enter Delivery Details and Confirm Invoice"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:646
+#: ../sales/sales_order_entry.php:649
 msgid "Place Invoice"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:649
+#: ../sales/sales_order_entry.php:652
 msgid "Delivery Note Items"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:650
+#: ../sales/sales_order_entry.php:653
 msgid "Enter Delivery Details and Confirm Dispatch"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:651
+#: ../sales/sales_order_entry.php:654
 msgid "Cancel Delivery"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:652
+#: ../sales/sales_order_entry.php:655
 msgid "Place Delivery"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:654
+#: ../sales/sales_order_entry.php:657
 msgid "Quotation Date:"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:655
+#: ../sales/sales_order_entry.php:658
 msgid "Sales Quotation Items"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:656
+#: ../sales/sales_order_entry.php:659
 msgid "Enter Delivery Details and Confirm Quotation"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:657
+#: ../sales/sales_order_entry.php:660
 msgid "Cancel Quotation"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:658
+#: ../sales/sales_order_entry.php:661
 msgid "Place Quotation"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:659
+#: ../sales/sales_order_entry.php:662
 msgid "Commit Quotations Changes"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:662
+#: ../sales/sales_order_entry.php:665
 msgid "Sales Order Items"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:663
+#: ../sales/sales_order_entry.php:666
 msgid "Enter Delivery Details and Confirm Order"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:666
+#: ../sales/sales_order_entry.php:669
 msgid "Commit Order Changes"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:688
+#: ../sales/sales_order_entry.php:691
 msgid "You are about to void this Document.\\nDo you want to continue?"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:691
+#: ../sales/sales_order_entry.php:694
 msgid "Validate changes and update document"
 msgstr ""
 
-#: ../sales/sales_order_entry.php:695
+#: ../sales/sales_order_entry.php:698
 msgid ""
 "Cancels document entry or removes sales order when editing an old document"
 msgstr ""
@@ -14166,7 +14229,7 @@ msgid "Customer Currency:"
 msgstr ""
 
 #: ../sales/includes/ui/sales_credit_ui.inc:112
-#: ../sales/includes/ui/sales_order_ui.inc:639
+#: ../sales/includes/ui/sales_order_ui.inc:643
 msgid "Shipping Company:"
 msgstr ""
 
@@ -14210,72 +14273,72 @@ msgstr ""
 msgid "Date of order receive"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:585
+#: ../sales/includes/ui/sales_order_ui.inc:589
 msgid "Cash payment"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:588
-#: ../sales/includes/ui/sales_order_ui.inc:617
+#: ../sales/includes/ui/sales_order_ui.inc:592
+#: ../sales/includes/ui/sales_order_ui.inc:621
 msgid "Deliver from Location:"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:589
+#: ../sales/includes/ui/sales_order_ui.inc:593
 msgid "Cash account:"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:595
+#: ../sales/includes/ui/sales_order_ui.inc:599
 msgid "Delivery Details"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:600
+#: ../sales/includes/ui/sales_order_ui.inc:604
 msgid "Invoice Delivery Details"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:601
+#: ../sales/includes/ui/sales_order_ui.inc:605
 msgid "Invoice before"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:605
+#: ../sales/includes/ui/sales_order_ui.inc:609
 msgid "Quotation Delivery Details"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:610
+#: ../sales/includes/ui/sales_order_ui.inc:614
 msgid "Order Delivery Details"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:623
+#: ../sales/includes/ui/sales_order_ui.inc:627
 msgid "Enter requested day of delivery"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:624
+#: ../sales/includes/ui/sales_order_ui.inc:628
 msgid "Enter Valid until Date"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:625
+#: ../sales/includes/ui/sales_order_ui.inc:629
 msgid "Deliver To:"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:626
+#: ../sales/includes/ui/sales_order_ui.inc:630
 msgid "Additional identifier for delivery e.g. name of receiving person"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:629
+#: ../sales/includes/ui/sales_order_ui.inc:633
 msgid "Delivery address. Default is address of customer branch"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:633
+#: ../sales/includes/ui/sales_order_ui.inc:637
 msgid "Contact Phone Number:"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:634
+#: ../sales/includes/ui/sales_order_ui.inc:638
 msgid "Phone number of ordering person. Defaults to branch phone number"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:635
+#: ../sales/includes/ui/sales_order_ui.inc:639
 msgid "Customer Reference:"
 msgstr ""
 
-#: ../sales/includes/ui/sales_order_ui.inc:636
+#: ../sales/includes/ui/sales_order_ui.inc:640
 msgid "Customer reference number for this order (if any)"
 msgstr ""
 
@@ -14365,15 +14428,15 @@ msgstr ""
 msgid "Shipping Tax"
 msgstr ""
 
-#: ../taxes/tax_groups.php:204
+#: ../taxes/tax_groups.php:205
 msgid "Tax applied to Shipping:"
 msgstr ""
 
-#: ../taxes/tax_groups.php:208
+#: ../taxes/tax_groups.php:209
 msgid "Select the taxes that are included in this group."
 msgstr ""
 
-#: ../taxes/tax_groups.php:213
+#: ../taxes/tax_groups.php:214
 msgid "Rate (%)"
 msgstr ""
 
@@ -14440,19 +14503,19 @@ msgstr ""
 msgid "Purchasing GL Account:"
 msgstr ""
 
-#: ../themes/default/renderer.php:17
+#: ../themes/default/renderer.php:27
 #: ../themes/exclusive/renderer.php:19
 msgid "Main Menu"
 msgstr ""
 
-#: ../themes/default/renderer.php:43
-#: ../themes/default/renderer.php:66
+#: ../themes/default/renderer.php:53
+#: ../themes/default/renderer.php:76
 #: ../themes/exclusive/renderer.php:43
 #: ../themes/exclusive/renderer.php:50
 msgid "Help"
 msgstr ""
 
-#: ../themes/default/renderer.php:61
+#: ../themes/default/renderer.php:71
 #: ../themes/exclusive/renderer.php:46
 msgid "Preferences"
 msgstr ""
index 8e521288428b51b7cbdfe91681cfd9eb59522c9b..691ae73f8f71f92bb63bd316859e332a37c08245 100644 (file)
@@ -89,17 +89,27 @@ function add_grn(&$po)
 
        $grn = add_grn_batch($po->order_no, $po->supplier_id, $po->reference, $po->Location, $date_);
 
+    $clearing_act = get_company_pref('grn_clearing_act');
+       if ($clearing_act) {    // otherwise GRN clearing account is not used
+           $total = 0;
+       }
        foreach ($po->line_items as $line_no => $order_line)
        {
-
                if ($order_line->receive_qty != 0 && $order_line->receive_qty != "" && isset($order_line->receive_qty))
                {
+                       $stock_gl_code = get_stock_gl_code($order_line->stock_id);
 
                        /*Update sales_order_details for the new quantity received and the standard cost used for postings to GL and recorded in the stock movements for FIFO/LIFO stocks valuations*/
-                       //------------------- update average material cost ------------------------------------------ Joe Hunt Mar-03-2008
+                       //------------------- update average material cost and clearing account ----- Joe Hunt Mar-03-2008
                        if (is_inventory_item($order_line->stock_id))
+                       {
+                               if ($clearing_act)
+                                       $total += add_gl_trans_supplier(ST_SUPPRECEIVE, $grn, $date_, $stock_gl_code["inventory_account"],
+                                               $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
+                                               $order_line->receive_qty * $order_line->taxfree_charge_price($po), $po->supplier_id);
                                update_average_material_cost($po->supplier_id, $order_line->stock_id, $order_line->price,
                                        $order_line->receive_qty, $date_);
+                       }               
                        //----------------------------------------------------------------------------------------------------------------
                        if ($order_line->qty_received == 0)
                        {
@@ -126,6 +136,10 @@ function add_grn(&$po)
                } /*quantity received is != 0 */
        } /*end of order_line loop */
 
+       if ($clearing_act && $total != 0.0) {
+               $total += add_gl_trans_supplier(ST_SUPPRECEIVE, $grn, $date_, $clearing_act,
+                       0, 0, -$total, null);
+       }
        $Refs->save(ST_SUPPRECEIVE, $grn, $po->reference);
 
        add_audit_trail(ST_SUPPRECEIVE, $grn, $date_);
@@ -229,8 +243,10 @@ function get_grn_items($grn_batch_id=0, $supplier_id="", $outstanding_only=false
        $is_invoiced_only=false, $invoice_no=0, $begin="", $end="")
 {
     $sql = "SELECT ".TB_PREF."grn_batch.*, ".TB_PREF."grn_items.*, "
-       .TB_PREF."purch_order_details.unit_price,
-               ".TB_PREF."purch_order_details.std_cost_unit, units
+       .TB_PREF."purch_order_details.unit_price,"
+       .TB_PREF."purch_order_details.act_price,"
+       .TB_PREF."purch_order_details.quantity_ordered,"
+               .TB_PREF."purch_order_details.std_cost_unit, units
        FROM ".TB_PREF."grn_batch, ".TB_PREF."grn_items, "
        .TB_PREF."purch_order_details, ".TB_PREF."stock_master";
     if ($invoice_no != 0)
@@ -305,7 +321,7 @@ function read_grn_items_to_order($grn_batch, &$order)
                        }
 
                        $order->add_to_order($order->lines_on_order, $myrow["item_code"],
-                               1,$myrow["description"], $myrow["unit_price"],$units,
+                               $myrow["qty_recd"],$myrow["description"], $myrow["unit_price"],$units,
                                sql2date($myrow["delivery_date"]), $myrow["quantity_inv"],
                                $myrow["qty_recd"]);
 
@@ -332,6 +348,7 @@ function read_grn($grn_batch, &$order)
        if ($result)
        {
 
+               $order->trans_type = ST_SUPPRECEIVE;
                $order->orig_order_date = sql2date($row["delivery_date"]);
                $order->location = $row["loc_code"];
                $order->reference = $row["reference"];
index 58e3aeb7bf6c7ab2c126bbc78abfb8adcb51df37..06d27cde04265d5093cd79c1647c729b1a85678e 100644 (file)
@@ -189,6 +189,8 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                        $trans_type, $invoice_id, $entered_gl_code->amount,
                        $ex_rate, $date_, $supp_trans->supp_reference, $supp_trans->tax_included);
     }
+    
+    $clearing_act = get_company_pref('grn_clearing_act');
     foreach ($supp_trans->grn_items as $line_no => $entered_grn)
     {
 
@@ -200,17 +202,20 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                $line_taxfree = $entered_grn->taxfree_charge_price($supp_trans->tax_group_id);
                $line_tax = $entered_grn->full_charge_price($supp_trans->tax_group_id) - $line_taxfree;
                $stock_gl_code = get_stock_gl_code($entered_grn->item_code);
-               $iv_act = (is_inventory_item($entered_grn->item_code) ? $stock_gl_code["inventory_account"] : 
-                       ($supplier_accounts["purchase_account"] ? $supplier_accounts["purchase_account"] : $stock_gl_code["cogs_account"]));
-               $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $iv_act,
-                       $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
-                       $entered_grn->this_quantity_inv * $line_taxfree, $supp_trans->supplier_id);
-               /*$total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $iv_act,
-                       $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
-                       $entered_grn->this_quantity_inv * $line_taxfree, $supp_trans->supplier_id);*/
-       // -------------- if price changed since po received. 16 Aug 2008 Joe Hunt
-       if ($trans_type == ST_SUPPINVOICE)
+               
+       if ($trans_type == ST_SUPPCREDIT)
+               {
+                       $iv_act = (is_inventory_item($entered_grn->item_code) ? $stock_gl_code["inventory_account"] : 
+                               ($supplier_accounts["purchase_account"] ? $supplier_accounts["purchase_account"] : $stock_gl_code["cogs_account"]));
+                       $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $iv_act,
+                               $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
+                               $entered_grn->this_quantity_inv * $line_taxfree, $supp_trans->supplier_id);
+               }
+       else
        {
+               // -------------- if price changed since po received. 16 Aug 2008 Joe Hunt
+                       $iv_act = is_inventory_item($entered_grn->item_code) ? ($clearing_act ? $clearing_act : $stock_gl_code["inventory_account"]) : 
+                               ($supplier_accounts["purchase_account"] ? $supplier_accounts["purchase_account"] : $stock_gl_code["cogs_account"]);
                $old = update_supp_received_items_for_invoice($entered_grn->id, $entered_grn->po_detail_item,
                        $entered_grn->this_quantity_inv, $entered_grn->chg_price);
                        // Since the standard cost is always calculated on basis of the po unit_price,
@@ -228,8 +233,17 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                        //{
                        //$diff = $entered_grn->chg_price - $old_price;
                        $old_date = sql2date($old[1]);
-                       if (is_inventory_item($entered_grn->item_code))
+                       if (!is_inventory_item($entered_grn->item_code))
+                               $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $iv_act,
+                                       $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
+                                       $entered_grn->this_quantity_inv * $line_taxfree, $supp_trans->supplier_id);
+                       else
                        {
+                               $currency = get_supplier_currency($supp_trans->supplier_id);
+                               $ex_rate = get_exchange_rate_from_home_currency($currency, $old_date);
+                               $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $iv_act,
+                                       $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
+                                       $entered_grn->this_quantity_inv * $old_price, $supp_trans->supplier_id, "", $ex_rate);
                                $diff = get_diff_in_home_currency($supp_trans->supplier_id, $old_date, $date_, $old_price, 
                                        $entered_grn->chg_price);       
                        
@@ -243,14 +257,14 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                                if (($diff * $entered_grn->this_quantity_inv) != 0 )
                                {
                                        $diff_amt = $diff * $entered_grn->this_quantity_inv;
-                                       add_gl_trans($trans_type, $invoice_id, $date_,  $iv_act,
+                                       $total += add_gl_trans($trans_type, $invoice_id, $date_,        $stock_gl_code["inventory_account"],
                                                $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'], 'GRN Provision',
                                                $diff_amt, null, null, null,
                                                "The general ledger transaction could not be added for the GRN of the inventory item"); 
                                        
-                                       add_gl_trans($trans_type, $invoice_id, $date_,  $stock_gl_code["cogs_account"],
-                                               0, 0, 'GRN Provision', -$diff_amt, null, null, null,
-                                               "The general ledger transaction could not be added for the GRN of the inventory item");                         
+                                       //add_gl_trans($trans_type, $invoice_id, $date_,        $stock_gl_code["cogs_account"],
+                                       //      0, 0, 'GRN Provision', -$diff_amt, null, null, null,
+                                       //      "The general ledger transaction could not be added for the GRN of the inventory item");                         
                                }
                        }       
                        // added 2008-12-08 Joe Hunt. Update the purchase data table
@@ -566,6 +580,21 @@ function remove_not_invoice_item($id)
 
        add_stock_move(ST_SUPPRECEIVE, $myrow["item_code"], $myrow['grn_batch_id'], $grn['loc_code'], sql2date($grn["delivery_date"]), "",
                -$myrow["QtyOstdg"], $myrow['std_cost_unit'], $grn["supplier_id"], 1, $myrow['unit_price']);
+               
+    $clearing_act = get_company_pref('grn_clearing_act');
+       if ($clearing_act) {    // otherwise GRN clearing account is not used
+               if (is_inventory_item($myrow['item_code']))
+               {
+               $total = 0;
+                       $stock_gl_code = get_stock_gl_code($myrow['item_code']);
+                       $date = sql2date($grn["delivery_date"]);
+                       $total += add_gl_trans_supplier(ST_SUPPRECEIVE, $myrow['grn_batch_id'], $date, $stock_gl_code["inventory_account"],
+                               $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'],
+                               -$myrow['QtyOstdg'] * $myrow['unit_price'], $grn["supplier_id"], "", 0, _("GRN Removal"));
+                       $total += add_gl_trans_supplier(ST_SUPPRECEIVE, $myrow['grn_batch_id'], $date, $clearing_act,
+                               0, 0, -$total, null, "", 0, _("GRN Removal"));
+               }       
+       }
 
        commit_transaction();
 }
index 64cd7d3ab0617c3d9595a259af6259d3766c6762..ebd2c7241e177f0dfe0f576bb7728a60e31520e6 100644 (file)
@@ -137,6 +137,7 @@ function read_po_header($order_no, &$order)
 
        $myrow = db_fetch($result);
 
+       $order->trans_type = ST_PURCHORDER;
        $order->order_no = $order_no;
        
        $order->set_supplier($myrow["supplier_id"], $myrow["supp_name"], $myrow["curr_code"],
index c9ab5b0785570bb935c906e3976cd9c2d966535d..b767e9ea9261f66e9ee64245c4f9067bae4bd475 100644 (file)
@@ -124,8 +124,12 @@ class purch_order
                }
                return 0;
        }
-
-       function get_taxes($shipping_cost=null)
+       
+       //
+       //      Returns taxes for PO/GRN.
+       //      $receival=true in purchase receive context.
+       //
+       function get_taxes($shipping_cost=null, $receival=false)
        {
                $items = array();
                $prices = array();
@@ -134,7 +138,7 @@ class purch_order
 
                foreach ($this->line_items as $ln_itm) {
                        $items[] = $ln_itm->stock_id;
-                       $prices[] = round($ln_itm->quantity * $ln_itm->price,  user_price_dec());
+                       $prices[] = round($ln_itm->price * ($receival ? $ln_itm->receive_qty : $ln_itm->quantity),  user_price_dec());
                }
                $taxes = get_tax_for_items($items, $prices, $shipping_cost,
                  $this->tax_group_id, $this->tax_included,  $this->tax_group_array);
@@ -226,6 +230,12 @@ class po_line_details
                $this->standard_cost =0;
                $this->grn_item_id = $grn_item_id;
        }
+       
+       function taxfree_charge_price($po)
+       {
+               return get_tax_free_price_for_item($this->stock_id, $this->price, 
+                 $po->tax_group_id, $po->tax_included, $po->tax_group_array);
+       }
 }
 
 ?>
index 41ae4b3ba366dc2b791408789f2424e6293e7625..dd2d8ed6dded0be050ac56c1c16db95cd6901714 100644 (file)
@@ -377,11 +377,16 @@ function display_grn_items_for_selection(&$supp_trans, $k)
                qty_cells(null, 'This_QuantityCredited'.$n, number_format2(max($myrow["quantity_inv"], 0), $dec), 
                        null, null, $dec);
             $dec2 = 0;                 
-            amount_cells(null, 'ChgPrice'.$n, price_decimal_format($myrow["unit_price"], $dec2), null, null, $dec2);
             if ($supp_trans->trans_type == ST_SUPPINVOICE)
+            {
+               amount_cells(null, 'ChgPrice'.$n, price_decimal_format($myrow["unit_price"], $dec2), null, null, $dec2);
                amount_cell(round2($myrow["unit_price"] * ($myrow["qty_recd"] - $myrow["quantity_inv"]), user_price_dec()));
-            else       
-               amount_cell(round2($myrow["unit_price"] * max($myrow['quantity_inv'], 0), user_price_dec()));
+            }
+            else
+            {
+               amount_cells(null, 'ChgPrice'.$n, price_decimal_format($myrow["act_price"], $dec2), null, null, $dec2);
+               amount_cell(round2($myrow["act_price"] * max($myrow['quantity_inv'], 0), user_price_dec()));
+            }  
             if ($supp_trans->trans_type == ST_SUPPINVOICE)
                        submit_cells('grn_item_id'.$n, _("Add"), '', _("Add to Invoice"), true);
                else    
index 5f713a481791f8d3e7eb0b8612489eb3e6639861..d5ae6fc1e3b6f50ef3fe83a0c700bb15b5aa13d9 100644 (file)
@@ -201,7 +201,7 @@ function display_po_header(&$order)
        /*If this is the first time the form loaded set up defaults */
 
         //$_POST['StkLocation'] = $_SESSION['UserStockLocation'];
-        $sql = "SELECT delivery_address, phone FROM ".TB_PREF."locations WHERE loc_code='" . db_escape($_POST['StkLocation']) . "'";
+        $sql = "SELECT delivery_address, phone FROM ".TB_PREF."locations WHERE loc_code=".db_escape($_POST['StkLocation']);
         $result = db_query($sql,"could not get location info");
 
         if (db_num_rows($result) == 1)
index d707dbfe11bc841776fd0deb3c779147920c02de..84fe0e38642443572beeab234325a99f3f0c905e 100644 (file)
@@ -97,6 +97,9 @@ if (isset($_GET['AddedID']))
 
        display_note(get_trans_view_str($trans_type, $trans_no, _("&View this GRN")), 0);
 
+    $clearing_act = get_company_pref('grn_clearing_act');
+       if ($clearing_act)      
+               display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Journal Entries for this Delivery")), 1);
 // not yet
 //     display_note(print_document_link($trans_no, _("&Print This GRN"), true, $trans_type), 0, 1);
 
index c7e7cb134d34699128aa109c21302f3673df1877..85acc0adf0da063ad701cd2de6daca0d535e5dc2 100644 (file)
@@ -34,6 +34,10 @@ if (isset($_GET['AddedID']))
        display_notification_centered(_("Purchase Order Delivery has been processed"));
 
        display_note(get_trans_view_str($trans_type, $grn, _("&View this Delivery")));
+       
+    $clearing_act = get_company_pref('grn_clearing_act');
+       if ($clearing_act)      
+               display_note(get_gl_view_str($trans_type, $grn, _("View the GL Journal Entries for this Delivery")), 1);
 
        hyperlink_params("$path_to_root/purchasing/supplier_invoice.php", _("Entry purchase &invoice for this receival"), "New=1");
 
@@ -108,7 +112,7 @@ function display_po_receive_items()
        $display_sub_total = price_format($total/* + input_num('freight_cost')*/);
 
        label_row(_("Sub-total"), $display_sub_total, "colspan=$colspan align=right","align=right");
-       $taxes = $_SESSION['PO']->get_taxes(input_num('freight_cost'));
+       $taxes = $_SESSION['PO']->get_taxes(input_num('freight_cost'), true);
        
        $tax_total = display_edit_tax_items($taxes, $colspan, $_SESSION['PO']->tax_included);
 
index 0d094ba346b5e49d0512ed05b905e1d33be4bf38..5421ee401d426db3ce60862252aa81999c6a94df 100644 (file)
@@ -186,6 +186,16 @@ function check_inputs()
                set_focus('DatePaid');
                return false;
        }
+
+       $limit = get_bank_account_limit($_POST['bank_account'], $_POST['DatePaid']);
+
+       if ($limit != null && ($limit < input_num('amount')))
+       {
+               display_error(sprintf(_("The total bank amount exceeds allowed limit (%s)."), price_format($limit)));
+               set_focus('amount');
+               return false;
+       }
+
     if (!$Refs->is_valid($_POST['ref'])) 
     {
                display_error(_("You must enter a reference."));
index daacbd2dbbb26a010b6fd3c82b790f1833130a5c..98bd06a240502d571a3b25073457f27117e799a2 100644 (file)
@@ -738,6 +738,8 @@ class FrontReport extends Cpdf
 
        function TextWrap($xpos, $ypos, $len, $str, $align = 'left', $border = 0, $fill = 0, $link = NULL, $stretch = 1, $spacebreak=false)
        {
+               $str = strtr($str, array("\r"=>''));
+
                if ($this->fontSize != $this->oldFontSize)
                {
                        $this->SetFontSize($this->fontSize);
@@ -792,7 +794,8 @@ class FrontReport extends Cpdf
 
        function TextWrapLines($c, $width, $txt, $align='left', $border=0, $fill=0, $link=NULL, $stretch=0, $spacebreak=true)
        {
-               $str = Explode("\n", $txt);
+               $str = explode("\n", $txt);
+
                for ($i = 0; $i < count($str); $i++)
                {
                        $l = $str[$i];
index 2b3cd451452564753209224898eee15f593fafa9..748fc2a082f6134abe7de6f193cb012d2fe7971f 100644 (file)
@@ -91,7 +91,7 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
                ".db_escape($Freight).",
                $FreightTax, $rate, ".db_escape($ship_via).", $AllocAmt,
                ".db_escape($dimension_id).", ".db_escape($dimension2_id).", "
-               .db_escape($payment_terms).")";
+               .db_escape($payment_terms, true).")";
        } else {        // may be optional argument should stay unchanged ?
        $sql = "UPDATE ".TB_PREF."debtor_trans SET
                debtor_no=".db_escape($debtor_no)." , branch_code=".db_escape($BranchNo).",
index 4a47369598f7e7659418d1b91d96931416657f51..08e8e7d6bd67b267c43ce204479f60f1bb627636 100644 (file)
@@ -404,7 +404,10 @@ function can_process() {
                display_error(_("The entered reference is already in use."));
                set_focus('ref');
                return false;
-       }
+       } elseif ($_SESSION['Items']->get_items_total() < 0) {
+               display_error("Invoice total amount cannot be less than zero.");
+               return false;
+       }
        return true;
 }
 
@@ -412,7 +415,6 @@ function can_process() {
 
 if (isset($_POST['ProcessOrder']) && can_process()) {
        copy_to_cart();
-
        $modified = ($_SESSION['Items']->trans_no != 0);
        $so_type = $_SESSION['Items']->so_type;
        $_SESSION['Items']->write(1);
@@ -448,8 +450,9 @@ if (isset($_POST['update'])) {
 
 function check_item_data()
 {
-       global $SysPrefs;
+       global $SysPrefs, $allow_negative_prices;
        
+       $is_inventory_item = is_inventory_item(get_post('stock_id'));
        if(!get_post('stock_id_text', true)) {
                display_error( _("Item description cannot be empty."));
                set_focus('stock_id_edit');
@@ -459,8 +462,8 @@ function check_item_data()
                display_error( _("The item could not be updated because you are attempting to set the quantity ordered to less than 0, or the discount percent to more than 100."));
                set_focus('qty');
                return false;
-       } elseif (!check_num('price', 0)) {
-               display_error( _("Price for item must be entered and can not be less than 0"));
+       } elseif (!check_num('price', 0) && (!$allow_negative_prices || $is_inventory_item)) {
+               display_error( _("Price for inventory item must be entered and can not be less than 0"));
                set_focus('price');
                return false;
        } elseif (isset($_POST['LineNo']) && isset($_SESSION['Items']->line_items[$_POST['LineNo']])
@@ -470,8 +473,8 @@ function check_item_data()
                display_error(_("You attempting to make the quantity ordered a quantity less than has already been delivered. The quantity delivered cannot be modified retrospectively."));
                return false;
        } // Joe Hunt added 2008-09-22 -------------------------
-       elseif ($_SESSION['Items']->trans_type!=ST_SALESORDER && $_SESSION['Items']->trans_type!=ST_SALESQUOTE && !$SysPrefs->allow_negative_stock() &&
-               is_inventory_item($_POST['stock_id']))
+       elseif ($is_inventory_item && $_SESSION['Items']->trans_type!=ST_SALESORDER && $_SESSION['Items']->trans_type!=ST_SALESQUOTE 
+               && !$SysPrefs->allow_negative_stock())
        {
                $qoh = get_qoh_on_date($_POST['stock_id'], $_POST['Location'], $_POST['OrderDate']);
                if (input_num('qty') > $qoh)
index 4905730154bd8221cbb5a44072a7b507ca38bc15..c822b4b128f00f571a1d83e016244993fc19d405 100644 (file)
@@ -2065,6 +2065,7 @@ INSERT INTO `0_sys_prefs` VALUES('default_assembly_act', 'glsetup.items', 'varch
 INSERT INTO `0_sys_prefs` VALUES('default_workorder_required', 'glsetup.manuf', 'int', 11, '20');
 INSERT INTO `0_sys_prefs` VALUES('version_id', 'system', 'varchar', 11, '2.3rc');
 INSERT INTO `0_sys_prefs` VALUES('auto_curr_reval', 'setup.company', 'smallint', 6, '1');
+INSERT INTO `0_sys_prefs` VALUES('grn_clearing_act', 'glsetup.purchase', 'varchar', 15, '1550');
 
 -- --------------------------------------------------------
 
index 041bced2cd601abdc0ff1dd95cca7cad6122d65b..e904c2bae20b06e6683e4283ea1cac4ab2758e98 100644 (file)
@@ -1824,6 +1824,7 @@ INSERT INTO `0_sys_prefs` VALUES('default_assembly_act', 'glsetup.items', 'varch
 INSERT INTO `0_sys_prefs` VALUES('default_workorder_required', 'glsetup.manuf', 'int', 11, '20');
 INSERT INTO `0_sys_prefs` VALUES('version_id', 'system', 'varchar', 11, '2.3rc');
 INSERT INTO `0_sys_prefs` VALUES('auto_curr_reval', 'setup.company', 'smallint', 6, '1');
+INSERT INTO `0_sys_prefs` VALUES('grn_clearing_act', 'glsetup.purchase', 'varchar', 15, '1550');
 
 -- --------------------------------------------------------
 
diff --git a/themes/aqua/images/menu_entry.png b/themes/aqua/images/menu_entry.png
new file mode 100644 (file)
index 0000000..4c3efdd
Binary files /dev/null and b/themes/aqua/images/menu_entry.png differ
diff --git a/themes/aqua/images/menu_inquiry.png b/themes/aqua/images/menu_inquiry.png
new file mode 100644 (file)
index 0000000..ab94046
Binary files /dev/null and b/themes/aqua/images/menu_inquiry.png differ
diff --git a/themes/aqua/images/menu_maintenance.png b/themes/aqua/images/menu_maintenance.png
new file mode 100644 (file)
index 0000000..188e1c1
Binary files /dev/null and b/themes/aqua/images/menu_maintenance.png differ
diff --git a/themes/aqua/images/menu_report.png b/themes/aqua/images/menu_report.png
new file mode 100644 (file)
index 0000000..d1d9e7c
Binary files /dev/null and b/themes/aqua/images/menu_report.png differ
diff --git a/themes/aqua/images/menu_settings.png b/themes/aqua/images/menu_settings.png
new file mode 100644 (file)
index 0000000..24588a3
Binary files /dev/null and b/themes/aqua/images/menu_settings.png differ
diff --git a/themes/aqua/images/menu_system.png b/themes/aqua/images/menu_system.png
new file mode 100644 (file)
index 0000000..9460dfc
Binary files /dev/null and b/themes/aqua/images/menu_system.png differ
diff --git a/themes/aqua/images/menu_transaction.png b/themes/aqua/images/menu_transaction.png
new file mode 100644 (file)
index 0000000..6cf6443
Binary files /dev/null and b/themes/aqua/images/menu_transaction.png differ
diff --git a/themes/aqua/images/menu_update.png b/themes/aqua/images/menu_update.png
new file mode 100644 (file)
index 0000000..58f19c6
Binary files /dev/null and b/themes/aqua/images/menu_update.png differ
index 8ee81f2dfa25cef7657b4f096d9bd981c0870976..2734ad08f644bbb5efa908346c47f95f91648042 100644 (file)
 ***********************************************************************/
        class renderer
        {
+               function get_icon($category)
+               {
+                       global  $path_to_root, $show_menu_category_icons;
+;
+                       if ($show_menu_category_icons)
+                               $img = $category == '' ? 'right.gif' : $category.'.png';
+                       else    
+                               $img = 'right.gif';
+                       return "<img src='$path_to_root/themes/cool/images/$img' style='vertical-align:middle;' border='0'>&nbsp;&nbsp;";
+               }
+
                function wa_header()
                {
                        page(_($help_context = "Main Menu"), false, true);
                        
                        $selected_app = $waapp->get_selected_application();
 
-                       $img = "<img src='$path_to_root/themes/aqua/images/right.gif' style='vertical-align:middle;' width='17' height='17' border='0'>&nbsp;&nbsp;";
                        foreach ($selected_app->modules as $module)
                        {
                                // image
 
                                foreach ($module->lappfunctions as $appfunction)
                                {
+                                       $img = $this->get_icon($appfunction->category);
                                        if ($appfunction->label == "")
                                                echo "&nbsp;<br>";
                                        elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
                                        echo "<td width='50%' class='menu_group_items'>";
                                        foreach ($module->rappfunctions as $appfunction)
                                        {
+                                               $img = $this->get_icon($appfunction->category);
                                                if ($appfunction->label == "")
                                                        echo "&nbsp;<br>";
                                                elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
diff --git a/themes/cool/images/menu_entry.png b/themes/cool/images/menu_entry.png
new file mode 100644 (file)
index 0000000..4c3efdd
Binary files /dev/null and b/themes/cool/images/menu_entry.png differ
diff --git a/themes/cool/images/menu_inquiry.png b/themes/cool/images/menu_inquiry.png
new file mode 100644 (file)
index 0000000..ab94046
Binary files /dev/null and b/themes/cool/images/menu_inquiry.png differ
diff --git a/themes/cool/images/menu_maintenance.png b/themes/cool/images/menu_maintenance.png
new file mode 100644 (file)
index 0000000..188e1c1
Binary files /dev/null and b/themes/cool/images/menu_maintenance.png differ
diff --git a/themes/cool/images/menu_report.png b/themes/cool/images/menu_report.png
new file mode 100644 (file)
index 0000000..d1d9e7c
Binary files /dev/null and b/themes/cool/images/menu_report.png differ
diff --git a/themes/cool/images/menu_settings.png b/themes/cool/images/menu_settings.png
new file mode 100644 (file)
index 0000000..24588a3
Binary files /dev/null and b/themes/cool/images/menu_settings.png differ
diff --git a/themes/cool/images/menu_system.png b/themes/cool/images/menu_system.png
new file mode 100644 (file)
index 0000000..9460dfc
Binary files /dev/null and b/themes/cool/images/menu_system.png differ
diff --git a/themes/cool/images/menu_transaction.png b/themes/cool/images/menu_transaction.png
new file mode 100644 (file)
index 0000000..6cf6443
Binary files /dev/null and b/themes/cool/images/menu_transaction.png differ
diff --git a/themes/cool/images/menu_update.png b/themes/cool/images/menu_update.png
new file mode 100644 (file)
index 0000000..58f19c6
Binary files /dev/null and b/themes/cool/images/menu_update.png differ
index 9bf46c95fc02cf736960d8cc1ae16b38e3313981..d9d286b265809f3ed0f95ea91f4775d79af529b5 100644 (file)
 ***********************************************************************/
        class renderer
        {
+               function get_icon($category)
+               {
+                       global  $path_to_root, $show_menu_category_icons;
+;
+                       if ($show_menu_category_icons)
+                               $img = $category == '' ? 'right.gif' : $category.'.png';
+                       else    
+                               $img = 'right.gif';
+                       return "<img src='$path_to_root/themes/cool/images/$img' style='vertical-align:middle;' border='0'>&nbsp;&nbsp;";
+               }
+
                function wa_header()
                {
                        page(_($help_context = "Main Menu"), false, true);
                        global $path_to_root;
                        $selected_app = $waapp->get_selected_application();
 
-                       $img = "<img src='$path_to_root/themes/cool/images/right.gif' style='vertical-align:middle;' width='17' height='17' border='0'>&nbsp;&nbsp;";
                        foreach ($selected_app->modules as $module)
                        {
                                // image
 
                                foreach ($module->lappfunctions as $appfunction)
                                {
+                                       $img = $this->get_icon($appfunction->category);
                                        if ($appfunction->label == "")
                                                echo "&nbsp;<br>";
                                        elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
                                        echo "<td width='50%' class='menu_group_items'>";
                                        foreach ($module->rappfunctions as $appfunction)
                                        {
+                                               $img = $this->get_icon($appfunction->category);
                                                if ($appfunction->label == "")
                                                        echo "&nbsp;<br>";
                                                elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
diff --git a/themes/default/images/menu_entry.png b/themes/default/images/menu_entry.png
new file mode 100644 (file)
index 0000000..4c3efdd
Binary files /dev/null and b/themes/default/images/menu_entry.png differ
diff --git a/themes/default/images/menu_inquiry.png b/themes/default/images/menu_inquiry.png
new file mode 100644 (file)
index 0000000..ab94046
Binary files /dev/null and b/themes/default/images/menu_inquiry.png differ
diff --git a/themes/default/images/menu_maintenance.png b/themes/default/images/menu_maintenance.png
new file mode 100644 (file)
index 0000000..188e1c1
Binary files /dev/null and b/themes/default/images/menu_maintenance.png differ
diff --git a/themes/default/images/menu_report.png b/themes/default/images/menu_report.png
new file mode 100644 (file)
index 0000000..d1d9e7c
Binary files /dev/null and b/themes/default/images/menu_report.png differ
diff --git a/themes/default/images/menu_settings.png b/themes/default/images/menu_settings.png
new file mode 100644 (file)
index 0000000..24588a3
Binary files /dev/null and b/themes/default/images/menu_settings.png differ
diff --git a/themes/default/images/menu_system.png b/themes/default/images/menu_system.png
new file mode 100644 (file)
index 0000000..9460dfc
Binary files /dev/null and b/themes/default/images/menu_system.png differ
diff --git a/themes/default/images/menu_transaction.png b/themes/default/images/menu_transaction.png
new file mode 100644 (file)
index 0000000..6cf6443
Binary files /dev/null and b/themes/default/images/menu_transaction.png differ
diff --git a/themes/default/images/menu_update.png b/themes/default/images/menu_update.png
new file mode 100644 (file)
index 0000000..58f19c6
Binary files /dev/null and b/themes/default/images/menu_update.png differ
index 03a56f2448ddc4127245b8872201a598d3fee088..6df2553f8bec5352239ef03c4690a956af193d6f 100644 (file)
 ***********************************************************************/
        class renderer
        {
+               function get_icon($category)
+               {
+                       global  $path_to_root, $show_menu_category_icons;
+;
+                       if ($show_menu_category_icons)
+                               $img = $category == '' ? 'right.gif' : $category.'.png';
+                       else    
+                               $img = 'right.gif';
+                       return "<img src='$path_to_root/themes/cool/images/$img' style='vertical-align:middle;' border='0'>&nbsp;&nbsp;";
+               }
+
                function wa_header()
                {
-//                     add_js_ufile("themes/default/renderer.js");
                        page(_($help_context = "Main Menu"), false, true);
                }
 
 
                        $selected_app = $waapp->get_selected_application();
 
-                       $img = "<img src='$path_to_root/themes/default/images/right.gif' style='vertical-align:middle;' width='17' height='17' border='0'>&nbsp;&nbsp;";
                        foreach ($selected_app->modules as $module)
                        {
                                // image
 
                                foreach ($module->lappfunctions as $appfunction)
                                {
+                                       $img = $this->get_icon($appfunction->category);
                                        if ($appfunction->label == "")
                                                echo "&nbsp;<br>";
                                        elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
                                        echo "<td width='50%' class='menu_group_items'>";
                                        foreach ($module->rappfunctions as $appfunction)
                                        {
+                                               $img = $this->get_icon($appfunction->category);
                                                if ($appfunction->label == "")
                                                        echo "&nbsp;<br>";
                                                elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 
index 3e920e543e7bd2c0a37e6d5b732b7bc867693815..a3a9b12a4b218148fa6c3302444c794a31129b8f 100644 (file)
@@ -9,7 +9,7 @@ $db_version = "2.3rc";
 
 // application version - can be overriden in config.php
 if (!isset($version))
-       $version                = "2.3.0";
+       $version                = "2.3.1";
 
 //======================================================================
 // Extension packages repository settings