wip on visa/master payment

This commit is contained in:
2024-09-05 16:27:58 +05:00
parent 837d2a4704
commit 0939b59ec3
6 changed files with 415 additions and 26 deletions

View File

@@ -35,24 +35,18 @@ class VisaMasterPaymentOrder extends Model implements HasMedia
'payment_reciever' => 'array',
];
/**
* Media conversions
*
* @param Media|null $media
*/
public function registerMediaConversions(?Media $media = null): void
{
$this->addMediaConversion('thumb')
->width(200)
->height(200);
}
/**
* Media collections
*/
public function registerMediaCollections(): void
{
$this->addMediaCollection('main');
foreach (static::reciverFiles() as $reciverFile) {
$this->addMediaCollection($reciverFile['code'])->singleFile();
}
foreach (static::senderFiles() as $senderFile) {
$this->addMediaCollection($senderFile['code'])->singleFile();
}
}
/**
@@ -73,4 +67,87 @@ class VisaMasterPaymentOrder extends Model implements HasMedia
'master' => __('Master'),
];
}
/**
* Required files
*/
public static function reciverFiles(): array
{
return [
[
'required' => true,
'code' => 'requisite',
'name' => 'Talyba degişli walýuta “VISA” kartyň rekwizitleri',
],
[
'required' => false,
'code' => 'document_stating_he_is_studying',
'name' => 'Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasy',
],
[
'required' => false,
'code' => 'passport_local',
'name' => 'Talyba degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi',
],
[
'required' => false,
'code' => 'passport_international',
'name' => 'Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin (zagran) pasportynyň göçürmesi',
],
[
'required' => false,
'code' => 'visa',
'name' => 'Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary ýurtda galyp okap bilýändigi baradaky berlen möhleti hereket edýän rugsatnamasynyň (wizasynyň) bellenen sahypasynyň göçürmesi',
],
[
'required' => false,
'code' => 'travel_stamp_on_passport',
'name' => 'Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky Türkmenistandan çykandygy we daşary ýurt döwletine girendigi baradaky ştamplaryň (seneli ştampyň) bellenen sahypasynyň göçürmesi',
],
[
'required' => false,
'code' => 'document_stating_he_is_studying_2',
'name' => 'Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasyndaky maglumatyň doly takyk däl ýagdaýynda takyk däl maglumatyň sebäpleri baradaky daşary ýurt döwletiniň ýokary okuw mekdebinden haty',
],
];
}
/**
* Sender files
*/
public static function senderFiles(): array
{
return [
[
'required' => true,
'code' => 'passport_local',
'name' => 'ugradyja degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi',
],
[
'required' => false,
'code' => 'passport_international',
'name' => 'ugradyja degişli Türkmenistandan çykmak we Türkmenistana girmek üçin pasportynyň asyl görnüşi we göçürmesi',
],
[
'required' => false,
'code' => 'travel_stamp_on_passport',
'name' => 'ugradyja degişli Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary döwletine gidendigi we daşary döwlete barandygy baradaky (ştampyň) bellenen sahypasynyň göçürmesi',
],
[
'required' => true,
'code' => 'proof_of_kinship',
'name' => 'ugradyjynyň we kabul edijiniň (talybyň) özara garyndaşlyk derejesini tassyklaýjy resminamalarynyň göçürmesi',
],
[
'required' => false,
'code' => 'passport_local_old',
'name' => 'ugradyjy we kabul ediji (talyp) 2015-nji ýyldan soňra Türkmenistanyň raýatynyň pasportyny ikinji gezek alan bolsa, onda birinji gezek alan pasportynyň seriýasy baradaky maglumat',
],
[
'required' => false,
'code' => 'passport_local_old_replacement',
'name' => 'ugradyjy we kabul ediji (talyp) 2015-nji ýyldan soňra Türkmenistanyň raýatynyň pasportyny ikinji gezek alandan soňra birinji gezek alan pasportynyň seriýasy baradaky maglumaty bilmeýän ,bolsa onda polisiýanyň degişli edaralaryndan birinji alan pasportynyň seriýasy baradaky güwänamasy',
],
];
}
}

View File

@@ -11,7 +11,6 @@ use App\Repos\Order\OrderRepo;
use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
use Laravel\Nova\Fields\Badge;
@@ -104,13 +103,14 @@ class NovaVisaMasterPaymentOrder extends Resource
public function fields(NovaRequest $request): array
{
return [
ID::hidden(),
Hidden::make('user_id')
->default(auth()->id())
->hideWhenUpdating(),
new Panel(__('New :resource', ['resource' => $this->singularLabel()]), [
ID::make()
->hideFromDetail(),
Hidden::make('user_id')
->default(auth()->id())
->hideWhenUpdating(),
Text::make(__('ID'), 'unique_id')
->exceptOnForms(),
@@ -229,13 +229,10 @@ class NovaVisaMasterPaymentOrder extends Resource
attribute: 'full_name'
),
])->maxRows(1)->minRows(1)->rules('required'),
Files::make('Talap edilýän resminamalar', 'main')
->conversionOnIndexView('thumb')
->rules('required')
->required()
->hideFromIndex(),
]),
// new Panel(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles()),
// new Panel(__('Sender files'), VisaMasterPaymentOrderFileFields::senderFiles()),
];
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources;
use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Laravel\Nova\Fields\File;
class VisaMasterPaymentOrderFileFields
{
/**
* Reciver files
*/
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'])
)
->toArray();
}
/**
* Sender files
*/
public static function senderFiles(): array
{
return collect(VisaMasterPaymentOrder::senderFiles())
->map(fn (array $file) => Files::make(__($file['name']), $file['code'])
->size('w-1/2')
->rules($file['required'] ? 'required' : 'nullable')
->required($file['required'])
)
->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')