A few small tweaks for new groups

This commit is contained in:
snipe
2025-11-06 20:36:51 +00:00
parent c39c92d0d7
commit f1b4877a98
2 changed files with 24 additions and 8 deletions

View File

@@ -43,9 +43,12 @@ class GroupsController extends Controller
$permissions = config('permissions');
$groupPermissions = Helper::selectedPermissionsArray($permissions, $permissions);
$selectedPermissions = $request->old('permissions', $groupPermissions);
$users = \App\Models\User::get();
// Show the page
return view('groups/edit', compact('permissions', 'selectedPermissions', 'groupPermissions'))->with('group', $group);
return view('groups/edit', compact('permissions', 'selectedPermissions', 'groupPermissions'))
->with('group', $group)
->with('associated_users', [])
->with('unselected_users', $users);
}
/**
@@ -60,12 +63,23 @@ class GroupsController extends Controller
// create a new group instance
$group = new Group();
$group->name = $request->input('name');
if ($request->filled('permission')) {
$group->permissions = json_encode($request->array('permission'));
} else {
$group->permissions = null;
}
$group->permissions = json_encode($request->input('permission'));
$group->created_by = auth()->id();
$group->notes = $request->input('notes');
if ($group->save()) {
$group->users()->sync($request->input('associated_users'));
if ($request->filled('users_to_add')) {
$associated_users = explode(',',$request->input('users_to_add'));
$group->users()->sync($associated_users);
}
return redirect()->route('groups.index')->with('success', trans('admin/groups/message.success.create'));
}
@@ -92,8 +106,7 @@ class GroupsController extends Controller
$associated_users = $group->users()->get();
// Get the unselected users
$users = \App\Models\User::get();
$unselected_users = $users->diffKeys($associated_users);
$unselected_users = \App\Models\User::whereNotIn('id', $associated_users->pluck('id')->toArray())->orderBy('first_name', 'asc')->get();
return view('groups.edit', compact('group', 'permissions', 'selected_array', 'groupPermissions'))->with('associated_users', $associated_users)->with('unselected_users', $unselected_users);
}
@@ -122,8 +135,11 @@ class GroupsController extends Controller
if (! config('app.lock_passwords')) {
if ($group->save()) {
$associated_users = explode(',',$request->input('users_to_add'));
$group->users()->sync($associated_users);
if ($request->filled('users_to_add')) {
$associated_users = explode(',',$request->input('users_to_add'));
$group->users()->sync($associated_users);
}
return redirect()->route('groups.index')->with('success', trans('admin/groups/message.success.update'));
}

View File

@@ -52,7 +52,7 @@
<div class="col-md-12">
<!-- This hidden input will store the selected user IDs as a comma-separated string to avoid max_input_vars and max_multipart_body_parts php.ini issues -->
<input type="hidden" name="users_to_add" id="hidden_ids_box" class="form-control" value="{{ implode(",", $associated_users->pluck('id')->toArray()) }}"/>
<input type="hidden" name="users_to_add" id="hidden_ids_box" class="form-control" value="{{ ($associated_users && is_array($associated_users)) ? implode(",", $associated_users->pluck('id')->toArray()) : '' }}"/>
<div class="addremove-multiselect">
<div class="col-lg-5 col-sm-5 col-xs-12">