make files work

This commit is contained in:
2024-09-07 07:32:14 +05:00
parent 46aaf1d6fe
commit 00c8ab1a66
3 changed files with 46 additions and 13 deletions

View File

@@ -52,6 +52,13 @@ class NovaVisaMasterPaymentOrder extends Resource
'unique_id', 'passport_name', 'passport_surname', 'phone', '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. * Get the displayable label of the resource.
*/ */
@@ -105,7 +112,7 @@ class NovaVisaMasterPaymentOrder extends Resource
{ {
return [ return [
Tabs::make('Wizard', [ Tabs::make('Wizard', [
new Tab(__('New :resource', ['resource' => $this->singularLabel()]), [ new Tab(__('Status'), [
ID::make() ID::make()
->hideFromDetail(), ->hideFromDetail(),
@@ -232,6 +239,8 @@ class NovaVisaMasterPaymentOrder extends Resource
)->rules('required', 'max:255'), )->rules('required', 'max:255'),
])->maxRows(1)->minRows(1)->rules('required'), ])->maxRows(1)->minRows(1)->rules('required'),
]), ]),
new Tab(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles())
], $request)->asWizard(), ], $request)->asWizard(),
]; ];
} }

View File

@@ -4,7 +4,9 @@ namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources;
use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder; use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files; use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Illuminate\Support\Facades\Storage;
use Laravel\Nova\Fields\File; use Laravel\Nova\Fields\File;
use Laravel\Nova\Http\Requests\NovaRequest;
class VisaMasterPaymentOrderFileFields class VisaMasterPaymentOrderFileFields
{ {
@@ -14,11 +16,22 @@ class VisaMasterPaymentOrderFileFields
public static function reciverFiles(): array public static function reciverFiles(): array
{ {
return collect(VisaMasterPaymentOrder::reciverFiles()) return collect(VisaMasterPaymentOrder::reciverFiles())
->map(fn (array $file) => Files::make(__($file['name']), $file['code']) ->map(function (array $file) {
->size('w-1/2') return File::make(__($file['name']), $file['code'])
->rules($file['required'] ? 'required' : 'nullable') ->fullWidth()
->required($file['required']) ->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(); ->toArray();
} }
@@ -36,10 +49,3 @@ class VisaMasterPaymentOrderFileFields
->toArray(); ->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')

View File

@@ -3,7 +3,9 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
@@ -29,6 +31,8 @@ class AppServiceProvider extends ServiceProvider
); );
$this->loadMigrationsFrom($this->findModuleMigrations()); $this->loadMigrationsFrom($this->findModuleMigrations());
// $this->listenDB();
} }
/** /**
@@ -50,4 +54,18 @@ class AppServiceProvider extends ServiceProvider
return $migrationDirectories; 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
});
}
} }