{{-- ===================================================== Etebarit - by Gisoo Web Solutions ------------------------------------------------------ Gisoo.net ------------------------------------------------------ Copyright (c) 2026 Gisoo Web Solutions ===================================================== This code is protected by copyright ===================================================== File: index.blade.php ------------------------------------------------------ Use: Every transaction in the system, with the receipt modal that also carries the ledger lines and the reversal action for operators who may use it. ===================================================== --}} @extends('layouts.admin') @section('title', __('admin.transactions.title')) @section('breadcrumb') @endsection @section('page') @php $canReverse = auth('admin')->user()->allowed('transactions.reverse'); @endphp

{{ __('admin.transactions.title') }}

{{ __('admin.transactions.subtitle') }}

{{ __('admin.transactions.info') }}
@foreach (__('admin.transactions.filters') as $key => $label) $status === $key, 'text-ink-muted hover:text-primary-600' => $status !== $key, ])>{{ $label }} @endforeach
@if ($status !== 'all') @endif
@forelse ($transactions as $transaction) @php $incoming = $transaction->isIncoming(); $description = $transaction->describe('front.transactions.order_description', 'admin.wallet_reasons'); $payload = [ 'title' => $description, 'code' => \App\Support\Format::persianDigits($transaction->code), 'type' => __("admin.transactions.types.{$transaction->type}"), 'orderCode' => $transaction->order?->code, 'orderUrl' => $transaction->order ? route('admin.orders.index', ['q' => $transaction->order->code]) : null, 'date' => \App\Support\Format::jalaliDateTimeFa($transaction->created_at), 'amount' => ($incoming ? '+' : '−').\App\Support\Format::tomanFa($transaction->amount), 'status' => __("admin.transactions.statuses.{$transaction->status}"), 'successful' => $transaction->isSuccessful(), 'reversed' => $transaction->isReversed(), 'reversedBy' => $transaction->isReversed() ? ($transaction->admin?->name ?? '') : '', 'actor' => (! $transaction->isReversed() && $transaction->admin) ? __('admin.transactions.by_actor', ['name' => $transaction->admin->name]) : '', 'reversible' => $canReverse && $reversals->reversible($transaction), 'reverseUrl' => route('admin.transactions.reverse', $transaction), 'entries' => $transaction->entries->map(fn ($entry) => [ 'label' => $entry->reasonLabel('admin.wallet_reasons'), 'amount' => ($entry->isCredit() ? '+' : '−').\App\Support\Format::tomanFa($entry->amount), 'incoming' => $entry->isCredit(), 'balance' => \App\Support\Format::tomanFa($entry->balance_after), ])->values(), ]; @endphp @empty @endforelse
{{ __('admin.transactions.columns.code') }} {{ __('admin.transactions.columns.description') }} {{ __('admin.transactions.columns.order') }} {{ __('admin.transactions.columns.user') }} {{ __('admin.transactions.columns.shop') }} {{ __('admin.transactions.columns.type') }} {{ __('admin.transactions.columns.amount') }} {{ __('admin.transactions.columns.date') }} {{ __('admin.transactions.columns.status') }}
@fa($transaction->code) {{ $transaction->primaryEntry()?->reasonLabel('admin.wallet_reasons') ?? __('admin.wallet_reasons.other') }} @if ($transaction->primaryEntry()?->bucket === \App\Models\WalletEntry::BUCKET_INSTALLMENT) {{-- Installment-bucket movements carry this badge everywhere. --}} {{ __('admin.users.wallet.bucket_installment') }} @endif @if (! $transaction->isReversed() && $transaction->admin) {{-- Operator-made action: name the operator so misuse is traceable. --}}
{{ __('admin.transactions.by_actor', ['name' => $transaction->admin->name]) }}
@endif
@if ($transaction->order) {{ $transaction->order->code }} @else @endif @if ($transaction->user) {{ $transaction->user->fullName() }} @else @endif {{ $transaction->shop?->name ?? '—' }} $incoming && $transaction->isSuccessful(), 'text-secondary-500' => ! $incoming && $transaction->isSuccessful(), 'text-ink-faint' => ! $transaction->isSuccessful(), ])> {{ $incoming ? '+' : '−' }}@toman($transaction->amount) {{ __('admin.toman') }} @jalaliDateTime($transaction->created_at)
{{ __('admin.transactions.empty') }}
@if ($transactions->hasPages())
{{ $transactions->links() }}
@endif {{-- ===== Receipt + ledger ===== --}}
@endsection