mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 13:24:46 +02:00
Fix subuser activity log (#1063)
* use user for subject * add permissions to properties * always add websocket.connect permission (because it's default) * small cleanup * also update editing
This commit is contained in:
parent
0a17e78f33
commit
a2b2e373be
@ -121,11 +121,13 @@ class UserResource extends Resource
|
||||
->action(function (array $data, SubuserUpdateService $subuserUpdateService, User $user) use ($server) {
|
||||
$subuser = Subuser::query()->where('user_id', $user->id)->where('server_id', $server->id)->first();
|
||||
|
||||
if (in_array('console', $data['control'])) {
|
||||
$data['websocket'][0] = 'connect';
|
||||
}
|
||||
$permissions = collect($data)
|
||||
->forget('email')
|
||||
->flatMap(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))
|
||||
->push(Permission::ACTION_WEBSOCKET_CONNECT)
|
||||
->unique()
|
||||
->all();
|
||||
|
||||
$permissions = collect($data)->forget('email')->map(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))->flatten()->all();
|
||||
$subuserUpdateService->handle($subuser, $server, $permissions);
|
||||
|
||||
Notification::make()
|
||||
|
@ -387,19 +387,21 @@ class ListUsers extends ListRecords
|
||||
->action(function (array $data, SubuserCreationService $service) use ($server) {
|
||||
$email = strtolower($data['email']);
|
||||
|
||||
if (in_array('console', $data['control'])) {
|
||||
$data['websocket'][0] = 'connect';
|
||||
}
|
||||
|
||||
$permissions = collect($data)->forget('email')->map(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))->flatten()->all();
|
||||
$permissions = collect($data)
|
||||
->forget('email')
|
||||
->flatMap(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))
|
||||
->push(Permission::ACTION_WEBSOCKET_CONNECT)
|
||||
->unique()
|
||||
->all();
|
||||
|
||||
try {
|
||||
$service->handle($server, $email, $permissions);
|
||||
$subuser = $service->handle($server, $email, $permissions);
|
||||
|
||||
Activity::event('server:subuser.create')
|
||||
->subject($data['email'])
|
||||
->subject($subuser->user)
|
||||
->property([
|
||||
'email' => $data['email'],
|
||||
'permissions' => $permissions,
|
||||
]);
|
||||
|
||||
Notification::make()
|
||||
|
Loading…
x
Reference in New Issue
Block a user