From 5211e2ae20671e6eedb810e3312a2b482fbce2eb Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Oct 2025 19:10:58 +0100 Subject: [PATCH] Some UI refinement --- app/Http/Controllers/GroupsController.php | 2 +- config/permissions.php | 11 +- resources/views/groups/edit.blade.php | 227 ++++++++++++-------- resources/views/layouts/edit-form.blade.php | 2 +- 4 files changed, 152 insertions(+), 90 deletions(-) diff --git a/app/Http/Controllers/GroupsController.php b/app/Http/Controllers/GroupsController.php index 0c9823ca62..78964f4723 100755 --- a/app/Http/Controllers/GroupsController.php +++ b/app/Http/Controllers/GroupsController.php @@ -65,6 +65,7 @@ class GroupsController extends Controller $group->notes = $request->input('notes'); if ($group->save()) { + $group->users()->sync($request->input('associated_users')); return redirect()->route('groups.index')->with('success', trans('admin/groups/message.success.create')); } @@ -108,7 +109,6 @@ class GroupsController extends Controller $group->permissions = json_encode($request->input('permission')); $group->notes = $request->input('notes'); - \Log::error(print_r($request->input('associated_users'), true)); if (! config('app.lock_passwords')) { if ($group->save()) { diff --git a/config/permissions.php b/config/permissions.php index ae90c566de..34c4ecaa63 100644 --- a/config/permissions.php +++ b/config/permissions.php @@ -629,7 +629,14 @@ return [ - 'Self' => [ + 'User (Self) Accounts' => [ + [ + // This isn't really a permission, but we include it for now + 'permission' => 'self.view', + 'label' => '', + 'note' => '', + 'display' => false, + ], [ 'permission' => 'self.two_factor', 'label' => 'Two-Factor Authentication', @@ -640,7 +647,7 @@ return [ [ 'permission' => 'self.api', 'label' => 'Create API Keys', - 'note' => 'The user create personal API keys to utilize the REST API.', + 'note' => 'The user create personal API keys to utilize the REST API. The API keys will have the same permissions as the user account.', 'display' => true, ], diff --git a/resources/views/groups/edit.blade.php b/resources/views/groups/edit.blade.php index 772d22fdfe..891cc87cc9 100755 --- a/resources/views/groups/edit.blade.php +++ b/resources/views/groups/edit.blade.php @@ -3,7 +3,8 @@ 'updateText' => trans('admin/groups/titles.update'), 'item' => $group, 'formAction' => ($group !== null && $group->id !== null) ? route('groups.update', ['group' => $group->id]) : route('groups.store'), - + 'container_classes' => 'col-lg-6 col-lg-offset-3 col-md-10 col-md-offset-1 col-sm-12 col-sm-offset-0', + 'topSubmit' => 'true', ]) @section('content') @@ -71,24 +72,65 @@ +
@foreach ($permissions as $area => $area_permission) - + @php + $localPermission = $area_permission[0]; + @endphp
@@ -100,47 +142,50 @@

{{ $localPermission['note'] }}

@endif -
- - -
-
- -
- + +
+
+
1) ? ' data-tooltip="true" title="Grant All Permissions for '.$area.'"' : '' !!}> + + + +
+
1) ? ' data-tooltip="true" title="Deny All for '.$area.'"' : '' !!}> + + + + + +
+
+
@if (count($area_permission) > 1) @@ -149,41 +194,45 @@ @if ($this_permission['display'])
-
+
- {{ $this_permission['label'] }} + {{ $this_permission['label'] }}{{ ($this_permission['note'] ? ' - '.$this_permission['note'] : '') }}
-
- - +
+
+
+ + +
+
+ + +
+
-
- -
+
@endif @@ -200,12 +249,15 @@ $(document).ready(function(){ - if ($("input[name='permission[superuser]']").is(':checked')) { - alert('superuser is checked on page load'); - $(".nonsuperuser").fadeOut(); + if ($("#superuser_allow").is(':checked')) { + // alert('superuser is checked on page load'); + + // Hide here instead of fadeout on pageload to prevent what looks like Flash Of Unstyled Content (FOUC) + $(".nonsuperuser").hide(); $(".nonsuperuser").attr('display','none'); } + $(".superuser").change(function() { if ($(this).val() == '1') { $(".nonsuperuser").fadeOut(); @@ -218,13 +270,16 @@ } }); - if ($("input[name='permission[admin]']").is(':checked')) { - alert('admin is checked on page load'); - $(".nonadmin").fadeOut(); + + + if ($("#admin_allow").is(':checked')) { + // alert('admin is checked on page load'); + + // Hide here instead of fadeout on pageload to prevent what looks like Flash Of Unstyled Content (FOUC) + $(".nonadmin").hide(); $(".nonadmin").attr('display','none'); } - $(".admin").change(function() { if ($(this).val() == '1') { $(".nonadmin").fadeOut(); diff --git a/resources/views/layouts/edit-form.blade.php b/resources/views/layouts/edit-form.blade.php index 4f1ffc002e..547997f9fe 100644 --- a/resources/views/layouts/edit-form.blade.php +++ b/resources/views/layouts/edit-form.blade.php @@ -24,7 +24,7 @@
-
+