Skip to content

Commit

Permalink
fix: set page resources to use config value for resource
Browse files Browse the repository at this point in the history
  • Loading branch information
craigAtCD committed Apr 22, 2022
1 parent 0f66037 commit f239ca9
Show file tree
Hide file tree
Showing 14 changed files with 159 additions and 33 deletions.
18 changes: 16 additions & 2 deletions src/Resources/PermissionResource/Pages/CreatePermission.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,24 @@

namespace Phpsa\FilamentAuthentication\Resources\PermissionResource\Pages;

use Phpsa\FilamentAuthentication\Resources\PermissionResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\CreateRecord;
use Spatie\Permission\PermissionRegistrar;
use Spatie\Permission\Contracts\Permission;

class CreatePermission extends CreateRecord
{
protected static string $resource = PermissionResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.PermissionResource');
}

public function afterSave(): void
{
if (! $this->record instanceof Permission) {
return;
}

app(PermissionRegistrar::class)->forgetCachedPermissions();
}
}
17 changes: 15 additions & 2 deletions src/Resources/PermissionResource/Pages/EditPermission.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,23 @@

namespace Phpsa\FilamentAuthentication\Resources\PermissionResource\Pages;

use Phpsa\FilamentAuthentication\Resources\PermissionResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\EditRecord;
use Spatie\Permission\Contracts\Permission;

class EditPermission extends EditRecord
{
protected static string $resource = PermissionResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.PermissionResource');
}

public function afterSave(): void
{
if (! $this->record instanceof Permission) {
return;
}

app(PermissionRegistrar::class)->forgetCachedPermissions();
}
}
16 changes: 9 additions & 7 deletions src/Resources/PermissionResource/Pages/ListPermissions.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@

namespace Phpsa\FilamentAuthentication\Resources\PermissionResource\Pages;

// use Phpsa\FilamentAuthentication\Resource\PermissionResource;

use Phpsa\FilamentAuthentication\Resources\PermissionResource;
use Spatie\Permission\Models\Role;
use Filament\Forms\Components\Select;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Support\Facades\Config;
use Filament\Tables\Actions\BulkAction;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Database\Eloquent\Collection;
use Spatie\Permission\Models\Role;

class ListPermissions extends ListRecords
{
protected static string $resource = PermissionResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.PermissionResource');
}


protected function getTableBulkActions(): array
{
Expand All @@ -28,7 +30,7 @@ protected function getTableBulkActions(): array
})
->form([
Select::make('role')
->label(__('filament-spatie-roles-permissions::filament-spatie.field.role'))
->label(__('filament-authentication::filament-authentication.field.role'))
->options(Role::query()->pluck('name', 'id'))
->required(),
])->deselectRecordsAfterCompletion()
Expand Down
7 changes: 5 additions & 2 deletions src/Resources/PermissionResource/Pages/ViewPermission.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Phpsa\FilamentAuthentication\Resources\PermissionResource\Pages;

use Phpsa\FilamentAuthentication\Resources\PermissionResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\ViewRecord;

class ViewPermission extends ViewRecord
{
protected static string $resource = PermissionResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.PermissionResource');
}
}
18 changes: 16 additions & 2 deletions src/Resources/RoleResource/Pages/CreateRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,24 @@

namespace Phpsa\FilamentAuthentication\Resources\RoleResource\Pages;

use Phpsa\FilamentAuthentication\Resources\RoleResource;
use Spatie\Permission\Contracts\Role;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\CreateRecord;
use Spatie\Permission\PermissionRegistrar;

class CreateRole extends CreateRecord
{
protected static string $resource = RoleResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.RoleResource');
}

public function afterSave(): void
{
if (! $this->record instanceof Role) {
return;
}

app(PermissionRegistrar::class)->forgetCachedPermissions();
}
}
18 changes: 16 additions & 2 deletions src/Resources/RoleResource/Pages/EditRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,24 @@

namespace Phpsa\FilamentAuthentication\Resources\RoleResource\Pages;

use Phpsa\FilamentAuthentication\Resources\RoleResource;
use Spatie\Permission\Contracts\Role;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\EditRecord;
use Spatie\Permission\PermissionRegistrar;

class EditRole extends EditRecord
{
protected static string $resource = RoleResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.RoleResource');
}

public function afterSave(): void
{
if (! $this->record instanceof Role) {
return;
}

app(PermissionRegistrar::class)->forgetCachedPermissions();
}
}
7 changes: 5 additions & 2 deletions src/Resources/RoleResource/Pages/ListRoles.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Phpsa\FilamentAuthentication\Resources\RoleResource\Pages;

use Phpsa\FilamentAuthentication\Resources\RoleResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\ListRecords;

class ListRoles extends ListRecords
{
protected static string $resource = RoleResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.RoleResource');
}
}
7 changes: 5 additions & 2 deletions src/Resources/RoleResource/Pages/ViewRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Phpsa\FilamentAuthentication\Resources\RoleResource\Pages;

use Phpsa\FilamentAuthentication\Resources\RoleResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\ViewRecord;

class ViewRole extends ViewRecord
{
protected static string $resource = RoleResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.RoleResource');
}
}
11 changes: 7 additions & 4 deletions src/Resources/UserResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@ public static function form(Form $form): Form
public static function table(Table $table): Table
{

$userTimeZone = config('request.user.timezone', config('filament-authentication.user_timezone', config('app.timezone')));

return $table
->columns([
TextColumn::make('id')
Expand Down Expand Up @@ -111,7 +109,7 @@ public static function table(Table $table): Table
TagsColumn::make('roles.name')
->label(__('filament-authentication::filament-authentication.field.user.roles')),
TextColumn::make('created_at')
->dateTime("Y-m-d H:i:s", $userTimeZone)
->dateTime("Y-m-d H:i:s", static::getUserTimezone())
->label(__('filament-authentication::filament-authentication.field.user.created_at'))
])
->filters([
Expand All @@ -137,12 +135,17 @@ public static function getPages(): array
'index' => ListUsers::route('/'),
'create' => CreateUser::route('/create'),
'edit' => EditUser::route('/{record}/edit'),
// 'view' => ViewUser::route('/{record}')
'view' => ViewUser::route('/{record}')
];
}

public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()->with('roles');
}

public static function getUserTimezone(): string
{
return config('request.user.timezone', config('filament-authentication.user_timezone', config('app.timezone', 'UTC')));
}
}
7 changes: 5 additions & 2 deletions src/Resources/UserResource/Pages/CreateUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Phpsa\FilamentAuthentication\Resources\UserResource\Pages;

use Phpsa\FilamentAuthentication\Resources\UserResource;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Support\Facades\Config;

class CreateUser extends CreateRecord
{
protected static string $resource = UserResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.UserResource');
}
}
7 changes: 5 additions & 2 deletions src/Resources/UserResource/Pages/EditUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

namespace Phpsa\FilamentAuthentication\Resources\UserResource\Pages;

use Phpsa\FilamentAuthentication\Resources\UserResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\EditRecord;

class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.UserResource');
}

protected function mutateFormDataBeforeSave(array $data): array
{
Expand Down
7 changes: 5 additions & 2 deletions src/Resources/UserResource/Pages/ListUsers.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

namespace Phpsa\FilamentAuthentication\Resources\UserResource\Pages;

use Phpsa\FilamentAuthentication\Resources\UserResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\ListRecords;

class ListUsers extends ListRecords
{
protected static string $resource = UserResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.UserResource');
}
}
8 changes: 6 additions & 2 deletions src/Resources/UserResource/Pages/ViewUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@

namespace Phpsa\FilamentAuthentication\Resources\UserResource\Pages;

use Phpsa\FilamentAuthentication\Resources\UserResource;
use Illuminate\Support\Facades\Config;
use Filament\Resources\Pages\ViewRecord;
use Phpsa\FilamentAuthentication\Resources\UserResource\RelationManager\RoleRelationManager;

class ViewUser extends ViewRecord
{
protected static string $resource = UserResource::class;
public static function getResource(): string
{
return Config::get('filament-authentication.resources.UserResource');
}
}
44 changes: 44 additions & 0 deletions src/Resources/UserResource/RelationManager/RoleRelationManager.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php

namespace Phpsa\FilamentAuthentication\Resources\UserResource\RelationManager;

use Filament\Forms\Components\TextInput;
use Filament\Resources\Form;
use Filament\Resources\RelationManagers\BelongsToManyRelationManager;
use Filament\Resources\Table;
use Filament\Tables\Columns\TextColumn;

class RoleRelationManager extends BelongsToManyRelationManager
{
protected static string $relationship = 'roles';

protected static ?string $recordTitleAttribute = 'name';

public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('name')
->label(__('filament-authentication::filament-authentication.field.name')),
TextInput::make('guard_name')
->label(__('filament-authentication::filament-authentication.field.guard_name'))
->default(config('auth.defaults.guard')),

]);
}

public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('name')
->label(__('filament-authentication::filament-authentication.field.name'))->searchable(),
TextColumn::make('guard_name')
->label(__('filament-authentication::filament-authentication.field.guard_name')),

])
->filters([
//
]);
}
}

0 comments on commit f239ca9

Please sign in to comment.