From aba1fcc372e13963b20e40a192305a8bea3c7b01 Mon Sep 17 00:00:00 2001 From: Vasyka Date: Mon, 7 Sep 2026 12:08:14 +0000 Subject: [PATCH] Fix client/vehicle inline creation and labor catalog visibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Migration: make clients.phone nullable (was NOT NULL, broke inline create) - Vehicle createOptionUsing: use Get callback instead of $livewire->data to reliably get client_id in the vehicle inline form - Remove plate->required() on inline vehicle form (not required in DB) - Rename 'Norme-ore' → 'Catalog manopere'/'Каталог работ' in navigation so users can find the labor catalog easily Co-Authored-By: Claude Sonnet 4.6 --- .../Tenant/Resources/WorkOrderResource.php | 6 ++--- ...9_07_100000_make_client_phone_nullable.php | 22 +++++++++++++++++++ lang/ro/nav.php | 2 +- lang/ru/nav.php | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 database/migrations/2026_09_07_100000_make_client_phone_nullable.php diff --git a/app/Filament/Tenant/Resources/WorkOrderResource.php b/app/Filament/Tenant/Resources/WorkOrderResource.php index d43005f..6063da8 100644 --- a/app/Filament/Tenant/Resources/WorkOrderResource.php +++ b/app/Filament/Tenant/Resources/WorkOrderResource.php @@ -102,12 +102,12 @@ class WorkOrderResource extends Resource ->createOptionForm([ Forms\Components\TextInput::make('make')->label(__('Marcă'))->required(), Forms\Components\TextInput::make('model')->label(__('Model'))->required(), - Forms\Components\TextInput::make('plate')->label(__('Nr. înmatriculare'))->required(), + Forms\Components\TextInput::make('plate')->label(__('Nr. înmatriculare')), Forms\Components\TextInput::make('year')->label(__('An'))->numeric(), Forms\Components\TextInput::make('vin')->label(__('VIN')), ]) - ->createOptionUsing(function (array $data, \Livewire\Component $livewire) { - $data['client_id'] = data_get((array) $livewire->data, 'client_id'); + ->createOptionUsing(function (array $data, Get $get) { + $data['client_id'] = $get('client_id'); return Vehicle::create($data)->id; }), Forms\Components\Select::make('master_id')->label(__('Maistru')) diff --git a/database/migrations/2026_09_07_100000_make_client_phone_nullable.php b/database/migrations/2026_09_07_100000_make_client_phone_nullable.php new file mode 100644 index 0000000..b98ba9a --- /dev/null +++ b/database/migrations/2026_09_07_100000_make_client_phone_nullable.php @@ -0,0 +1,22 @@ +string('phone')->nullable()->change(); + }); + } + + public function down(): void + { + Schema::table('clients', function (Blueprint $table) { + $table->string('phone')->nullable(false)->change(); + }); + } +}; diff --git a/lang/ro/nav.php b/lang/ro/nav.php index 56bc719..9e6f4ed 100644 --- a/lang/ro/nav.php +++ b/lang/ro/nav.php @@ -51,7 +51,7 @@ return [ 'Jurnal activitate' => 'Jurnal activitate', 'KPI mecanici' => 'KPI mecanici', 'Lucrări terți' => 'Lucrări terți', - 'Norme-ore' => 'Norme-ore', + 'Norme-ore' => 'Catalog manopere', 'Pipeline' => 'Pipeline', 'Pipeline (tabel)' => 'Pipeline (tabel)', 'Planuri' => 'Planuri', diff --git a/lang/ru/nav.php b/lang/ru/nav.php index 3bfba69..90fb391 100644 --- a/lang/ru/nav.php +++ b/lang/ru/nav.php @@ -51,7 +51,7 @@ return [ 'Jurnal activitate' => 'Журнал действий', 'KPI mecanici' => 'KPI механиков', 'Lucrări terți' => 'Работы субподрядчиков', - 'Norme-ore' => 'Нормо-часы', + 'Norme-ore' => 'Каталог работ', 'Pipeline' => 'Воронка', 'Pipeline (tabel)' => 'Воронка (таблица)', 'Planuri' => 'Тарифы',