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',
];
/**
* 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(),
];
}

View File

@@ -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')