This commit is contained in:
2025-11-03 13:57:50 +05:00
parent 09c0bec901
commit 5f2760713f
9 changed files with 49 additions and 45 deletions

View File

@@ -11,7 +11,7 @@ class CreateCardOrder extends CreateRecord
protected static string $resource = CardOrderResource::class; protected static string $resource = CardOrderResource::class;
/** /**
* @return array<Action | ActionGroup> * @return array<int, \Filament\Actions\Action>
*/ */
protected function getFormActions(): array protected function getFormActions(): array
{ {

View File

@@ -72,6 +72,9 @@ class LoanOrderMobileResource extends Resource
]; ];
} }
/**
* @return Builder<\App\Modules\LoanOrder\Models\LoanOrder>
*/
public static function getRecordRouteBindingEloquentQuery(): Builder public static function getRecordRouteBindingEloquentQuery(): Builder
{ {
return parent::getRecordRouteBindingEloquentQuery() return parent::getRecordRouteBindingEloquentQuery()

View File

@@ -1,19 +0,0 @@
<?php
namespace App\Filament\Clusters\Loans\Resources\LoanOrderMobiles\Pages;
use App\Filament\Clusters\Loans\Resources\LoanOrderMobileResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewLoanOrderMobile extends ViewRecord
{
protected static string $resource = LoanOrderMobileResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}

View File

@@ -133,20 +133,20 @@ class LoanOrderMobileForm
->required() ->required()
->maxLength(255) ->maxLength(255)
->autocomplete(Str::random(10)) ->autocomplete(Str::random(10))
->default(user()?->first_name), ->default(user()->first_name),
TextInput::make('customer_surname') TextInput::make('customer_surname')
->label(__('Surname')) ->label(__('Surname'))
->columnSpan(2) ->columnSpan(2)
->required() ->required()
->maxLength(255) ->maxLength(255)
->default(user()?->last_name), ->default(user()->last_name),
TextInput::make('customer_patronic_name') TextInput::make('customer_patronic_name')
->label(__('Patronic name')) ->label(__('Patronic name'))
->columnSpan(2) ->columnSpan(2)
->maxLength(255) ->maxLength(255)
->default(user()?->getOption('patronic_name')), ->default(user()->getOption('patronic_name')),
DatePicker::make('born_at') DatePicker::make('born_at')
->displayFormat('d.m.Y') ->displayFormat('d.m.Y')
@@ -155,7 +155,7 @@ class LoanOrderMobileForm
->columnSpan(2) ->columnSpan(2)
->required() ->required()
->beforeOrEqual('today') ->beforeOrEqual('today')
->default(user()?->getOption('born_at')), ->default(user()->getOption('born_at')),
FusedGroup::make([ FusedGroup::make([
Select::make('passport_serie') Select::make('passport_serie')
@@ -164,14 +164,14 @@ class LoanOrderMobileForm
->native(false) ->native(false)
->required() ->required()
->columnSpan(1) ->columnSpan(1)
->default(user()?->getOption('passport_serie')), ->default(user()->getOption('passport_serie')),
TextInput::make('passport_id') TextInput::make('passport_id')
->label(__('Passport number')) ->label(__('Passport number'))
->required() ->required()
->columnSpan(1) ->columnSpan(1)
->mask('999999') ->mask('999999')
->default(user()?->getOption('passport_id')), ->default(user()->getOption('passport_id')),
]) ])
->columnSpan(3) ->columnSpan(3)
->label(__('Passport serie and number')) ->label(__('Passport serie and number'))
@@ -185,42 +185,42 @@ class LoanOrderMobileForm
->closeOnDateSelection() ->closeOnDateSelection()
->beforeOrEqual('today') ->beforeOrEqual('today')
->required() ->required()
->default(user()?->getOption('passport_given_at')), ->default(user()->getOption('passport_given_at')),
TextInput::make('born_place') TextInput::make('born_place')
->columnSpan(3) ->columnSpan(3)
->label(__('Born place (passport)')) ->label(__('Born place (passport)'))
->maxLength(255) ->maxLength(255)
->required() ->required()
->default(user()?->getOption('born_place')), ->default(user()->getOption('born_place')),
TextInput::make('passport_given_by') TextInput::make('passport_given_by')
->label(__('Passport given by')) ->label(__('Passport given by'))
->columnSpan(4) ->columnSpan(4)
->maxLength(255) ->maxLength(255)
->required() ->required()
->default(user()?->getOption('passport_given_by')), ->default(user()->getOption('passport_given_by')),
TextInput::make('passport_address') TextInput::make('passport_address')
->columnSpan(4) ->columnSpan(4)
->label(__('Proscription for home')) ->label(__('Proscription for home'))
->maxLength(255) ->maxLength(255)
->required() ->required()
->default(user()?->getOption('passport_address')), ->default(user()->getOption('passport_address')),
TextInput::make('real_address') TextInput::make('real_address')
->label(__('Current home address')) ->label(__('Current home address'))
->columnSpan(4) ->columnSpan(4)
->maxLength(255) ->maxLength(255)
->required() ->required()
->default(user()?->getOption('real_address')), ->default(user()->getOption('real_address')),
TextInput::make('email') TextInput::make('email')
->label(__('Email')) ->label(__('Email'))
->email() ->email()
->maxLength(255) ->maxLength(255)
->columnSpan(2) ->columnSpan(2)
->default(user()?->getOption('email')), ->default(user()->getOption('email')),
TextInput::make('phone') TextInput::make('phone')
->label(__('Phone')) ->label(__('Phone'))
@@ -231,7 +231,7 @@ class LoanOrderMobileForm
new PhoneNumberVerificationRule, new PhoneNumberVerificationRule,
]) ])
->columnSpan(2) ->columnSpan(2)
->default(user()?->phone), ->default(user()->phone),
TextInput::make('phone_additional') TextInput::make('phone_additional')
->label(__('Additional phone')) ->label(__('Additional phone'))
@@ -453,7 +453,7 @@ class LoanOrderMobileForm
Tab::make(__('Guarantor').' 2') Tab::make(__('Guarantor').' 2')
->columns(6) ->columns(6)
->hidden(function (Get $get): bool { ->hidden(function (Get $get): bool {
$loan_amount = $get('loan_amount'); $loan_amount = string($get('loan_amount'));
return ! ($loan_amount && intval($loan_amount) > 20000); return ! ($loan_amount && intval($loan_amount) > 20000);
}) })

View File

@@ -10,8 +10,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
/** /**
* @param int $id * @param int $id
* * @property string $unique_id
* @property string unique_id
* @property int $user_id * @property int $user_id
* @property int $card_type_id * @property int $card_type_id
* @property string $card_number * @property string $card_number
@@ -20,18 +19,18 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
* @property string $customer_name * @property string $customer_name
* @property string $customer_surname * @property string $customer_surname
* @property string $customer_patronic_name * @property string $customer_patronic_name
* @property date $born_at * @property \Illuminate\Support\Carbon $born_at
* @property string $phone * @property string $phone
* @property string $passport_serie * @property string $passport_serie
* @property string $passport_id * @property string $passport_id
* @property text $passport_one * @property string $passport_one
* @property text $passport_two * @property string $passport_two
* @property text $passport_three * @property string $passport_three
* @property text $passport_four * @property string $passport_four
* @property string $status * @property string $status
* @property null|string $notes * @property null|string $notes
* @property Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
*/ */
class CardPinOrder extends Model class CardPinOrder extends Model
{ {

View File

@@ -8,6 +8,8 @@ class DefaultQueryForResourceIndexRepository
{ {
/** /**
* Default filament table query builder * Default filament table query builder
*
* @param Builder<\Illuminate\Database\Eloquent\Model> $query
*/ */
public static function make(Builder $query): void public static function make(Builder $query): void
{ {

View File

@@ -4,13 +4,17 @@ namespace App\Modules\Loan\Repositories;
use App\Modules\Loan\Models\Loan; use App\Modules\Loan\Models\Loan;
use App\Modules\Makeable; use App\Modules\Makeable;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class LoanRepository class LoanRepository
{ {
use Makeable; use Makeable;
public function showRemainingLoan(Loan $record) /**
* Show remaining loan
*/
public function showRemainingLoan(Loan $record): View
{ {
$data = $this->fetchCardBalance( $data = $this->fetchCardBalance(
passport_serie: user()->passport_serie(), passport_serie: user()->passport_serie(),
@@ -21,6 +25,9 @@ class LoanRepository
return view('module.loan::loan-remaining', compact('data')); return view('module.loan::loan-remaining', compact('data'));
} }
/**
* Fetch card card balance from abs
*/
public function fetchCardBalance(string $passport_serie, int|string $passport_id, int|string $account_number): object public function fetchCardBalance(string $passport_serie, int|string $passport_id, int|string $account_number): object
{ {
$curl = curl_init(); $curl = curl_init();

View File

@@ -57,6 +57,6 @@ trait RoleCheckers
*/ */
public function isSystemUser(): bool public function isSystemUser(): bool
{ {
return $this->roles->count > 0; return $this->roles->count() > 0;
} }
} }

View File

@@ -2,6 +2,8 @@
namespace App\Modules\UserAdjustments\Traits; namespace App\Modules\UserAdjustments\Traits;
use App\Modules\Branch\Models\Branch;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Spatie\Permission\Traits\HasRoles; use Spatie\Permission\Traits\HasRoles;
/** /**
@@ -61,4 +63,14 @@ trait UserAdjustments
{ {
return (string) $this->getOption('passport_id'); return (string) $this->getOption('passport_id');
} }
/**
* Branches associated with user
*
* @return BelongsToMany<Branch>
*/
public function branches(): BelongsToMany
{
return $this->belongsToMany(Branch::class);
}
} }