diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php index 45f3117..c425a20 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php @@ -52,6 +52,13 @@ class NovaVisaMasterPaymentOrder extends Resource 'unique_id', 'passport_name', 'passport_surname', 'phone', ]; + /** + * The relationships that should be eager loaded on index queries. + * + * @var array + */ + public static $with = ['branch']; + /** * Get the displayable label of the resource. */ @@ -105,7 +112,7 @@ class NovaVisaMasterPaymentOrder extends Resource { return [ Tabs::make('Wizard', [ - new Tab(__('New :resource', ['resource' => $this->singularLabel()]), [ + new Tab(__('Status'), [ ID::make() ->hideFromDetail(), @@ -232,6 +239,8 @@ class NovaVisaMasterPaymentOrder extends Resource )->rules('required', 'max:255'), ])->maxRows(1)->minRows(1)->rules('required'), ]), + + new Tab(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles()) ], $request)->asWizard(), ]; } diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/VisaMasterPaymentOrderFileFields.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/VisaMasterPaymentOrderFileFields.php index 77dbef3..5dae432 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/VisaMasterPaymentOrderFileFields.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/VisaMasterPaymentOrderFileFields.php @@ -4,7 +4,9 @@ namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources; use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder; use Ebess\AdvancedNovaMediaLibrary\Fields\Files; +use Illuminate\Support\Facades\Storage; use Laravel\Nova\Fields\File; +use Laravel\Nova\Http\Requests\NovaRequest; class VisaMasterPaymentOrderFileFields { @@ -14,11 +16,22 @@ class VisaMasterPaymentOrderFileFields public static function reciverFiles(): array { return collect(VisaMasterPaymentOrder::reciverFiles()) - ->map(fn (array $file) => Files::make(__($file['name']), $file['code']) - ->size('w-1/2') - ->rules($file['required'] ? 'required' : 'nullable') - ->required($file['required']) - ) + ->map(function (array $file) { + return File::make(__($file['name']), $file['code']) + ->fullWidth() + ->deletable(false) + ->creationRules($file['required'] ? 'required' : 'nullable') + ->updateRules('nullable') + ->required($file['required']) + ->store(function (NovaRequest $request, $model) use ($file) { + return function () use ($model, $request, $file) { + $model->addMediaFromRequest($file['code'])->toMediaCollection($file['code']); + }; + }) + ->preview(function ($value, $disk, $resource) use ($file) { + return $resource->getFirstMediaUrl($file['code']); + }); + }) ->toArray(); } @@ -36,10 +49,3 @@ class VisaMasterPaymentOrderFileFields ->toArray(); } } - -// File::make(__($file['name']), $file['code']) -// ->size('w-1/2') -// ->deletable(false) -// ->rules('max:2048', 'mimes:jpg,png,jpeg') -// ->creationRules($file['required'] ? 'required' : 'nullable') -// ->updateRules('nullable') diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 28d17ef..36a9645 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,7 +3,9 @@ namespace App\Providers; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Event; +use Illuminate\Support\Facades\Log; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -29,6 +31,8 @@ class AppServiceProvider extends ServiceProvider ); $this->loadMigrationsFrom($this->findModuleMigrations()); + + // $this->listenDB(); } /** @@ -50,4 +54,18 @@ class AppServiceProvider extends ServiceProvider return $migrationDirectories; } + + /** + * Write db queries + */ + public function listenDB(): void + { + if (! app()->isLocal()) { + return; + } + + DB::listen(function ($query) { + Log::info($query->sql, $query->bindings, $query->time); // @phpstan-ignore-line + }); + } }