Skip to content

Commit 65f2770

Browse files
authored
Merge pull request #71 from dsbilling/filament3
2 parents 44ceb63 + 651c416 commit 65f2770

File tree

164 files changed

+3408
-4277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+3408
-4277
lines changed

.github/FUNDING.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/pint.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: PHP Linting
2+
on: pull_request
3+
jobs:
4+
phplint:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v4
8+
- name: "laravel-pint"
9+
uses: aglipanci/[email protected]
10+
with:
11+
preset: laravel
12+
verboseMode: true
13+
testMode: true
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
<?php
2+
3+
namespace App\Filament\Resources;
4+
5+
use App\Filament\Resources\CertificationResource\Pages;
6+
use App\Models\Certification;
7+
use Filament\Forms\Components\DatePicker;
8+
use Filament\Forms\Components\FileUpload;
9+
use Filament\Forms\Components\Select;
10+
use Filament\Forms\Components\TextInput;
11+
use Filament\Forms\Form;
12+
use Filament\Resources\Resource;
13+
use Filament\Tables;
14+
use Filament\Tables\Columns\TextColumn;
15+
use Filament\Tables\Table;
16+
17+
class CertificationResource extends Resource
18+
{
19+
protected static ?string $model = Certification::class;
20+
21+
protected static ?string $navigationIcon = 'heroicon-o-book-open';
22+
23+
public static function form(Form $form): Form
24+
{
25+
return $form
26+
->schema([
27+
TextInput::make('name')
28+
->autofocus()
29+
->required()
30+
->placeholder(__('Name')),
31+
32+
TextInput::make('short')
33+
->placeholder(__('Short')),
34+
35+
TextInput::make('identifier')
36+
->placeholder(__('Identifier')),
37+
38+
DatePicker::make('issued_at')
39+
->required()
40+
->placeholder(__('Issued at')),
41+
42+
DatePicker::make('expiration_at')
43+
->placeholder(__('Expiration at')),
44+
45+
Select::make('company_id')
46+
->required()
47+
->relationship('company', 'name'),
48+
49+
FileUpload::make('file_path')
50+
->required()
51+
->acceptedFileTypes(['application/pdf'])
52+
->directory('uploads')
53+
->preserveFilenames()
54+
->downloadable(),
55+
56+
]);
57+
}
58+
59+
public static function table(Table $table): Table
60+
{
61+
return $table
62+
->columns([
63+
TextColumn::make('name')
64+
->searchable()
65+
->sortable(),
66+
TextColumn::make('short')
67+
->searchable()
68+
->sortable(),
69+
TextColumn::make('issued_at')
70+
->searchable()
71+
->sortable()
72+
->date(),
73+
TextColumn::make('expiration_at')
74+
->searchable()
75+
->sortable()
76+
->date(),
77+
TextColumn::make('company.name')
78+
->searchable()
79+
->sortable(),
80+
])
81+
->filters([
82+
//
83+
])
84+
->actions([
85+
Tables\Actions\EditAction::make(),
86+
])
87+
->bulkActions([
88+
Tables\Actions\BulkActionGroup::make([
89+
Tables\Actions\DeleteBulkAction::make(),
90+
]),
91+
])
92+
->defaultSort('issued_at', 'desc');
93+
}
94+
95+
public static function getRelations(): array
96+
{
97+
return [
98+
//
99+
];
100+
}
101+
102+
public static function getPages(): array
103+
{
104+
return [
105+
'index' => Pages\ListCertifications::route('/'),
106+
'create' => Pages\CreateCertification::route('/create'),
107+
'edit' => Pages\EditCertification::route('/{record}/edit'),
108+
];
109+
}
110+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\CertificationResource\Pages;
4+
5+
use App\Filament\Resources\CertificationResource;
6+
use Filament\Resources\Pages\CreateRecord;
7+
8+
class CreateCertification extends CreateRecord
9+
{
10+
protected static string $resource = CertificationResource::class;
11+
}
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\CertificationResource\Pages;
4+
5+
use App\Filament\Resources\CertificationResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\EditRecord;
8+
9+
class EditCertification extends EditRecord
10+
{
11+
protected static string $resource = CertificationResource::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\CertificationResource\Pages;
4+
5+
use App\Filament\Resources\CertificationResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\ListRecords;
8+
9+
class ListCertifications extends ListRecords
10+
{
11+
protected static string $resource = CertificationResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\CreateAction::make(),
17+
];
18+
}
19+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?php
2+
3+
namespace App\Filament\Resources;
4+
5+
use App\Filament\Resources\CompanyResource\Pages;
6+
use App\Filament\Resources\CompanyResource\RelationManagers\CertificationsRelationManager;
7+
use App\Filament\Resources\CompanyResource\RelationManagers\CoursesRelationManager;
8+
use App\Models\Company;
9+
use Filament\Forms\Components\TextInput;
10+
use Filament\Forms\Form;
11+
use Filament\Resources\Resource;
12+
use Filament\Tables;
13+
use Filament\Tables\Table;
14+
15+
class CompanyResource extends Resource
16+
{
17+
protected static ?string $model = Company::class;
18+
19+
protected static ?string $navigationIcon = 'heroicon-o-building-office';
20+
21+
public static function form(Form $form): Form
22+
{
23+
return $form
24+
->schema([
25+
TextInput::make('name')
26+
->autofocus()
27+
->required()
28+
->placeholder(__('Name')),
29+
]);
30+
}
31+
32+
public static function table(Table $table): Table
33+
{
34+
return $table
35+
->columns([
36+
Tables\Columns\TextColumn::make('name')
37+
->searchable()
38+
->sortable(),
39+
40+
Tables\Columns\TextColumn::make('created_at')
41+
->searchable()
42+
->sortable()
43+
->dateTime(),
44+
45+
Tables\Columns\TextColumn::make('updated_at')
46+
->searchable()
47+
->sortable()
48+
->dateTime(),
49+
])
50+
->filters([
51+
//
52+
])
53+
->actions([
54+
Tables\Actions\EditAction::make(),
55+
])
56+
->bulkActions([
57+
Tables\Actions\BulkActionGroup::make([
58+
Tables\Actions\DeleteBulkAction::make(),
59+
]),
60+
])
61+
->defaultSort('created_at', 'desc');
62+
}
63+
64+
public static function getRelations(): array
65+
{
66+
return [
67+
CertificationsRelationManager::make(),
68+
CoursesRelationManager::make(),
69+
];
70+
}
71+
72+
public static function getPages(): array
73+
{
74+
return [
75+
'index' => Pages\ListCompanies::route('/'),
76+
'create' => Pages\CreateCompany::route('/create'),
77+
'edit' => Pages\EditCompany::route('/{record}/edit'),
78+
];
79+
}
80+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace App\Filament\Resources\CompanyResource\Pages;
4+
5+
use App\Filament\Resources\CompanyResource;
6+
use Filament\Resources\Pages\CreateRecord;
7+
8+
class CreateCompany extends CreateRecord
9+
{
10+
protected static string $resource = CompanyResource::class;
11+
}
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\CompanyResource\Pages;
4+
5+
use App\Filament\Resources\CompanyResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\EditRecord;
8+
9+
class EditCompany extends EditRecord
10+
{
11+
protected static string $resource = CompanyResource::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\CompanyResource\Pages;
4+
5+
use App\Filament\Resources\CompanyResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\ListRecords;
8+
9+
class ListCompanies extends ListRecords
10+
{
11+
protected static string $resource = CompanyResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\CreateAction::make(),
17+
];
18+
}
19+
}

0 commit comments

Comments
 (0)