HEX
Server: LiteSpeed
System: Linux s3.sitechai.com 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: workzeni (2217)
PHP: 8.1.32
Disabled: mail, show_source, system, shell_exec, passthru, exec, eval, shell
Upload Files
File: /home/workzeni/agency-erp-05.workzenix.com/resources/views/admin/fund_transfer/edit.blade.php
@extends('layouts.master')
@section('title', 'Edit Fund Transfer')
@section('content')

    <div class="card">
        <div class="card-header d-flex justify-content-between align-items-center">
            <h5 class="mb-0">Edit Fund Transfer</h5>
            <a href="{{ route('fund-transfer.list') }}" class="btn btn-danger btn-sm">Back to List</a>
        </div>

        <div class="card-body">
            @if ($errors->any())
                <div class="alert alert-danger alert-dismissible fade show" role="alert">
                    <ul class="mb-0">
                        @foreach ($errors->all() as $error)
                            <li>{{ $error }}</li>
                        @endforeach
                    </ul>
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                </div>
            @endif

            <form action="{{ route('fund-transfer.update', $fundTransfer->id) }}" method="POST"
                enctype="multipart/form-data" class="needs-validation" novalidate>
                @csrf
                @method('PUT')

                <div class="row g-3">

                    <!-- Agency -->
                    <div class="col-md-6">
                        <label for="agency_id" class="form-label">Select Agency <span class="text-danger">*</span></label>
                        <select name="agency_id" id="agency_id" class="form-select" required>
                            <option value="">-- Select Agency --</option>
                            @foreach ($agencies as $agency)
                                <option value="{{ $agency->id }}"
                                    {{ $fundTransfer->agency_id == $agency->id ? 'selected' : '' }}>
                                    {{ $agency->name }}
                                </option>
                            @endforeach
                        </select>
                    </div>

                    <!-- BDT Amount -->
                    <div class="col-md-6">
                        <label for="bdt_amount" class="form-label">BDT Amount <span class="text-danger">*</span></label>
                        <input type="number" step="0.01" name="bdt_amount" id="bdt_amount" class="form-control"
                            value="{{ $fundTransfer->bdt_amount }}" required>
                        <div id="bdt_error" class="text-danger small mt-1" style="display: none;"></div>
                    </div>

                    <!-- Currency Rate -->
                    <div class="col-md-6">
                        <label for="currency_rate" class="form-label">Currency Rate (SAR to BDT) <span
                                class="text-danger">*</span></label>
                        <input type="number" step="0.001" name="currency_rate" id="currency_rate" class="form-control"
                            value="{{ $fundTransfer->currency_rate }}" required>
                    </div>

                    <!-- SAR Amount -->
                    <div class="col-md-6">
                        <label for="sar_amount" class="form-label">SAR Amount <span class="text-danger">*</span></label>
                        <input type="number" step="0.01" name="sar_amount" id="sar_amount" class="form-control"
                            value="{{ $fundTransfer->sar_amount }}" readonly required>
                    </div>

                    <!-- Transaction ID -->
                    <div class="col-md-6">
                        <label for="transaction_id" class="form-label">Transaction ID <span
                                class="text-danger">*</span></label>
                        <input type="text" name="transaction_id" id="transaction_id" class="form-control"
                            value="{{ $fundTransfer->transaction_id }}" required>
                    </div>

                    <!-- Transferred Date -->
                    <div class="col-md-6">
                        <label for="transferred_date" class="form-label">Transferred Date <span
                                class="text-danger">*</span></label>
                        <input type="date" name="transferred_date" id="transferred_date" class="form-control"
                            value="{{ $fundTransfer->transferred_date }}" required>
                    </div>

                    <!-- Proof File -->
                    <div class="col-md-6">
                        <label for="proof" class="form-label">Upload Proof<span class="text-danger">*</span></label>
                        <input type="file" name="proof" id="proof" class="form-control">
                        @if ($fundTransfer->proof)
                            <small class="text-muted">Current: <a href="{{ asset('storage/' . $fundTransfer->proof) }}"
                                    target="_blank">View Proof</a></small>
                        @endif
                    </div>

                    <!-- Additional Note -->
                    <div class="col-md-6">
                        <label for="additional" class="form-label">Additional Note</label>
                        <textarea name="additional" id="additional" class="form-control" rows="2">{{ $fundTransfer->additional }}</textarea>
                    </div>

                    <!-- Status -->
                    <div class="col-md-6">
                        <label for="status" class="form-label">Status <span class="text-danger">*</span></label>
                        <select name="status" id="status" class="form-select" required>
                            <option value="0" {{ $fundTransfer->status == 0 ? 'selected' : '' }}>Pending</option>
                            <option value="1" {{ $fundTransfer->status == 1 ? 'selected' : '' }}>Approved</option>
                            <option value="2" {{ $fundTransfer->status == 2 ? 'selected' : '' }}>Rejected</option>
                        </select>
                    </div>

                </div> <!-- /.row -->

                <button type="submit" class="btn btn-primary mt-4">
                    <i class="fas fa-save"></i> Update
                </button>
            </form>
        </div>
    </div>

@endsection

@section('scripts')
    <script>
        let agencyBalance = 0;

        function calculateSARAmount() {
            let bdt = parseFloat(document.getElementById('bdt_amount').value) || 0;
            let rate = parseFloat(document.getElementById('currency_rate').value) || 0;
            let sar = bdt / rate;

            document.getElementById('sar_amount').value = isFinite(sar) ? sar.toFixed(2) : '';
        }

        $(document).ready(function() {
            $('#agency_id').on('change', function() {
                const agencyId = $(this).val();

                if (!agencyId) return;

                $.ajax({
                    url: `/get-agency-balance/${agencyId}`,
                    type: 'GET',
                    success: function(response) {
                        agencyBalance = parseFloat(response.bdt_acct);

                        const currentAmount = parseFloat($('#bdt_amount').val()) || 0;
                        if (currentAmount > agencyBalance) {
                            $('#bdt_amount').val('');
                            $('#sar_amount').val('');
                            $('#bdt_error')
                                .text(`BDT amount cannot exceed ${agencyBalance}`)
                                .show();
                            $('#bdt_amount').addClass('is-invalid');
                        } else {
                            $('#bdt_error').hide();
                            $('#bdt_amount').removeClass('is-invalid');
                        }
                    },
                    error: function() {
                        agencyBalance = 0;
                        $('#bdt_error')
                            .text('Failed to fetch agency balance.')
                            .show();
                        $('#bdt_amount').addClass('is-invalid');
                    }
                });
            });

            $('#bdt_amount').on('input', function() {
                const enteredAmount = parseFloat($(this).val()) || 0;

                if (enteredAmount > agencyBalance) {
                    $('#bdt_error')
                        .text(`BDT amount cannot exceed ${agencyBalance}`)
                        .show();
                    $(this).addClass('is-invalid');
                    $('#sar_amount').val('');
                } else {
                    $('#bdt_error').hide();
                    $(this).removeClass('is-invalid');
                    calculateSARAmount();
                }
            });

            $('#currency_rate').on('input', function() {
                calculateSARAmount();
            });

            // Initial calculation on load
            calculateSARAmount();
        });
    </script>
@endsection