Changes up to 2.3.7 merged into unstable branch.
[fa-stable.git] / gl / manage / bank_accounts.php
index 634283b421d52a46c65be3eb70b8be49e0ea45b9..c494247b73446943d9e2f5d1872916dbd2b9468e 100644 (file)
@@ -33,7 +33,12 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
                display_error(_("The bank account name cannot be empty."));
                set_focus('bank_account_name');
        } 
-       
+       if ($Mode=='ADD_ITEM' && (gl_account_in_bank_accounts(get_post('account_code')) 
+                       || key_in_foreign_table(get_post('account_code'), 'gl_trans', 'account', true))) {
+               $input_error = 1;
+               display_error(_("The GL account selected is already in use. Select another GL account."));
+               set_focus('account_code');
+       }
        if ($input_error != 1)
        {
        if ($selected_id != -1) 
@@ -63,16 +68,15 @@ elseif( $Mode == 'Delete')
        //the link to delete a selected record was clicked instead of the submit button
 
        $cancel_delete = 0;
-       $acc = db_escape($selected_id);
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'bank_trans'
 
-       if (key_in_foreign_table($acc, 'bank_trans', 'bank_act', true))
+       if (key_in_foreign_table($selected_id, 'bank_trans', 'bank_act', true) || key_in_foreign_table(get_post('account_code'), 'gl_trans', 'account', true))
        {
                $cancel_delete = 1;
                display_error(_("Cannot delete this bank account because transactions have been created using this account."));
        }
 
-       if (key_in_foreign_table($acc, 'sales_pos', 'pos_account', true))
+       if (key_in_foreign_table($selected_id, 'sales_pos', 'pos_account', true))
        {
                $cancel_delete = 1;
                display_error(_("Cannot delete this bank account because POS definitions have been created using this account."));