From ae03155cd60ea53c77c80c52bbbbf8fdfa987fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Fri, 21 May 2021 10:23:44 +0300 Subject: [PATCH] Role changed to select permission method.. --- resources/assets/js/views/auth/roles.js | 66 +++++++++------------ resources/views/auth/roles/create.blade.php | 12 +++- resources/views/auth/roles/edit.blade.php | 12 +++- 3 files changed, 48 insertions(+), 42 deletions(-) diff --git a/resources/assets/js/views/auth/roles.js b/resources/assets/js/views/auth/roles.js index 09da7f69a..0a4ec903b 100644 --- a/resources/assets/js/views/auth/roles.js +++ b/resources/assets/js/views/auth/roles.js @@ -49,25 +49,10 @@ const app = new Vue({ methods:{ permissionSelectAll() { - var is_admin = false; - var is_portal = false; - if (this.permissions.all.length) { - for (var i = 0; i < this.permissions.all.length; i++) { - var value = this.permissions.all[i]; - - if ((is_admin && value == this.permissions.read_client_portal) || - (is_portal && value == this.permissions.read_admin_panel)) { - } else { - this.form.permissions.push(value); - } - - if (value == this.permissions.read_admin_panel) { - is_admin = true; - } else if (value == this.permissions.read_client_portal) { - is_portal = true; - } - } + this.permissions.all.forEach(function (value) { + this.setFormPermission(value); + }, this); } }, @@ -76,27 +61,12 @@ const app = new Vue({ }, select(type) { - var is_admin = false; - var is_portal = false; - - var values = this.permissions[type].permissions; + let values = this.permissions[type].permissions; if (values.length) { - for (var i = 0; i < values.length; i++) { - var value = values[i]; - - if ((is_admin && value == this.permissions.read_client_portal) || - (is_portal && value == this.permissions.read_admin_panel)) { - } else { - this.form.permissions.push(value); - } - - if (value == this.permissions.read_admin_panel) { - is_admin = true; - } else if (value == this.permissions.read_client_portal) { - is_portal = true; - } - } + values.forEach(function (value) { + this.setFormPermission(value); + }, this); } }, @@ -112,6 +82,26 @@ const app = new Vue({ } } } - } + }, + + setFormPermission(permission) { + if (this.form.permissions.includes(permission)) { + return; + } + + if ((this.permissions.read_admin_panel == permission) || (this.permissions.read_client_portal == permission)) { + if (this.permissions.read_admin_panel == permission && this.form.permissions.includes(this.permissions.read_client_portal)) { + return; + } else if(this.permissions.read_client_portal == permission && this.form.permissions.includes(this.permissions.read_admin_panel)) { + return; + } + + this.form.permissions.push(permission); + + return; + } + + this.form.permissions.push(permission); + }, } }); diff --git a/resources/views/auth/roles/create.blade.php b/resources/views/auth/roles/create.blade.php index 7492bd255..4d3b27a49 100644 --- a/resources/views/auth/roles/create.blade.php +++ b/resources/views/auth/roles/create.blade.php @@ -47,7 +47,7 @@
@foreach($permissions as $action => $action_permissions) @php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp -
+
{{ trans('general.select_all') }} {{ trans('general.unselect_all') }} @@ -58,12 +58,20 @@ @foreach($action_permissions as $item)
- {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }} + @if (($item->name == 'read-admin-panel')) + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions', ':disabled' => 'form.permissions.includes(permissions.read_client_portal)']) }} + @elseif (($item->name == 'read-client-portal')) + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions', ':disabled' => 'form.permissions.includes(permissions.read_admin_panel)']) }} + @else + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }} + @endif +
+ @if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal')) {{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }} @endif diff --git a/resources/views/auth/roles/edit.blade.php b/resources/views/auth/roles/edit.blade.php index 7047edb3e..7c5493958 100644 --- a/resources/views/auth/roles/edit.blade.php +++ b/resources/views/auth/roles/edit.blade.php @@ -48,7 +48,7 @@
@foreach($permissions as $action => $action_permissions) @php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp -
+
{{ trans('general.select_all') }} {{ trans('general.unselect_all') }} @@ -59,12 +59,20 @@ @foreach($action_permissions as $item)
- {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }} + @if (($item->name == 'read-admin-panel')) + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions', ':disabled' => 'form.permissions.includes(permissions.read_client_portal)']) }} + @elseif (($item->name == 'read-client-portal')) + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions', ':disabled' => 'form.permissions.includes(permissions.read_admin_panel)']) }} + @else + {{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }} + @endif +
+ @if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal')) {{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }} @endif