mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-24 12:07:23 +08:00
login admin backend min class configurable
This commit is contained in:
@@ -8,6 +8,7 @@ use App\Models\HitAndRun;
|
||||
use App\Models\SearchBox;
|
||||
use App\Models\Setting;
|
||||
use App\Models\Tag;
|
||||
use App\Models\User;
|
||||
use App\Repositories\MeiliSearchRepository;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Forms\ComponentContainer;
|
||||
@@ -155,6 +156,11 @@ class EditSetting extends Page implements Forms\Contracts\HasForms
|
||||
->label(__('label.setting.system.is_invite_pre_email_and_username'))
|
||||
->helperText(__('label.setting.system.is_invite_pre_email_and_username_help'))
|
||||
,
|
||||
Forms\Components\Select::make('system.access_admin_class_min')
|
||||
->options(User::listClass(User::CLASS_VIP))
|
||||
->label(__('label.setting.system.access_admin_class_min'))
|
||||
->helperText(__('label.setting.system.access_admin_class_min_help'))
|
||||
,
|
||||
])->columns(2);
|
||||
|
||||
$tabs = apply_filter('nexus_setting_tabs', $tabs);
|
||||
|
||||
+6
-1
@@ -547,7 +547,7 @@ class User extends Authenticatable implements FilamentUser, HasName
|
||||
|
||||
public function canAccessAdmin(): bool
|
||||
{
|
||||
$targetClass = self::CLASS_ADMINISTRATOR;
|
||||
$targetClass = self::getAccessAdminClassMin();
|
||||
if (!$this->class || $this->class < $targetClass) {
|
||||
do_log(sprintf('user: %s, no class or class < %s, can not access admin.', $this->id, $targetClass));
|
||||
return false;
|
||||
@@ -555,6 +555,11 @@ class User extends Authenticatable implements FilamentUser, HasName
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function getAccessAdminClassMin()
|
||||
{
|
||||
return Setting::get("system.access_admin_class_min") ?: User::CLASS_ADMINISTRATOR;
|
||||
}
|
||||
|
||||
public function isDonating(): bool
|
||||
{
|
||||
$rawDonorUntil = $this->getRawOriginal('donoruntil');
|
||||
|
||||
Reference in New Issue
Block a user