Role changed to select permission method..

This commit is contained in:
Cüneyt Şentürk 2021-05-21 10:23:44 +03:00
parent cdfe846d4b
commit ae03155cd6
3 changed files with 48 additions and 42 deletions

View File

@ -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);
},
}
});

View File

@ -47,7 +47,7 @@
<div class="tab-content">
@foreach($permissions as $action => $action_permissions)
@php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp
<div class="tab-pane fade show {{ $active_action_tab }}" id="tab-{{ $action }}" role="tabpanel">
<div class="tab-pane fade show {{ $active_action_tab }}" id="tab-{{ $action }}" ref="tab-{{ $action }}" role="tabpanel">
<span class="btn btn-primary btn-sm" @click="select('{{ $action }}')">{{ trans('general.select_all') }}</span>
<span class="btn btn-primary btn-sm" @click="unselect('{{ $action }}')">{{ trans('general.unselect_all') }}</span>
@ -58,12 +58,20 @@
@foreach($action_permissions as $item)
<div class="col-md-4 role-list">
<div class="custom-control custom-checkbox">
@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
<label class="custom-control-label" for="permissions-{{ $item->id }}">
{{ $item->title }}
</label>
</div>
</div>
@if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal'))
{{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }}
@endif

View File

@ -48,7 +48,7 @@
<div class="tab-content">
@foreach($permissions as $action => $action_permissions)
@php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp
<div class="tab-pane fade show {{ $active_action_tab }}" id="tab-{{ $action }}" role="tabpanel">
<div class="tab-pane fade show {{ $active_action_tab }}" id="tab-{{ $action }}" ref="tab-{{ $action }}" role="tabpanel">
<span class="btn btn-primary btn-sm" @click="select('{{ $action }}')">{{ trans('general.select_all') }}</span>
<span class="btn btn-primary btn-sm" @click="unselect('{{ $action }}')">{{ trans('general.unselect_all') }}</span>
@ -59,12 +59,20 @@
@foreach($action_permissions as $item)
<div class="col-md-4 role-list">
<div class="custom-control custom-checkbox">
@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
<label class="custom-control-label" for="permissions-{{ $item->id }}">
{{ $item->title }}
</label>
</div>
</div>
@if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal'))
{{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }}
@endif