add Sber payment order module

This commit is contained in:
2024-09-08 21:45:50 +05:00
parent 305e9e4a0a
commit fab7bfa193
17 changed files with 718 additions and 571 deletions

View File

@@ -0,0 +1,65 @@
<?php
namespace App\Modules\SberPaymentOrder\Nova\Resources;
use App\Modules\SberPaymentOrder\Models\SberPaymentOrder;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Laravel\Nova\Fields\File;
use Laravel\Nova\Http\Requests\NovaRequest;
class SberPaymentOrderFileFields
{
/**
* Reciver files
*/
public static function reciverFiles(): array
{
return collect(SberPaymentOrder::reciverFiles())
->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, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
/**
* Sender files
*/
public static function senderFiles(): array
{
return collect(SberPaymentOrder::senderFiles())
->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, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
}