Changes up to 2.3.7 merged into unstable branch.
[fa-stable.git] / gl / gl_bank.php
index 613e0362240ed10599dbf61adf562f67301ac90b..9dc73c54b30d1adcfa5ff700e933a805ec32c550 100644 (file)
@@ -77,6 +77,8 @@ if (isset($_GET['AddedID']))
 
        hyperlink_params($_SERVER['PHP_SELF'], _("Enter A &Deposit"), "NewDeposit=yes");
 
+       hyperlink_params("$path_to_root/admin/attachments.php", _("Add an Attachment"), "filterType=$trans_type&trans_no=$trans_no");
+
        display_footer_exit();
 }
 
@@ -140,8 +142,9 @@ function create_cart($type, $trans_no)
        {
                unset ($_SESSION['pay_items']);
        }
-       
+
        check_is_closed($type, $trans_no);
+
        $cart = new items_cart($type);
     $cart->order_id = $trans_no;
 
@@ -227,13 +230,21 @@ if (isset($_POST['Process']))
 
        $limit = get_bank_account_limit($_POST['bank_account'], $_POST['date_']);
 
-       if ($limit != null && (($limit - $_SESSION['pay_items']->original_amount) < $_SESSION['pay_items']->gl_items_total()))
+       $amnt_chg = -$_SESSION['pay_items']->gl_items_total()-$_SESSION['pay_items']->original_amount;
+
+       if ($limit != null && ($limit + $amnt_chg < 0))
        {
                display_error(sprintf(_("The total bank amount exceeds allowed limit (%s)."), price_format($limit-$_SESSION['pay_items']->original_amount)));
                set_focus('code_id');
                $input_error = 1;
        }
+       if ($trans = check_bank_account_history($amnt_chg, $_POST['bank_account'], $_POST['date_'])) {
 
+               display_error(sprintf(_("The bank transaction would result in exceed of authorized overdraft limit for transaction: %s #%s on %s."),
+                       $systypes_array[$trans['type']], $trans['trans_no'], sql2date($trans['trans_date'])));
+               set_focus('amount');
+               $input_error = 1;
+       }
        if (!$Refs->is_valid($_POST['ref']))
        {
                display_error( _("You must enter a reference."));