auth
This commit is contained in:
1 parent
b005c7677e
commit
59eea97d5a
21 files changed
+597
-779
No files matched your search
+70
-21
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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'),
|
||||
|
||||
@@ -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(),
|
||||
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user