From d85fca1f09237900d043ba0c5381b8d1b221550a Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Thu, 13 Mar 2025 17:10:48 +0500 Subject: [PATCH] phpstan errors & onlinepayment extended --- .../Models/SberPaymentOrder.php | 6 +- .../Models/SberPaymentOrderItem.php | 2 + .../SberPaymentOrderFieldsForDetail.php | 76 +++++-------------- .../Nova/Resources/NovaSberPaymentOrder.php | 3 - .../Models/VisaMasterPaymentOrderItem.php | 2 + resources/css/vendor/nova/css/additional.css | 8 ++ 6 files changed, 38 insertions(+), 59 deletions(-) diff --git a/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php b/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php index 9e3adb3..f646a0c 100644 --- a/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php +++ b/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php @@ -95,7 +95,7 @@ class SberPaymentOrder extends Model implements HasMedia /** * Required files * - * @return array> + * @return array> */ public static function reciverFiles(): array { @@ -145,6 +145,8 @@ class SberPaymentOrder extends Model implements HasMedia /** * Sender files + * + * @return array> */ public static function senderFiles(): array { @@ -213,6 +215,8 @@ class SberPaymentOrder extends Model implements HasMedia /** * Payment itmes + * + * @return HasMany */ public function paymentItems(): HasMany { diff --git a/app/Modules/SberPaymentOrder/Models/SberPaymentOrderItem.php b/app/Modules/SberPaymentOrder/Models/SberPaymentOrderItem.php index db68d78..d03b643 100644 --- a/app/Modules/SberPaymentOrder/Models/SberPaymentOrderItem.php +++ b/app/Modules/SberPaymentOrder/Models/SberPaymentOrderItem.php @@ -38,6 +38,8 @@ class SberPaymentOrderItem extends Model implements HasMedia /** * Parent order + * + * @return BelongsTo */ public function parent(): BelongsTo { diff --git a/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php b/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php index fb489ae..68f3e11 100644 --- a/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php +++ b/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php @@ -2,6 +2,7 @@ namespace App\Modules\SberPaymentOrder\Nova\Resources\Concerns; +use App\Modules\SberPaymentOrder\Nova\Resources\NovaSberPaymentOrder; use App\Modules\SberPaymentOrder\Nova\Resources\NovaSberPaymentOrderItem; use App\Nova\Resources\Branch\Branch; use App\Repos\Order\OrderRepo; @@ -11,7 +12,6 @@ use Ebess\AdvancedNovaMediaLibrary\Fields\Files; use Laravel\Nova\Fields\Badge; use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\HasMany; -use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Text; @@ -24,31 +24,16 @@ class SberPaymentOrderFieldsForDetail /** * Get fields for detail view * - * @return array + * @param NovaSberPaymentOrder $resource + * @return array> */ - public static function make($resource): array + public static function make(NovaSberPaymentOrder $resource): array { return [ new Panel(__('Status'), [ - ID::make() - ->hideFromDetail(), + ID::make()->hide(), - Hidden::make('user_id') - ->default(auth()->id()) - ->hideWhenUpdating(), - - Text::make(__('ID'), 'unique_id') - ->exceptOnForms(), - - Select::make(__('Status'), 'status') - ->displayUsingLabels() - ->searchable() - ->options(OrderRepo::statusValues()) - ->default(OrderRepo::defaultStatus()) - ->fullWidth() - ->hideFromDetail() - ->rules('required') - ->canSeeWhen('systemUser', $resource), + Text::make(__('ID'), 'unique_id'), Badge::make(__('Status'), 'status') ->map(OrderRepo::statusClasses()) @@ -60,7 +45,7 @@ class SberPaymentOrderFieldsForDetail ->icons(OrderRepo::statusIcons()), Text::make(sprintf('%s (%s)', __('Paid'), __('This month')), function () use ($resource) { - return static::paidField($resource, $resource->filter_month); + return static::paidField($resource); }), Text::make(__('Note'), 'notes') @@ -69,53 +54,31 @@ class SberPaymentOrderFieldsForDetail ]), new Panel(__('Location'), [ Select::make(__('Region'), 'region') - ->fullWidth() ->displayUsingLabels() - ->searchable() - ->options(RegionRepo::values()) - ->default(RegionRepo::default()) - ->rules('required') - ->sortable(), + ->options(RegionRepo::values()), BelongsTo::make(__('Branch'), 'branch', Branch::class), ]), new Panel(__('Personal data'), [ - Text::make(__('Passport name'), 'passport_name') - ->fullWidth() - ->rules('required', 'string', 'max:255'), + Text::make(__('Passport name'), 'passport_name'), - Text::make(__('Passport surname'), 'passport_surname') - ->fullWidth() - ->rules('required', 'string', 'max:255'), + Text::make(__('Passport surname'), 'passport_surname'), NovaInputmask::make(__('Phone'), 'phone') - ->fullWidth() - ->phonenumber('TM') - ->rules('required', 'max:255') - ->hideFromIndex(), + ->phonenumber('TM'), - Text::make(__('Email'), 'email') - ->fullWidth() - ->rules('nullable', 'max:255', 'email') - ->hideFromIndex(), + Text::make(__('Email'), 'email'), - Text::make(__('Current Residence'), 'address') - ->fullWidth() - ->rules('required', 'string', 'max:255') - ->hideFromIndex(), + Text::make(__('Current Residence'), 'address'), ]), new Panel(__('Payment'), [ SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() - ->searchable() - ->options(PassportRepo::values()) - ->rules('required') - ->sortable(), + ->options(PassportRepo::values()), NovaInputmask::make(__('Passport number'), 'passport_number') - ->mask('999999') - ->rules('required', 'max:255'), + ->mask('999999'), Text::make( name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), @@ -189,13 +152,16 @@ class SberPaymentOrderFieldsForDetail /** * Paid field */ - public static function paidField($resource, $date = null) + public static function paidField(NovaSberPaymentOrder $resource, ?string $date = null): string { - $paid = false; - $items = $resource->paymentItems; + /** @var \App\Modules\SberPaymentOrder\Models\SberPaymentOrder */ + $model = $resource->model(); + + $items = $model->paymentItems; $month = $date ?: date('m'); + $paid = false; foreach ($items as $item) { if (boolval($item->paid)) { if ($item->created_at->format('m') == $month) { diff --git a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php index e8610a3..8f74827 100644 --- a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php +++ b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php @@ -30,9 +30,6 @@ use Nurmuhammet\NovaInputmask\NovaInputmask; use Outl1ne\NovaDetachedFilters\NovaDetachedFilters; use Outl1ne\NovaSimpleRepeatable\SimpleRepeatable; -/** - * @template TModel of \App\Modules\SberPaymentOrder\Models\SberPaymentOrder - */ class NovaSberPaymentOrder extends Resource { use NovaSberPaymentOrderAuth; diff --git a/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrderItem.php b/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrderItem.php index b087351..3b4d692 100644 --- a/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrderItem.php +++ b/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrderItem.php @@ -38,6 +38,8 @@ class VisaMasterPaymentOrderItem extends Model implements HasMedia /** * Parent order + * + * @return BelongsTo */ public function parent(): BelongsTo { diff --git a/resources/css/vendor/nova/css/additional.css b/resources/css/vendor/nova/css/additional.css index e04ad13..5ee8fb7 100644 --- a/resources/css/vendor/nova/css/additional.css +++ b/resources/css/vendor/nova/css/additional.css @@ -34,3 +34,11 @@ button[dusk="update-and-continue-editing-button"], button[dusk="create-and-add-another-button"] { display: none; } + +.o1-table thead tr { + text-align: left; +} + +.o1-table thead tr th:first-child { + padding-left: 5px; +}