sort role permissions by title
This commit is contained in:
parent
396b8635ca
commit
6d207b6106
@ -31,21 +31,14 @@ class Roles extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$names = $permissions = [];
|
||||
$all_permissions = Permission::all();
|
||||
$permissions = [];
|
||||
$actions = ['read', 'create', 'update', 'delete'];
|
||||
|
||||
foreach ($all_permissions as $permission) {
|
||||
// permission code explode - and get permission type
|
||||
$n = explode('-', $permission->name);
|
||||
|
||||
if (!in_array($n[0], $names)) {
|
||||
$names[] = $n[0];
|
||||
}
|
||||
|
||||
$permissions[$n[0]][] = $permission;
|
||||
foreach ($actions as $action) {
|
||||
$permissions[$action] = Permission::action($action)->get()->sortBy('title')->all();
|
||||
}
|
||||
|
||||
return view('auth.roles.create', compact('names', 'permissions'));
|
||||
return view('auth.roles.create', compact('actions', 'permissions'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -85,21 +78,14 @@ class Roles extends Controller
|
||||
*/
|
||||
public function edit(Role $role)
|
||||
{
|
||||
$names = $permissions = [];
|
||||
$all_permissions = Permission::all();
|
||||
$permissions = [];
|
||||
$actions = ['read', 'create', 'update', 'delete'];
|
||||
|
||||
foreach ($all_permissions as $permission) {
|
||||
// permission code explode - and get permission type
|
||||
$n = explode('-', $permission->name);
|
||||
|
||||
if (!in_array($n[0], $names)) {
|
||||
$names[] = $n[0];
|
||||
}
|
||||
|
||||
$permissions[$n[0]][] = $permission;
|
||||
foreach ($actions as $action) {
|
||||
$permissions[$action] = Permission::action($action)->get()->sortBy('title')->all();
|
||||
}
|
||||
|
||||
return view('auth.roles.edit', compact('role', 'names', 'permissions'));
|
||||
return view('auth.roles.edit', compact('role', 'actions', 'permissions'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -46,7 +46,20 @@ class Permission extends LaratrustPermission
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove extras from name.
|
||||
* Scope to only include by action.
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param string $action
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeAction($query, $action = 'read')
|
||||
{
|
||||
return $query->where('name', 'like', $action . '-%');
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform display name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
@ -34,7 +34,7 @@ class Setting extends Eloquent
|
||||
* Scope to only include by prefix.
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param $company_id
|
||||
* @param string $prefix
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
'files' => true,
|
||||
'role' => 'form',
|
||||
'class' => 'form-loading-button',
|
||||
'novalidate' => true
|
||||
'novalidate' => true,
|
||||
]) !!}
|
||||
|
||||
<div class="card">
|
||||
@ -33,10 +33,10 @@
|
||||
|
||||
<div class="nav-wrapper">
|
||||
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
|
||||
@foreach($names as $name)
|
||||
@php $active_tab_name = ($name == 'read') ? 'active' : ''; @endphp
|
||||
@foreach($actions as $action)
|
||||
@php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-sm-3 mb-md-0 {{ $active_tab_name }}" id="tabs-icons-text-1-tab" data-toggle="tab" href="#tab-{{ $name }}" role="tab" aria-controls="tabs-icons-text-1" aria-selected="true">{{ ucwords($name) }}</a>
|
||||
<a class="nav-link mb-sm-3 mb-md-0 {{ $active_action_tab }}" id="tabs-icons-text-1-tab" data-toggle="tab" href="#tab-{{ $action }}" role="tab" aria-controls="tabs-icons-text-1" aria-selected="true">{{ ucwords($action) }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@ -45,31 +45,33 @@
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="tab-content">
|
||||
@foreach($permissions as $code => $code_permissions)
|
||||
@php $active_tab_code = ($code == 'read') ? 'active' : ''; @endphp
|
||||
<div class="tab-pane fade show {{ $active_tab_code }}" id="tab-{{ $code }}" role="tabpanel">
|
||||
<span class="btn btn-primary btn-sm" @click="select('{{ $code }}')">{{ trans('general.select_all') }}</span>
|
||||
<span class="btn btn-primary btn-sm" @click="unselect('{{ $code }}')">{{ trans('general.unselect_all') }}</span>
|
||||
@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">
|
||||
<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>
|
||||
|
||||
@stack('permissions_input_start')
|
||||
<div class="form-group {{ $errors->has('permissions') ? 'has-error' : '' }}">
|
||||
<div class="row pt-4">
|
||||
@foreach($code_permissions as $item)
|
||||
<div class="col-md-4 role-list">
|
||||
<div class="custom-control custom-checkbox">
|
||||
{{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }}
|
||||
<label class="custom-control-label" for="permissions-{{ $item->id }}">
|
||||
{{ $item->title }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group {{ $errors->has('permissions') ? 'has-error' : '' }}">
|
||||
<div class="row pt-4">
|
||||
@foreach($action_permissions as $item)
|
||||
<div class="col-md-4 role-list">
|
||||
<div class="custom-control custom-checkbox">
|
||||
{{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }}
|
||||
<label class="custom-control-label" for="permissions-{{ $item->id }}">
|
||||
{{ $item->title }}
|
||||
</label>
|
||||
</div>
|
||||
@if ($item->name == 'read-admin-panel' || $item->name == 'read-client-portal')
|
||||
{{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }}
|
||||
@endif
|
||||
@endforeach
|
||||
{!! $errors->first('permissions', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
</div>
|
||||
@if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal'))
|
||||
{{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }}
|
||||
@endif
|
||||
@endforeach
|
||||
{!! $errors->first('permissions', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack('permissions_input_end')
|
||||
</div>
|
||||
@endforeach
|
||||
|
@ -12,7 +12,7 @@
|
||||
'files' => true,
|
||||
'role' => 'form',
|
||||
'class' => 'form-loading-button',
|
||||
'novalidate' => true
|
||||
'novalidate' => true,
|
||||
]) !!}
|
||||
|
||||
<div class="card">
|
||||
@ -34,10 +34,10 @@
|
||||
|
||||
<div class="nav-wrapper">
|
||||
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
|
||||
@foreach($names as $name)
|
||||
@php $active_tab_name = ($name == 'read') ? 'active' : ''; @endphp
|
||||
@foreach($actions as $action)
|
||||
@php $active_action_tab = ($action == 'read') ? 'active' : ''; @endphp
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-sm-3 mb-md-0 {{ $active_tab_name }}" id="tabs-icons-text-1-tab" data-toggle="tab" href="#tab-{{ $name }}" role="tab" aria-controls="tabs-icons-text-1" aria-selected="true">{{ ucwords($name) }}</a>
|
||||
<a class="nav-link mb-sm-3 mb-md-0 {{ $active_action_tab }}" id="tabs-icons-text-1-tab" data-toggle="tab" href="#tab-{{ $action }}" role="tab" aria-controls="tabs-icons-text-1" aria-selected="true">{{ ucwords($action) }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@ -45,32 +45,34 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="tab-content" id="myTabContent">
|
||||
@foreach($permissions as $code => $code_permissions)
|
||||
@php $active_tab_code = ($code == 'read') ? 'active' : ''; @endphp
|
||||
<div class="tab-pane fade show {{ $active_tab_code }}" id="tab-{{ $code }}" role="tabpanel" aria-labelledby="tabs-icons-text-1-tab">
|
||||
<span class="btn btn-primary btn-sm" @click="select('{{ $code }}')">{{trans('general.select_all')}}</span>
|
||||
<span class="btn btn-primary btn-sm" @click="unselect('{{ $code }}')">{{trans('general.unselect_all')}}</span>
|
||||
<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">
|
||||
<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>
|
||||
|
||||
@stack('permissions_input_start')
|
||||
<div class="form-group {{ $errors->has('permissions') ? 'has-error' : '' }}">
|
||||
<div class="row pt-4">
|
||||
@foreach($code_permissions as $item)
|
||||
<div class="col-md-4 role-list">
|
||||
<div class="custom-control custom-checkbox">
|
||||
{{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }}
|
||||
<label class="custom-control-label" for="permissions-{{ $item->id }}">
|
||||
{{ $item->title }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group {{ $errors->has('permissions') ? 'has-error' : '' }}">
|
||||
<div class="row pt-4">
|
||||
@foreach($action_permissions as $item)
|
||||
<div class="col-md-4 role-list">
|
||||
<div class="custom-control custom-checkbox">
|
||||
{{ Form::checkbox('permissions', $item->id, null, ['id' => 'permissions-' . $item->id, 'class' => 'custom-control-input', 'v-model' => 'form.permissions']) }}
|
||||
<label class="custom-control-label" for="permissions-{{ $item->id }}">
|
||||
{{ $item->title }}
|
||||
</label>
|
||||
</div>
|
||||
@if ($item->name == 'read-admin-panel' || $item->name == 'read-client-portal')
|
||||
</div>
|
||||
@if (($item->name == 'read-admin-panel') || ($item->name == 'read-client-portal'))
|
||||
{{ Form::hidden($item->name, $item->id, ['id' => $item->name]) }}
|
||||
@endif
|
||||
@endforeach
|
||||
{!! $errors->first('permissions', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
{!! $errors->first('permissions', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack('permissions_input_end')
|
||||
</div>
|
||||
@endforeach
|
||||
|
Loading…
x
Reference in New Issue
Block a user