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) {
|
->action(function (array $data, SubuserUpdateService $subuserUpdateService, User $user) use ($server) {
|
||||||
$subuser = Subuser::query()->where('user_id', $user->id)->where('server_id', $server->id)->first();
|
$subuser = Subuser::query()->where('user_id', $user->id)->where('server_id', $server->id)->first();
|
||||||
|
|
||||||
if (in_array('console', $data['control'])) {
|
$permissions = collect($data)
|
||||||
$data['websocket'][0] = 'connect';
|
->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);
|
$subuserUpdateService->handle($subuser, $server, $permissions);
|
||||||
|
|
||||||
Notification::make()
|
Notification::make()
|
||||||
|
@ -387,19 +387,21 @@ class ListUsers extends ListRecords
|
|||||||
->action(function (array $data, SubuserCreationService $service) use ($server) {
|
->action(function (array $data, SubuserCreationService $service) use ($server) {
|
||||||
$email = strtolower($data['email']);
|
$email = strtolower($data['email']);
|
||||||
|
|
||||||
if (in_array('console', $data['control'])) {
|
$permissions = collect($data)
|
||||||
$data['websocket'][0] = 'connect';
|
->forget('email')
|
||||||
}
|
->flatMap(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))
|
||||||
|
->push(Permission::ACTION_WEBSOCKET_CONNECT)
|
||||||
$permissions = collect($data)->forget('email')->map(fn ($permissions, $key) => collect($permissions)->map(fn ($permission) => "$key.$permission"))->flatten()->all();
|
->unique()
|
||||||
|
->all();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$service->handle($server, $email, $permissions);
|
$subuser = $service->handle($server, $email, $permissions);
|
||||||
|
|
||||||
Activity::event('server:subuser.create')
|
Activity::event('server:subuser.create')
|
||||||
->subject($data['email'])
|
->subject($subuser->user)
|
||||||
->property([
|
->property([
|
||||||
'email' => $data['email'],
|
'email' => $data['email'],
|
||||||
|
'permissions' => $permissions,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Notification::make()
|
Notification::make()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user