This commit is contained in:
salam committed 2025-09-07 19:05:29 +02:00
1 parent b005c7677e
commit 59eea97d5a
21 files changed
+597 -779

No files matched your search

+70 -21
View File
@@ -2,6 +2,9 @@
namespace App\Models;
use Filament\Auth\MultiFactor\App\Contracts\HasAppAuthentication;
use Filament\Auth\MultiFactor\App\Contracts\HasAppAuthenticationRecovery;
use Filament\Auth\MultiFactor\Email\Contracts\HasEmailAuthentication;
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
use Illuminate\Contracts\Auth\MustVerifyEmail;
@@ -9,10 +12,9 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Log;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable implements FilamentUser, MustVerifyEmail
class User extends Authenticatable implements FilamentUser, HasAppAuthentication, HasAppAuthenticationRecovery, HasEmailAuthentication, MustVerifyEmail
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, HasRoles, Notifiable, SoftDeletes;
@@ -47,6 +49,8 @@ class User extends Authenticatable implements FilamentUser, MustVerifyEmail
protected $hidden = [
'password',
'remember_token',
'app_authentication_secret',
'app_authentication_recovery_codes',
];
/**
@@ -60,38 +64,83 @@ class User extends Authenticatable implements FilamentUser, MustVerifyEmail
'email_verified_at' => 'datetime',
'password' => 'hashed',
'app_verified_at' => 'datetime',
'app_authentication_secret' => 'encrypted',
'app_authentication_recovery_codes' => 'encrypted:array',
'has_email_authentication' => 'boolean',
];
}
public function getAppAuthenticationSecret(): ?string
{
// This method should return the user's saved app authentication secret.
return $this->app_authentication_secret;
}
public function saveAppAuthenticationSecret(?string $secret): void
{
// This method should save the user's app authentication secret.
$this->app_authentication_secret = $secret;
$this->save();
}
public function getAppAuthenticationHolderName(): string
{
// In a user's authentication app, each account can be represented by a "holder name".
// If the user has multiple accounts in your app, it might be a good idea to use
// their email address as then they are still uniquely identifiable.
return $this->email;
}
/**
* @return ?array<string>
*/
public function getAppAuthenticationRecoveryCodes(): ?array
{
// This method should return the user's saved app authentication recovery codes.
return $this->app_authentication_recovery_codes;
}
/**
* @param array<string> | null $codes
*/
public function saveAppAuthenticationRecoveryCodes(?array $codes): void
{
// This method should save the user's app authentication recovery codes.
$this->app_authentication_recovery_codes = $codes;
$this->save();
}
public function hasEmailAuthentication(): bool
{
// This method should return true if the user has enabled email authentication.
return $this->has_email_authentication;
}
public function toggleEmailAuthentication(bool $condition): void
{
// This method should save whether or not the user has enabled email authentication.
$this->has_email_authentication = $condition;
$this->save();
}
public function canAccessPanel(Panel $panel): bool
{
Log::info('canAccessPanel');
return true;
}
public function canAccessAdminPanel(Panel $panel): bool
{
Log::info('canAccessAdminPanel');
if ($panel->getId() === 'admin') {
return (
str_ends_with($this->email, '@webwerkstatt.tirol') ||
str_ends_with($this->email, '@kammerwest.at')
)
&& $this->hasVerifiedEmail();
return $this->hasVerifiedEmail();
}
return false;
}
public function kammer()
{
return $this->belongsTo(Kammer::class);
}
public function bundesland()
{
return $this->belongsTo(Bundesland::class);
}
}
+27 -65
View File
@@ -1,108 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use App\Models\Gutachter;
use Illuminate\Auth\Access\HandlesAuthorization;
class GutachterPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_gutachters::gutachter');
return $authUser->can('ViewAny:Gutachter');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Gutachter $gutachter): bool
public function view(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('view_gutachters::gutachter');
return $authUser->can('View:Gutachter');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_gutachters::gutachter');
return $authUser->can('Create:Gutachter');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Gutachter $gutachter): bool
public function update(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('update_gutachters::gutachter');
return $authUser->can('Update:Gutachter');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Gutachter $gutachter): bool
public function delete(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('delete_gutachters::gutachter');
return $authUser->can('Delete:Gutachter');
}
/**
* Determine whether the user can bulk delete.
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('delete_any_gutachters::gutachter');
return $authUser->can('Restore:Gutachter');
}
/**
* Determine whether the user can permanently delete.
*/
public function forceDelete(User $user, Gutachter $gutachter): bool
public function forceDelete(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('force_delete_gutachters::gutachter');
return $authUser->can('ForceDelete:Gutachter');
}
/**
* Determine whether the user can permanently bulk delete.
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('force_delete_any_gutachters::gutachter');
return $authUser->can('ForceDeleteAny:Gutachter');
}
/**
* Determine whether the user can restore.
*/
public function restore(User $user, Gutachter $gutachter): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('restore_gutachters::gutachter');
return $authUser->can('RestoreAny:Gutachter');
}
/**
* Determine whether the user can bulk restore.
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser, Gutachter $gutachter): bool
{
return $user->can('restore_any_gutachters::gutachter');
return $authUser->can('Replicate:Gutachter');
}
/**
* Determine whether the user can replicate.
*/
public function replicate(User $user, Gutachter $gutachter): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('replicate_gutachters::gutachter');
return $authUser->can('Reorder:Gutachter');
}
/**
* Determine whether the user can reorder.
*/
public function reorder(User $user): bool
{
return $user->can('reorder_gutachters::gutachter');
}
}
}
+27 -65
View File
@@ -1,108 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use App\Models\Konto;
use Illuminate\Auth\Access\HandlesAuthorization;
class KontoPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_kontos::konto');
return $authUser->can('ViewAny:Konto');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Konto $konto): bool
public function view(AuthUser $authUser, Konto $konto): bool
{
return $user->can('view_kontos::konto');
return $authUser->can('View:Konto');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_kontos::konto');
return $authUser->can('Create:Konto');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Konto $konto): bool
public function update(AuthUser $authUser, Konto $konto): bool
{
return $user->can('update_kontos::konto');
return $authUser->can('Update:Konto');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Konto $konto): bool
public function delete(AuthUser $authUser, Konto $konto): bool
{
return $user->can('delete_kontos::konto');
return $authUser->can('Delete:Konto');
}
/**
* Determine whether the user can bulk delete.
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser, Konto $konto): bool
{
return $user->can('delete_any_kontos::konto');
return $authUser->can('Restore:Konto');
}
/**
* Determine whether the user can permanently delete.
*/
public function forceDelete(User $user, Konto $konto): bool
public function forceDelete(AuthUser $authUser, Konto $konto): bool
{
return $user->can('force_delete_kontos::konto');
return $authUser->can('ForceDelete:Konto');
}
/**
* Determine whether the user can permanently bulk delete.
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('force_delete_any_kontos::konto');
return $authUser->can('ForceDeleteAny:Konto');
}
/**
* Determine whether the user can restore.
*/
public function restore(User $user, Konto $konto): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('restore_kontos::konto');
return $authUser->can('RestoreAny:Konto');
}
/**
* Determine whether the user can bulk restore.
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser, Konto $konto): bool
{
return $user->can('restore_any_kontos::konto');
return $authUser->can('Replicate:Konto');
}
/**
* Determine whether the user can replicate.
*/
public function replicate(User $user, Konto $konto): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('replicate_kontos::konto');
return $authUser->can('Reorder:Konto');
}
/**
* Determine whether the user can reorder.
*/
public function reorder(User $user): bool
{
return $user->can('reorder_kontos::konto');
}
}
}
+27 -65
View File
@@ -1,108 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use App\Models\Kontooptionen;
use Illuminate\Auth\Access\HandlesAuthorization;
class KontooptionenPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_kontooptionens::kontooptionen');
return $authUser->can('ViewAny:Kontooptionen');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Kontooptionen $kontooptionen): bool
public function view(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('view_kontooptionens::kontooptionen');
return $authUser->can('View:Kontooptionen');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_kontooptionens::kontooptionen');
return $authUser->can('Create:Kontooptionen');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Kontooptionen $kontooptionen): bool
public function update(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('update_kontooptionens::kontooptionen');
return $authUser->can('Update:Kontooptionen');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Kontooptionen $kontooptionen): bool
public function delete(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('delete_kontooptionens::kontooptionen');
return $authUser->can('Delete:Kontooptionen');
}
/**
* Determine whether the user can bulk delete.
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('delete_any_kontooptionens::kontooptionen');
return $authUser->can('Restore:Kontooptionen');
}
/**
* Determine whether the user can permanently delete.
*/
public function forceDelete(User $user, Kontooptionen $kontooptionen): bool
public function forceDelete(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('force_delete_kontooptionens::kontooptionen');
return $authUser->can('ForceDelete:Kontooptionen');
}
/**
* Determine whether the user can permanently bulk delete.
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('force_delete_any_kontooptionens::kontooptionen');
return $authUser->can('ForceDeleteAny:Kontooptionen');
}
/**
* Determine whether the user can restore.
*/
public function restore(User $user, Kontooptionen $kontooptionen): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('restore_kontooptionens::kontooptionen');
return $authUser->can('RestoreAny:Kontooptionen');
}
/**
* Determine whether the user can bulk restore.
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser, Kontooptionen $kontooptionen): bool
{
return $user->can('restore_any_kontooptionens::kontooptionen');
return $authUser->can('Replicate:Kontooptionen');
}
/**
* Determine whether the user can replicate.
*/
public function replicate(User $user, Kontooptionen $kontooptionen): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('replicate_kontooptionens::kontooptionen');
return $authUser->can('Reorder:Kontooptionen');
}
/**
* Determine whether the user can reorder.
*/
public function reorder(User $user): bool
{
return $user->can('reorder_kontooptionens::kontooptionen');
}
}
}
+27 -65
View File
@@ -1,108 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use App\Models\Permission;
use Illuminate\Auth\Access\HandlesAuthorization;
class PermissionPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_permissions::permission');
return $authUser->can('ViewAny:Permission');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Permission $permission): bool
public function view(AuthUser $authUser, Permission $permission): bool
{
return $user->can('view_permissions::permission');
return $authUser->can('View:Permission');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_permissions::permission');
return $authUser->can('Create:Permission');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Permission $permission): bool
public function update(AuthUser $authUser, Permission $permission): bool
{
return $user->can('update_permissions::permission');
return $authUser->can('Update:Permission');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Permission $permission): bool
public function delete(AuthUser $authUser, Permission $permission): bool
{
return $user->can('delete_permissions::permission');
return $authUser->can('Delete:Permission');
}
/**
* Determine whether the user can bulk delete.
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser, Permission $permission): bool
{
return $user->can('delete_any_permissions::permission');
return $authUser->can('Restore:Permission');
}
/**
* Determine whether the user can permanently delete.
*/
public function forceDelete(User $user, Permission $permission): bool
public function forceDelete(AuthUser $authUser, Permission $permission): bool
{
return $user->can('force_delete_permissions::permission');
return $authUser->can('ForceDelete:Permission');
}
/**
* Determine whether the user can permanently bulk delete.
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('force_delete_any_permissions::permission');
return $authUser->can('ForceDeleteAny:Permission');
}
/**
* Determine whether the user can restore.
*/
public function restore(User $user, Permission $permission): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('restore_permissions::permission');
return $authUser->can('RestoreAny:Permission');
}
/**
* Determine whether the user can bulk restore.
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser, Permission $permission): bool
{
return $user->can('restore_any_permissions::permission');
return $authUser->can('Replicate:Permission');
}
/**
* Determine whether the user can replicate.
*/
public function replicate(User $user, Permission $permission): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('replicate_permissions::permission');
return $authUser->can('Reorder:Permission');
}
/**
* Determine whether the user can reorder.
*/
public function reorder(User $user): bool
{
return $user->can('reorder_permissions::permission');
}
}
}
+27 -65
View File
@@ -1,108 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use Spatie\Permission\Models\Role;
use Illuminate\Auth\Access\HandlesAuthorization;
class RolePolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_role');
return $authUser->can('ViewAny:Role');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Role $role): bool
public function view(AuthUser $authUser, Role $role): bool
{
return $user->can('view_role');
return $authUser->can('View:Role');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_role');
return $authUser->can('Create:Role');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Role $role): bool
public function update(AuthUser $authUser, Role $role): bool
{
return $user->can('update_role');
return $authUser->can('Update:Role');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Role $role): bool
public function delete(AuthUser $authUser, Role $role): bool
{
return $user->can('delete_role');
return $authUser->can('Delete:Role');
}
/**
* Determine whether the user can bulk delete.
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser, Role $role): bool
{
return $user->can('delete_any_role');
return $authUser->can('Restore:Role');
}
/**
* Determine whether the user can permanently delete.
*/
public function forceDelete(User $user, Role $role): bool
public function forceDelete(AuthUser $authUser, Role $role): bool
{
return $user->can('{{ ForceDelete }}');
return $authUser->can('ForceDelete:Role');
}
/**
* Determine whether the user can permanently bulk delete.
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('{{ ForceDeleteAny }}');
return $authUser->can('ForceDeleteAny:Role');
}
/**
* Determine whether the user can restore.
*/
public function restore(User $user, Role $role): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('{{ Restore }}');
return $authUser->can('RestoreAny:Role');
}
/**
* Determine whether the user can bulk restore.
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser, Role $role): bool
{
return $user->can('{{ RestoreAny }}');
return $authUser->can('Replicate:Role');
}
/**
* Determine whether the user can replicate.
*/
public function replicate(User $user, Role $role): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('{{ Replicate }}');
return $authUser->can('Reorder:Role');
}
/**
* Determine whether the user can reorder.
*/
public function reorder(User $user): bool
{
return $user->can('{{ Reorder }}');
}
}
}
+25 -102
View File
@@ -2,143 +2,66 @@
namespace App\Policies;
use App\Models\User;
use Illuminate\Foundation\Auth\User as AuthUser;
use Illuminate\Auth\Access\HandlesAuthorization;
class UserPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return bool
*/
public function viewAny(User $user): bool
public function viewAny(AuthUser $authUser): bool
{
return $user->can('view_any_users::user');
return $authUser->can('ViewAny:User');
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @return bool
*/
public function view(User $user): bool
public function view(AuthUser $authUser): bool
{
return $user->can('view_users::user');
return $authUser->can('View:User');
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return bool
*/
public function create(User $user): bool
public function create(AuthUser $authUser): bool
{
return $user->can('create_users::user');
return $authUser->can('Create:User');
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @return bool
*/
public function update(User $user): bool
public function update(AuthUser $authUser): bool
{
return $user->can('update_users::user');
return $authUser->can('Update:User');
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @return bool
*/
public function delete(User $user): bool
public function delete(AuthUser $authUser): bool
{
return $user->can('delete_users::user');
return $authUser->can('Delete:User');
}
/**
* Determine whether the user can bulk delete.
*
* @param \App\Models\User $user
* @return bool
*/
public function deleteAny(User $user): bool
public function restore(AuthUser $authUser): bool
{
return $user->can('delete_any_users::user');
return $authUser->can('Restore:User');
}
/**
* Determine whether the user can permanently delete.
*
* @param \App\Models\User $user
* @return bool
*/
public function forceDelete(User $user): bool
public function forceDelete(AuthUser $authUser): bool
{
return $user->can('force_delete_users::user');
return $authUser->can('ForceDelete:User');
}
/**
* Determine whether the user can permanently bulk delete.
*
* @param \App\Models\User $user
* @return bool
*/
public function forceDeleteAny(User $user): bool
public function forceDeleteAny(AuthUser $authUser): bool
{
return $user->can('force_delete_any_users::user');
return $authUser->can('ForceDeleteAny:User');
}
/**
* Determine whether the user can restore.
*
* @param \App\Models\User $user
* @return bool
*/
public function restore(User $user): bool
public function restoreAny(AuthUser $authUser): bool
{
return $user->can('restore_users::user');
return $authUser->can('RestoreAny:User');
}
/**
* Determine whether the user can bulk restore.
*
* @param \App\Models\User $user
* @return bool
*/
public function restoreAny(User $user): bool
public function replicate(AuthUser $authUser): bool
{
return $user->can('restore_any_users::user');
return $authUser->can('Replicate:User');
}
/**
* Determine whether the user can bulk restore.
*
* @param \App\Models\User $user
* @return bool
*/
public function replicate(User $user): bool
public function reorder(AuthUser $authUser): bool
{
return $user->can('replicate_users::user');
return $authUser->can('Reorder:User');
}
/**
* Determine whether the user can reorder.
*
* @param \App\Models\User $user
* @return bool
*/
public function reorder(User $user): bool
{
return $user->can('reorder_users::user');
}
}
}
+3 -3
View File
@@ -23,9 +23,9 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot(): void
{
FilamentColor::register([
'primary' => '#47847f',
]);
// FilamentColor::register([
// 'primary' => '#733e0a',
// ]);
FilamentView::registerRenderHook(
PanelsRenderHook::AUTH_LOGIN_FORM_BEFORE, fn (): View => view('login-links'),
+19 -2
View File
@@ -7,6 +7,8 @@ use App\Http\Middleware\AppUserVerifiedMiddleware;
use Awcodes\LightSwitch\Enums\Alignment;
use Awcodes\LightSwitch\LightSwitchPlugin;
use BezhanSalleh\FilamentShield\FilamentShieldPlugin;
use Filament\Auth\MultiFactor\App\AppAuthentication;
use Filament\Auth\MultiFactor\Email\EmailAuthentication;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents;
@@ -26,6 +28,7 @@ use Illuminate\Session\Middleware\StartSession;
use Illuminate\Support\Facades\Blade;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin;
use Swis\Filament\Backgrounds\ImageProviders\MyImages;
class AdminPanelProvider extends PanelProvider
{
@@ -35,11 +38,22 @@ class AdminPanelProvider extends PanelProvider
->id('admin')
->path('')
->login()
->registration()
->passwordReset()
->emailVerification()
->emailChangeVerification()
->profile()
->default()
->renderHook(
PanelsRenderHook::GLOBAL_SEARCH_BEFORE,
fn (): string => auth()->user()->hasRole('gutachter_switch') ? Blade::render('@livewire(\'tenancy-switch\')') : false
)
->multiFactorAuthentication([
EmailAuthentication::make(),
AppAuthentication::make()
->recoverable(),
])
// ], isRequired: true)
->maxContentWidth(Width::ScreenExtraLarge)
// ->sidebarCollapsibleOnDesktop()
// ->font('Open Sans')
@@ -74,10 +88,13 @@ class AdminPanelProvider extends PanelProvider
Authenticate::class,
])->plugins([
FilamentShieldPlugin::make(),
FilamentBackgroundsPlugin::make(),
FilamentBackgroundsPlugin::make()
->imageProvider(
MyImages::make()
->directory('images/backgrounds')
),
LightSwitchPlugin::make()->position(Alignment::TopCenter),
// HooksHelperPlugin::make(),
]);
}
}