diff --git a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php index df20cd6..8ede17f 100644 --- a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php +++ b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php @@ -8,6 +8,9 @@ use App\Nova\Filters\RegionFilter; use App\Nova\Filters\StatusFilter; use App\Nova\Nova; use App\Nova\Resource; +use App\Nova\Resources\Order\Card\Concerns\CardOrderFieldsForIndex; +use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForIndex; +use App\Repos\Order\Card\CardOrderRepo; use App\Repos\Order\Card\CardTypeRepo; use App\Repos\Order\OrderRepo; use App\Repos\System\Nova\NovaRepo; @@ -144,16 +147,16 @@ class CardRequisite extends Resource */ public static function afterCreate(NovaRequest $request, Model $model): void { - // CardOrderRepo::created()($model); + $model->update(['unique_id' => CardOrderRepo::fillUniqueId($model)]); } /** * Get the fields for index. */ - // public function fieldsForIndex(NovaRequest $request): array - // { - // return CardOrderFieldsForIndex::make($this); - // } + public function fieldsForIndex(NovaRequest $request): array + { + return CardRequisiteFieldsForIndex::make($this, $request); + } // /** // * Get the fields for detail diff --git a/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForIndex.php b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForIndex.php new file mode 100644 index 0000000..034ea39 --- /dev/null +++ b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForIndex.php @@ -0,0 +1,60 @@ +hide(), + + Text::make(__('ID'), 'unique_id')->sortable(), + + BelongsTo::make(__('Type'), 'cardType', CardType::class) + ->sortable(), + + Select::make(__('Region'), 'region') + ->displayUsingLabels() + ->options(RegionRepo::values()) + ->canSeeWhen('isAdmin', $resource) + ->sortable(), + + BelongsTo::make(__('Branch'), 'branch', Branch::class) + ->canSeeWhen('isAdmin', $resource) + ->filterable() + ->sortable(), + + Text::make(__('Name'), 'customer_name'), + + Text::make(__('Surname'), 'customer_surname'), + + Text::make(__('Phone'), 'phone'), + + 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()) + ->sortable(), + ]; + } +}