mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-25 17:04:44 +02:00
Fix Subuser issues. (#747)
* Better Error handling * Remove unique, make email lowercase in request * Remove 'kill' option, not used. * Prevent users from editing them selves --------- Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
This commit is contained in:
parent
6d1c153d09
commit
c6977e57c8
@ -103,7 +103,7 @@ class UserResource extends Resource
|
|||||||
}),
|
}),
|
||||||
EditAction::make()
|
EditAction::make()
|
||||||
->label('Edit User')
|
->label('Edit User')
|
||||||
|
->hidden(fn (User $user) => auth()->user()->id === $user->id)
|
||||||
->authorize(fn () => auth()->user()->can(Permission::ACTION_USER_UPDATE, $server))
|
->authorize(fn () => auth()->user()->can(Permission::ACTION_USER_UPDATE, $server))
|
||||||
->modalHeading(fn (User $user) => 'Editing ' . $user->email)
|
->modalHeading(fn (User $user) => 'Editing ' . $user->email)
|
||||||
->action(function (array $data, SubuserUpdateService $subuserUpdateService, User $user) use ($server) {
|
->action(function (array $data, SubuserUpdateService $subuserUpdateService, User $user) use ($server) {
|
||||||
|
@ -6,6 +6,7 @@ use App\Filament\Server\Resources\UserResource;
|
|||||||
use App\Models\Permission;
|
use App\Models\Permission;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use App\Services\Subusers\SubuserCreationService;
|
use App\Services\Subusers\SubuserCreationService;
|
||||||
|
use Exception;
|
||||||
use Filament\Actions;
|
use Filament\Actions;
|
||||||
use Filament\Facades\Filament;
|
use Filament\Facades\Filament;
|
||||||
use Filament\Forms\Components\Actions as assignAll;
|
use Filament\Forms\Components\Actions as assignAll;
|
||||||
@ -53,8 +54,7 @@ class ListUsers extends ListRecords
|
|||||||
'md' => 4,
|
'md' => 4,
|
||||||
'lg' => 5,
|
'lg' => 5,
|
||||||
])
|
])
|
||||||
->required()
|
->required(),
|
||||||
->unique(),
|
|
||||||
assignAll::make([
|
assignAll::make([
|
||||||
Action::make('assignAll')
|
Action::make('assignAll')
|
||||||
->label('Assign All')
|
->label('Assign All')
|
||||||
@ -65,7 +65,6 @@ class ListUsers extends ListRecords
|
|||||||
'start',
|
'start',
|
||||||
'stop',
|
'stop',
|
||||||
'restart',
|
'restart',
|
||||||
'kill',
|
|
||||||
],
|
],
|
||||||
'user' => [
|
'user' => [
|
||||||
'read',
|
'read',
|
||||||
@ -365,18 +364,28 @@ class ListUsers extends ListRecords
|
|||||||
->modalHeading('Invite User')
|
->modalHeading('Invite User')
|
||||||
->modalSubmitActionLabel('Invite')
|
->modalSubmitActionLabel('Invite')
|
||||||
->action(function (array $data, SubuserCreationService $service) use ($server) {
|
->action(function (array $data, SubuserCreationService $service) use ($server) {
|
||||||
$email = $data['email'];
|
$email = strtolower($data['email']);
|
||||||
|
|
||||||
if (in_array('console', $data['control'])) {
|
if (in_array('console', $data['control'])) {
|
||||||
$data['websocket'][0] = 'connect';
|
$data['websocket'][0] = 'connect';
|
||||||
}
|
}
|
||||||
$permissions = collect($data)->forget('email')->map(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))->flatten()->all();
|
|
||||||
$service->handle($server, $email, $permissions);
|
|
||||||
|
|
||||||
Notification::make()
|
$permissions = collect($data)->forget('email')->map(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))->flatten()->all();
|
||||||
->title('User Invited!')
|
|
||||||
->success()
|
try {
|
||||||
->send();
|
$service->handle($server, $email, $permissions);
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('User Invited!')
|
||||||
|
->success()
|
||||||
|
->send();
|
||||||
|
} catch (Exception $exception) {
|
||||||
|
Notification::make()
|
||||||
|
->title('Failed')
|
||||||
|
->body($exception->getMessage())
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
}
|
||||||
|
|
||||||
return redirect(self::getUrl(tenant: $server));
|
return redirect(self::getUrl(tenant: $server));
|
||||||
}),
|
}),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user