OwlCyberSecurity - MANAGER
Edit File: WithdrawTransactionResource.php
<?php namespace App\Filament\Resources; use App\Filament\Resources\WithdrawTransactionResource\Pages; use App\Filament\Resources\WithdrawTransactionResource\RelationManagers; use Filament\Forms; use Filament\Forms\Components\TextInput; use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Filters\Filter; use Filament\Tables\Filters\SelectFilter; use App\Models\Withdraw; class WithdrawTransactionResource extends Resource { protected static ?string $model = Withdraw::class; protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack'; protected static ?string $slug = 'withdraw-Transaction-wallet'; protected static ?string $modelLabel = 'گزارش عودت وجه'; protected static ?string $pluralModelLabel = 'گزارش عودت وجه'; protected static ?string $navigationGroup = 'مالی'; protected static ?int $navigationSort = 9; public static function getEloquentQuery(): Builder { return parent::getEloquentQuery() ->where(fn($query) => $query->where('tax_check', 1)) ->orWhere('status', 'رد شده ادمین') ->orWhere('status', 'رد شده'); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('user.name')->label('نام کاربر')->sortable()->searchable(), TextColumn::make('amount')->label('مقدار')->sortable(), TextColumn::make('description')->label('توضیحات'), TextColumn::make('admin_description')->label('توضیحات ادمین'), TextColumn::make('tax')->label('مالیات')->sortable(), TextColumn::make('status')->label('مرحله')->sortable(), TextColumn::make('updated_at')->label('آخرین بررسی')->dateTime('Y-m-d H:i:s')->sortable()->jalaliDateTime(), ]) ->filters([ Filter::make('name')->form([ TextInput::make('name')->label('نام'), ])->query(fn(Builder $query, array $data): Builder => $query->when( $data['name'], fn(Builder $query, $data): Builder => $query->where('users.name', 'like', '%' . $data . '%'), )), Filter::make('cell_number')->form([ TextInput::make('cell_number')->label('شماره موبایل'), ])->query(fn(Builder $query, array $data): Builder => $query->when( $data['cell_number'], fn(Builder $query, $data): Builder => $query->where('users.cell_number', 'like', '%' . $data . '%'), )), Filter::make('from')->form([ TextInput::make('from')->label('از تاریخ'), ])->query(fn(Builder $query, array $data): Builder => $query->when( $data['from'], fn(Builder $query, $data): Builder => $query->where('updated_at', '>=', $data) )), Filter::make('until')->form([ TextInput::make('until')->label('تا تاریخ'), ])->query(fn(Builder $query, array $data): Builder => $query->when( $data['until'], fn(Builder $query, $data): Builder => $query->where('updated_at', '<=', $data) )), SelectFilter::make('tax') ->label('مالیات') ->options([ 'no_tax' => 'بدون مالیات', 'with_tax' => 'دارای مالیات', ]) ->query(function (Builder $query, $data) { if ($data['value'] === 'no_tax') { $query->where('tax', '=', 0); } elseif ($data['value'] === 'with_tax') { $query->where('tax', '>', 1); } }), // ]) // ->actions([ // Tables\Actions\EditAction::make(), // ]) // ->bulkActions([ // Tables\Actions\BulkActionGroup::make([ // Tables\Actions\DeleteBulkAction::make(), // ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListWithdrawTransactions::route('/'), // 'create' => Pages\CreateWithdrawTransaction::route('/create'), // 'edit' => Pages\EditWithdrawTransaction::route('/{record}/edit'), ]; } public static function canViewAny(): bool { return auth()->user()->can('withdraw-Transaction-wallet::view'); } }