feat(work-orders): dashboard becomes single hub — list/create/edit funnel through it
- WO list row click now opens /work-orders/{id}/dashboard instead of
/edit (via ->recordUrl on the table). Edit remains reachable from
the per-row Filament EditAction.
- CreateWorkOrder redirects to the dashboard after save instead of
the edit page.
- Dashboard top bar exposes: "Listă" (back to WO list), "+ Nou"
(create), and "Editare completă" (full edit form) so users don't
have to hop through the sidebar to move between related WO screens.
The old /work-orders, /create, and /{id}/edit routes stay intact —
just the default navigation flow now converges on the dashboard.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -183,6 +183,8 @@ class WorkOrderResource extends Resource
|
|||||||
->label(__('Maistru'))
|
->label(__('Maistru'))
|
||||||
->options(fn () => User::pluck('name', 'id')),
|
->options(fn () => User::pluck('name', 'id')),
|
||||||
])
|
])
|
||||||
|
// Row click opens the dashboard (single hub) instead of the raw edit form.
|
||||||
|
->recordUrl(fn (WorkOrder $r) => url('/app/work-orders/' . $r->id . '/dashboard'))
|
||||||
->actions([
|
->actions([
|
||||||
Actions\Action::make('pdf')
|
Actions\Action::make('pdf')
|
||||||
->label(__('PDF'))
|
->label(__('PDF'))
|
||||||
|
|||||||
@@ -17,4 +17,10 @@ class CreateWorkOrder extends CreateRecord
|
|||||||
$data['number'] = WorkOrder::generateNumber($companyId);
|
$data['number'] = WorkOrder::generateNumber($companyId);
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** After create, land on the dashboard (single hub) instead of the raw edit. */
|
||||||
|
protected function getRedirectUrl(): string
|
||||||
|
{
|
||||||
|
return url('/app/work-orders/' . $this->record->id . '/dashboard');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -747,6 +747,7 @@
|
|||||||
"Echipament defect": "Broken equipment",
|
"Echipament defect": "Broken equipment",
|
||||||
"Edit": "Edit",
|
"Edit": "Edit",
|
||||||
"Editare": "Edit",
|
"Editare": "Edit",
|
||||||
|
"Editare completă": "Full edit",
|
||||||
"Editează": "Edit",
|
"Editează": "Edit",
|
||||||
"Editează client": "Edit client",
|
"Editează client": "Edit client",
|
||||||
"Editează cod echivalent": "Edit equivalent code",
|
"Editează cod echivalent": "Edit equivalent code",
|
||||||
@@ -871,6 +872,7 @@
|
|||||||
"Fișă de lucru": "Work order",
|
"Fișă de lucru": "Work order",
|
||||||
"Fișă lucru": "Work order",
|
"Fișă lucru": "Work order",
|
||||||
"Fișă lucru (opțional)": "Work order (opt.)",
|
"Fișă lucru (opțional)": "Work order (opt.)",
|
||||||
|
"Fișă nouă": "New work order",
|
||||||
"Fișă închisă": "Order closed",
|
"Fișă închisă": "Order closed",
|
||||||
"Folie PPF": "PPF film",
|
"Folie PPF": "PPF film",
|
||||||
"Folosește AI Assistant": "Use AI Assistant",
|
"Folosește AI Assistant": "Use AI Assistant",
|
||||||
@@ -2037,6 +2039,7 @@
|
|||||||
"Toate comenzile": "All orders",
|
"Toate comenzile": "All orders",
|
||||||
"Toate companiile": "All companies",
|
"Toate companiile": "All companies",
|
||||||
"Toate câmpurile": "All fields",
|
"Toate câmpurile": "All fields",
|
||||||
|
"Toate fișele": "All work orders",
|
||||||
"Toate limbile": "All languages",
|
"Toate limbile": "All languages",
|
||||||
"Toate ok": "All OK",
|
"Toate ok": "All OK",
|
||||||
"Toate piesele sunt în stoc.": "All parts in stock.",
|
"Toate piesele sunt în stoc.": "All parts in stock.",
|
||||||
|
|||||||
@@ -747,6 +747,7 @@
|
|||||||
"Echipament defect": "Неисправное оборудование",
|
"Echipament defect": "Неисправное оборудование",
|
||||||
"Edit": "Изменить",
|
"Edit": "Изменить",
|
||||||
"Editare": "Изменить",
|
"Editare": "Изменить",
|
||||||
|
"Editare completă": "Полное редактирование",
|
||||||
"Editează": "Изменить",
|
"Editează": "Изменить",
|
||||||
"Editează client": "Изменить клиента",
|
"Editează client": "Изменить клиента",
|
||||||
"Editează cod echivalent": "Изменить эквивалентный код",
|
"Editează cod echivalent": "Изменить эквивалентный код",
|
||||||
@@ -871,6 +872,7 @@
|
|||||||
"Fișă de lucru": "Заказ-наряд",
|
"Fișă de lucru": "Заказ-наряд",
|
||||||
"Fișă lucru": "Заказ-наряд",
|
"Fișă lucru": "Заказ-наряд",
|
||||||
"Fișă lucru (opțional)": "Заказ-наряд (опц.)",
|
"Fișă lucru (opțional)": "Заказ-наряд (опц.)",
|
||||||
|
"Fișă nouă": "Новый заказ-наряд",
|
||||||
"Fișă închisă": "Наряд закрыт",
|
"Fișă închisă": "Наряд закрыт",
|
||||||
"Folie PPF": "Плёнка PPF",
|
"Folie PPF": "Плёнка PPF",
|
||||||
"Folosește AI Assistant": "Использовать AI Assistant",
|
"Folosește AI Assistant": "Использовать AI Assistant",
|
||||||
@@ -2037,6 +2039,7 @@
|
|||||||
"Toate comenzile": "Все заказы",
|
"Toate comenzile": "Все заказы",
|
||||||
"Toate companiile": "Все компании",
|
"Toate companiile": "Все компании",
|
||||||
"Toate câmpurile": "Все поля",
|
"Toate câmpurile": "Все поля",
|
||||||
|
"Toate fișele": "Все заказ-наряды",
|
||||||
"Toate limbile": "Все языки",
|
"Toate limbile": "Все языки",
|
||||||
"Toate ok": "Всё в порядке",
|
"Toate ok": "Всё в порядке",
|
||||||
"Toate piesele sunt în stoc.": "Все запчасти в наличии.",
|
"Toate piesele sunt în stoc.": "Все запчасти в наличии.",
|
||||||
|
|||||||
@@ -385,15 +385,20 @@
|
|||||||
<span style="opacity:.6;">▾</span>
|
<span style="opacity:.6;">▾</span>
|
||||||
</span>
|
</span>
|
||||||
<div class="wd-topbar-actions">
|
<div class="wd-topbar-actions">
|
||||||
|
<a class="wd-btn" href="{{ url('/app/work-orders') }}" title="{{ __('Toate fișele') }}">
|
||||||
|
☰ {{ __('Listă') }}
|
||||||
|
</a>
|
||||||
|
<a class="wd-btn wd-btn-primary" href="{{ url('/app/work-orders/create') }}" title="{{ __('Fișă nouă') }}">
|
||||||
|
+ {{ __('Nou') }}
|
||||||
|
</a>
|
||||||
<a class="wd-btn" href="{{ route('filament.tenant.resources.work-orders.edit', ['record' => $wo->id]) }}">
|
<a class="wd-btn" href="{{ route('filament.tenant.resources.work-orders.edit', ['record' => $wo->id]) }}">
|
||||||
✎ {{ __('Editează') }}
|
✎ {{ __('Editare completă') }}
|
||||||
</a>
|
</a>
|
||||||
@if ($wo->tracking_token)
|
@if ($wo->tracking_token)
|
||||||
<a class="wd-btn" target="_blank" href="{{ $wo->trackingUrl() }}">
|
<a class="wd-btn" target="_blank" href="{{ $wo->trackingUrl() }}">
|
||||||
🔗 {{ __('Link tracking') }}
|
🔗 {{ __('Link tracking') }}
|
||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
<button type="button" class="wd-btn wd-btn-primary">{{ __('Salvează') }}</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user