Skip to content

Commit 53ee44b

Browse files
committed
12. DefectiveProductResource
1 parent ed618d9 commit 53ee44b

File tree

5 files changed

+139
-1
lines changed

5 files changed

+139
-1
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\Registries;
4+
5+
use App\Filament\Resources\Registries\DefectiveProductResource\Pages;
6+
use App\Models\DefectiveProduct;
7+
use Filament\Forms;
8+
use Filament\Forms\Form;
9+
use Filament\Resources\Resource;
10+
use Filament\Tables;
11+
use Filament\Tables\Table;
12+
13+
class DefectiveProductResource extends Resource
14+
{
15+
protected static ?string $model = DefectiveProduct::class;
16+
17+
protected static ?string $navigationGroup = 'registries';
18+
19+
protected static ?string $modelLabel = 'Реестр брака';
20+
21+
protected static ?string $pluralModelLabel = 'Реестр брака';
22+
23+
public static function form(Form $form): Form
24+
{
25+
return $form
26+
->schema([
27+
Forms\Components\Select::make('product_id')
28+
->relationship('product', 'id')
29+
->required(),
30+
Forms\Components\Select::make('size_id')
31+
->relationship('size', 'name')
32+
->required(),
33+
Forms\Components\TextInput::make('reason')
34+
->maxLength(255),
35+
]);
36+
}
37+
38+
public static function table(Table $table): Table
39+
{
40+
return $table
41+
->emptyStateHeading('Бракованные товары отсутствуют')
42+
->columns([
43+
Tables\Columns\TextColumn::make('product.id')
44+
->numeric()
45+
->sortable(),
46+
Tables\Columns\TextColumn::make('size.name')
47+
->numeric()
48+
->sortable(),
49+
Tables\Columns\TextColumn::make('reason')
50+
->searchable(),
51+
Tables\Columns\TextColumn::make('created_at')
52+
->dateTime()
53+
->sortable()
54+
->toggleable(isToggledHiddenByDefault: true),
55+
Tables\Columns\TextColumn::make('updated_at')
56+
->dateTime()
57+
->sortable()
58+
->toggleable(isToggledHiddenByDefault: true),
59+
])
60+
->filters([
61+
//
62+
])
63+
->actions([
64+
Tables\Actions\EditAction::make(),
65+
])
66+
->bulkActions([
67+
Tables\Actions\BulkActionGroup::make([
68+
Tables\Actions\DeleteBulkAction::make(),
69+
]),
70+
]);
71+
}
72+
73+
public static function getRelations(): array
74+
{
75+
return [
76+
//
77+
];
78+
}
79+
80+
public static function getPages(): array
81+
{
82+
return [
83+
'index' => Pages\ListDefectiveProducts::route('/'),
84+
'create' => Pages\CreateDefectiveProduct::route('/create'),
85+
'edit' => Pages\EditDefectiveProduct::route('/{record}/edit'),
86+
];
87+
}
88+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\Registries\DefectiveProductResource\Pages;
4+
5+
use App\Filament\Resources\Registries\DefectiveProductResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\CreateRecord;
8+
9+
class CreateDefectiveProduct extends CreateRecord
10+
{
11+
protected static string $resource = DefectiveProductResource::class;
12+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\Registries\DefectiveProductResource\Pages;
4+
5+
use App\Filament\Resources\Registries\DefectiveProductResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\EditRecord;
8+
9+
class EditDefectiveProduct extends EditRecord
10+
{
11+
protected static string $resource = DefectiveProductResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\DeleteAction::make(),
17+
];
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\Registries\DefectiveProductResource\Pages;
4+
5+
use App\Filament\Resources\Registries\DefectiveProductResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\ListRecords;
8+
9+
class ListDefectiveProducts extends ListRecords
10+
{
11+
protected static string $resource = DefectiveProductResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\CreateAction::make(),
17+
];
18+
}
19+
}

src/app/Providers/AdminPanelProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function panel(Panel $panel): Panel
6767
'user' => NavigationGroup::make()
6868
->label('Клиенты')
6969
->icon('heroicon-o-user-group'),
70-
'registry' => NavigationGroup::make()
70+
'registries' => NavigationGroup::make()
7171
->label('Реестры')
7272
->icon('heroicon-o-folder'),
7373
'old-admin-panel' => NavigationGroup::make()

0 commit comments

Comments
 (0)