From 0404051f7d97b645cb9ae2d4573106a20a725909 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Sat, 7 Sep 2024 05:23:12 +0500 Subject: [PATCH] update composer --- .../Resources/NovaVisaMasterPaymentOrder.php | 231 +++++++++--------- app/Rules/DowranAgaAllowed.php | 10 +- composer.json | 5 +- composer.lock | 74 +++++- resources/css/vendor/nova/css/additional.css | 4 +- 5 files changed, 204 insertions(+), 120 deletions(-) diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php index 3eb0b1f..dab0372 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php @@ -11,6 +11,8 @@ 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 Eminiarts\Tabs\Tab; +use Eminiarts\Tabs\Tabs; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Laravel\Nova\Fields\Badge; @@ -19,7 +21,6 @@ use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Text; use Laravel\Nova\Http\Requests\NovaRequest; -use Laravel\Nova\Panel; use Nurmuhammet\NovaInputmask\NovaInputmask; use Outl1ne\NovaSimpleRepeatable\SimpleRepeatable; @@ -103,133 +104,135 @@ class NovaVisaMasterPaymentOrder extends Resource public function fields(NovaRequest $request): array { return [ - new Panel(__('New :resource', ['resource' => $this->singularLabel()]), [ - ID::make() - ->hideFromDetail(), + Tabs::make('Wizard', [ + new Tab(__('New :resource', ['resource' => $this->singularLabel()]), [ + ID::make() + ->hideFromDetail(), - Hidden::make('user_id') - ->default(auth()->id()) - ->hideWhenUpdating(), + Hidden::make('user_id') + ->default(auth()->id()) + ->hideWhenUpdating(), - Text::make(__('ID'), 'unique_id') - ->exceptOnForms(), + Text::make(__('ID'), 'unique_id') + ->exceptOnForms(), - Select::make(__('Status'), 'status') - ->displayUsingLabels() - ->searchable() - ->options(OrderRepo::statusValues()) - ->default(OrderRepo::defaultStatus()) - ->fullWidth() - ->hideFromDetail() - ->rules('required') - ->canSeeWhen('systemUser', $this), - - Badge::make(__('Status'), 'status') - ->map(OrderRepo::statusClasses()) - ->addTypes([ - 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', - ]) - ->labels(OrderRepo::statusValues()) - ->withIcons() - ->icons(OrderRepo::statusIcons()), - - Text::make(__('Note'), 'notes') - ->fullWidth() - ->canSeeWhen('systemUser', $this), - ]), - - new Panel(__('Application type'), [ - Select::make(__('Application type'), 'type') - ->fullWidth() - ->searchable() - ->rules('required') - ->displayUsingLabels() - ->options(VisaMasterPaymentOrder::applicationTypes()), - ]), - - new Panel(__('Location'), [ - Select::make(__('Region'), 'region') - ->fullWidth() - ->displayUsingLabels() - ->searchable() - ->options(RegionRepo::values()) - ->default(RegionRepo::default()) - ->rules('required') - ->sortable(), - - Select::make(__('Branch'), 'branch_id') - ->fullWidth() - ->displayUsingLabels() - ->searchable() - ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) - ->rules('required') - ->sortable(), - ]), - - new Panel(__('Personal data'), [ - Text::make(__('Passport name'), 'passport_name') - ->fullWidth() - ->rules('required', 'string', 'max:255'), - - Text::make(__('Passport surname'), 'passport_surname') - ->fullWidth() - ->rules('required', 'string', 'max:255'), - - NovaInputmask::make(__('Phone'), 'phone') - ->fullWidth() - ->phonenumber('TM') - ->rules('required', 'max:255') - ->hideFromIndex(), - - Text::make(__('Email'), 'email') - ->fullWidth() - ->rules('nullable', 'max:255', 'email') - ->hideFromIndex(), - - Text::make(__('Current Residence'), 'address') - ->fullWidth() - ->rules('required', 'string', 'max:255') - ->hideFromIndex(), - ]), - - new Panel(__('Payment'), [ - SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ - Select::make(__('Passport serie'), 'passport_serie') + Select::make(__('Status'), 'status') ->displayUsingLabels() ->searchable() - ->options(PassportRepo::values()) + ->options(OrderRepo::statusValues()) + ->default(OrderRepo::defaultStatus()) + ->fullWidth() + ->hideFromDetail() + ->rules('required') + ->canSeeWhen('systemUser', $this), + + Badge::make(__('Status'), 'status') + ->map(OrderRepo::statusClasses()) + ->addTypes([ + 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', + ]) + ->labels(OrderRepo::statusValues()) + ->withIcons() + ->icons(OrderRepo::statusIcons()), + + Text::make(__('Note'), 'notes') + ->fullWidth() + ->canSeeWhen('systemUser', $this), + ]), + + new Tab(__('Application type'), [ + Select::make(__('Application type'), 'type') + ->fullWidth() + ->searchable() + ->rules('required') + ->displayUsingLabels() + ->options(VisaMasterPaymentOrder::applicationTypes()), + ]), + + new Tab(__('Location'), [ + Select::make(__('Region'), 'region') + ->fullWidth() + ->displayUsingLabels() + ->searchable() + ->options(RegionRepo::values()) + ->default(RegionRepo::default()) ->rules('required') ->sortable(), - NovaInputmask::make(__('Passport number'), 'passport_number') - ->mask('999999') - ->rules('required', 'max:255'), - - Text::make( - name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), - attribute: 'full_name' - ) - ->rules('required', 'max:255'), - ])->minRows(1)->rules('required'), - - SimpleRepeatable::make('Tölegi kabul edijiniň maglumatlary', 'payment_reciever', [ - Select::make(__('Passport serie'), 'passport_serie') + Select::make(__('Branch'), 'branch_id') + ->fullWidth() ->displayUsingLabels() ->searchable() - ->options(PassportRepo::values()) + ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) ->rules('required') ->sortable(), + ]), - NovaInputmask::make(__('Passport number'), 'passport_number') - ->mask('999999') - ->rules('required', 'max:255'), + new Tab(__('Personal data'), [ + Text::make(__('Passport name'), 'passport_name') + ->fullWidth() + ->rules('required', 'string', 'max:255'), - Text::make( - name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), - attribute: 'full_name' - ), - ])->maxRows(1)->minRows(1)->rules('required'), - ]), + Text::make(__('Passport surname'), 'passport_surname') + ->fullWidth() + ->rules('required', 'string', 'max:255'), + + NovaInputmask::make(__('Phone'), 'phone') + ->fullWidth() + ->phonenumber('TM') + ->rules('required', 'max:255') + ->hideFromIndex(), + + Text::make(__('Email'), 'email') + ->fullWidth() + ->rules('nullable', 'max:255', 'email') + ->hideFromIndex(), + + Text::make(__('Current Residence'), 'address') + ->fullWidth() + ->rules('required', 'string', 'max:255') + ->hideFromIndex(), + ]), + + new Tab(__('Payment'), [ + SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ + Select::make(__('Passport serie'), 'passport_serie') + ->displayUsingLabels() + ->searchable() + ->options(PassportRepo::values()) + ->rules('required') + ->sortable(), + + NovaInputmask::make(__('Passport number'), 'passport_number') + ->mask('999999') + ->rules('required', 'max:255'), + + Text::make( + name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), + attribute: 'full_name' + ) + ->rules('required', 'max:255'), + ])->minRows(1)->rules('required'), + + SimpleRepeatable::make('Tölegi kabul edijiniň maglumatlary', 'payment_reciever', [ + Select::make(__('Passport serie'), 'passport_serie') + ->displayUsingLabels() + ->searchable() + ->options(PassportRepo::values()) + ->rules('required') + ->sortable(), + + NovaInputmask::make(__('Passport number'), 'passport_number') + ->mask('999999') + ->rules('required', 'max:255'), + + Text::make( + name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), + attribute: 'full_name' + ), + ])->maxRows(1)->minRows(1)->rules('required'), + ]), + ], $request)->asWizard(), ]; } } diff --git a/app/Rules/DowranAgaAllowed.php b/app/Rules/DowranAgaAllowed.php index 728e349..ed104da 100644 --- a/app/Rules/DowranAgaAllowed.php +++ b/app/Rules/DowranAgaAllowed.php @@ -17,7 +17,15 @@ class DowranAgaAllowed implements ValidationRule $pattern = "/^[a-zA-Z0-9\s\(\)\"\'\-\žŽäÄňŇöÖşŞüÜçÇýÝ\/,.]+$/u"; if (! preg_match($pattern, $value)) { - $fail(__('Write a correct data please')); + $fail($this->message()); } } + + /** + * Message + */ + public function message(): string + { + return __('Write a correct data please'); + } } diff --git a/composer.json b/composer.json index d4f7917..25b90f7 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "dedoc/scramble": "^0.11.11", "denniseilander/pulse-about-application": "^0.1.1", "ebess/advanced-nova-media-library": "^4.2", + "eminiarts/nova-tabs": "*", "eolica/nova-locale-switcher": "dev-support-nova-4", "geoip2/geoip2": "~2.0", "guzzlehttp/guzzle": "^7.2", @@ -94,8 +95,8 @@ "url": "https://github.com/anditsung/nova-locale-switcher" }, "1": { - "type": "path", - "url": "./nova-components/NovaWizardField" + "type": "vcs", + "url": "https://github.com/nurmuhammet-ali/nova-tabs" } }, "config": { diff --git a/composer.lock b/composer.lock index 2fe95b9..3446a17 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8876499b32bb24b82f53506f977ad426", + "content-hash": "a659769fcebee0f25a04da70449c4ac0", "packages": [ { "name": "adoy/fastcgi-client", @@ -1349,6 +1349,78 @@ ], "time": "2023-10-06T06:47:41+00:00" }, + { + "name": "eminiarts/nova-tabs", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/nurmuhammet-ali/nova-tabs.git", + "reference": "d706ee1fe66f6ee9fc0584c0e06ab47e41b03990" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nurmuhammet-ali/nova-tabs/zipball/d706ee1fe66f6ee9fc0584c0e06ab47e41b03990", + "reference": "d706ee1fe66f6ee9fc0584c0e06ab47e41b03990", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/nova": "^4.12", + "nova-kit/nova-packages-tool": "^1.3", + "php": "^7.4|^8" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2", + "orchestra/testbench": "^6", + "roave/security-advisories": "dev-latest" + }, + "default-branch": true, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Eminiarts\\Tabs\\TabsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Eminiarts\\Tabs\\": "src/", + "Eminiarts\\Tabs\\Tests\\": "tests/" + } + }, + "scripts": { + "php-cs-fixer": [ + "vendor/bin/php-cs-fixer fix" + ], + "phpunit": [ + "vendor/bin/phpunit" + ], + "test": [ + "composer php-cs-fixer", + "composer phpunit" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emini Arts GmbH", + "email": "support@eminiarts.ch", + "homepage": "https://eminiarts.ch" + } + ], + "description": "Laravel Nova - Tabs.", + "keywords": [ + "laravel", + "nova" + ], + "support": { + "source": "https://github.com/nurmuhammet-ali/nova-tabs/tree/master" + }, + "time": "2024-09-07T00:11:10+00:00" + }, { "name": "eolica/nova-locale-switcher", "version": "dev-support-nova-4", diff --git a/resources/css/vendor/nova/css/additional.css b/resources/css/vendor/nova/css/additional.css index e04ad13..ee67578 100644 --- a/resources/css/vendor/nova/css/additional.css +++ b/resources/css/vendor/nova/css/additional.css @@ -30,7 +30,7 @@ dialog a { /*}*/ -button[dusk="update-and-continue-editing-button"], +/*button[dusk="update-and-continue-editing-button"], button[dusk="create-and-add-another-button"] { display: none; -} +}*/