all
This commit is contained in:
184
Productivite/Snipe-IT/resources/views/groups/edit.blade.php
Normal file
184
Productivite/Snipe-IT/resources/views/groups/edit.blade.php
Normal file
@ -0,0 +1,184 @@
|
||||
@extends('layouts/edit-form', [
|
||||
'createText' => trans('admin/groups/titles.create') ,
|
||||
'updateText' => trans('admin/groups/titles.update'),
|
||||
'item' => $group,
|
||||
'formAction' => ($group !== null && $group->id !== null) ? route('groups.update', ['group' => $group->id]) : route('groups.store'),
|
||||
|
||||
])
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
.form-horizontal .control-label {
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
input[type='text'][disabled], input[disabled], textarea[disabled], input[readonly], textarea[readonly], .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: white;
|
||||
color: #555555;
|
||||
cursor:text;
|
||||
}
|
||||
table.permissions {
|
||||
display:flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.permissions.table > thead, .permissions.table > tbody {
|
||||
margin: 15px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.permissions.table > tbody {
|
||||
border: 1px solid;
|
||||
}
|
||||
.header-row {
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
.permissions-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.table > tbody > tr > td.permissions-item {
|
||||
padding: 1px;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
.header-name {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@parent
|
||||
@stop
|
||||
|
||||
@section('inputFields')
|
||||
<!-- Name -->
|
||||
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
|
||||
<label for="name" class="col-md-3 control-label">{{ trans('admin/groups/titles.group_name') }}</label>
|
||||
<div class="col-md-6 required">
|
||||
<input class="form-control" type="text" name="name" id="name" value="{{ old('name', $group->name) }}" />
|
||||
{!! $errors->first('name', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
|
||||
<table class="table table-striped permissions">
|
||||
<thead>
|
||||
<tr class="permissions-row">
|
||||
<th class="col-md-5">{{ trans('admin/groups/titles.permission')}}</th>
|
||||
<th class="col-md-1">{{ trans('admin/groups/titles.grant')}}</th>
|
||||
<th class="col-md-1">{{ trans('admin/groups/titles.deny')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach ($permissions as $area => $area_permission)
|
||||
<!-- handle superadmin and reports, and anything else with only one option -->
|
||||
<?php $localPermission = $area_permission[0]; ?>
|
||||
@if (count($area_permission) == 1)
|
||||
<tbody class="permissions-group">
|
||||
<tr class="header-row permissions-row">
|
||||
<td class="col-md-5 tooltip-base permissions-item"
|
||||
data-tooltip="true"
|
||||
data-placement="right"
|
||||
title="{{ $localPermission['note'] }}">
|
||||
@unless (empty($localPermission['label']))
|
||||
<h2>{{ $area . ': ' . $localPermission['label'] }}</h2>
|
||||
@else
|
||||
<h2>{{ $area }}</h2>
|
||||
@endunless
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item">
|
||||
<label for="{{ 'permission['.$localPermission['permission'].']' }}" style="form-control"><span class="sr-only">{{ trans('admin/groups/titles.allow')}} {{ 'permission['.$localPermission['permission'].']' }}</span></label>
|
||||
{{ Form::radio('permission['.$localPermission['permission'].']', '1',(array_key_exists($localPermission['permission'], $groupPermissions) ? $groupPermissions[$localPermission['permission'] ] == '1' : null),['value'=>"grant", 'aria-label'=> 'permission['.$localPermission['permission'].']']) }}
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item">
|
||||
<label for="{{ 'permission['.$localPermission['permission'].']' }}"><span class="sr-only">{{ trans('admin/groups/titles.deny')}} {{ 'permission['.$localPermission['permission'].']' }}</span></label>
|
||||
{{ Form::radio('permission['.$localPermission['permission'].']', '0',(array_key_exists($localPermission['permission'], $groupPermissions) ? $groupPermissions[$localPermission['permission'] ] == '0' : null),['value'=>"grant", 'aria-label'=> 'permission['.$localPermission['permission'].']']) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@else
|
||||
<tbody class="permission-group">
|
||||
<tr class="header-row permissions-row">
|
||||
<td class="col-md-5 tooltip-base permissions-item header-name"
|
||||
data-tooltip="true"
|
||||
data-placement="right"
|
||||
title="{{ $localPermission['note'] }}">
|
||||
<h2>{{ $area }}</h2>
|
||||
|
||||
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item" style="vertical-align: bottom">
|
||||
<label for="{{ $area }}"><span class="sr-only">{{ trans('admin/groups/titles.allow')}} {{ $area }}</span></label>
|
||||
{{ Form::radio("$area", '1',false,['value'=>"grant", 'data-checker-group' => str_slug($area), 'aria-label'=> $area]) }}
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item">
|
||||
<label for="{{ $area }}"><span class="sr-only">{{ trans('admin/groups/titles.deny')}} {{ $area }}</span></label>
|
||||
{{ Form::radio("$area", '0',false,['value'=>"deny", 'data-checker-group' => str_slug($area), 'aria-label'=> $area]) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@foreach ($area_permission as $index => $this_permission)
|
||||
@if ($this_permission['display'])
|
||||
<tr class="permissions-row">
|
||||
<td
|
||||
class="col-md-5 tooltip-base permissions-item"
|
||||
data-tooltip="true"
|
||||
data-placement="right"
|
||||
title="{{ $this_permission['note'] }}">
|
||||
{{ $this_permission['label'] }}
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item">
|
||||
<label for="{{ 'permission['.$this_permission['permission'].']' }}"><span class="sr-only">{{ trans('admin/groups/titles.allow')}} {{ 'permission['.$this_permission['permission'].']' }}</span></label>
|
||||
{{ Form::radio('permission['.$this_permission['permission'].']', '1',(array_key_exists($this_permission['permission'], $groupPermissions) ? $groupPermissions[$this_permission['permission'] ] == '1' : null),['class'=>'radiochecker-'.str_slug($area), 'aria-label'=>'permission['.$this_permission['permission'].']']) }}
|
||||
</td>
|
||||
<td class="col-md-1 permissions-item">
|
||||
<label for="{{ 'permission['.$this_permission['permission'].']' }}"><span class="sr-only">{{ trans('admin/groups/titles.deny')}} {{ 'permission['.$this_permission['permission'].']' }}</span></label>
|
||||
{{ Form::radio('permission['.$this_permission['permission'].']', '0',(array_key_exists($this_permission['permission'], $groupPermissions) ? $groupPermissions[$this_permission['permission'] ] == '0' : null),['class'=>'radiochecker-'.str_slug($area), 'aria-label'=>'permission['.$this_permission['permission'].']']) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
|
||||
</div>
|
||||
@stop
|
||||
@section('moar_scripts')
|
||||
|
||||
<script nonce="{{ csrf_token() }}">
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('.tooltip-base').tooltip({container: 'body'});
|
||||
$(".superuser").change(function() {
|
||||
var perms = $(this).val();
|
||||
if (perms =='1') {
|
||||
$("#nonadmin").hide();
|
||||
} else {
|
||||
$("#nonadmin").show();
|
||||
}
|
||||
});
|
||||
|
||||
// Check/Uncheck all radio buttons in the group
|
||||
$('tr.header-row input:radio').change(function() {
|
||||
value = $(this).attr('value');
|
||||
area = $(this).data('checker-group');
|
||||
$('.radiochecker-'+area+'[value='+value+']').prop('checked', true);
|
||||
});
|
||||
|
||||
|
||||
$('.header-name').click(function() {
|
||||
$(this).parent().nextUntil('tr.header-row').slideToggle(500);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@stop
|
62
Productivite/Snipe-IT/resources/views/groups/index.blade.php
Normal file
62
Productivite/Snipe-IT/resources/views/groups/index.blade.php
Normal file
@ -0,0 +1,62 @@
|
||||
@extends('layouts/default')
|
||||
|
||||
{{-- Web site Title --}}
|
||||
@section('title')
|
||||
{{ trans('admin/groups/titles.group_management') }}
|
||||
@parent
|
||||
@stop
|
||||
|
||||
@section('header_right')
|
||||
<a href="{{ route('groups.create') }}" class="btn btn-primary text-right"> {{ trans('general.create') }}</a>
|
||||
<a href="{{ route('settings.index') }}" class="btn btn-default text-right">{{ trans('general.back') }}</a>
|
||||
@stop
|
||||
|
||||
|
||||
{{-- Content --}}
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
<div class="table-responsive">
|
||||
|
||||
<table
|
||||
data-cookie-id-table="groupsTable"
|
||||
data-pagination="true"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-show-fullscreen="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
id="groupsTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.groups.index') }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-groups-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-switchable="true" data-sortable="true" data-field="id" data-visible="false">{{ trans('general.id') }}</th>
|
||||
<th data-switchable="true" data-sortable="true" data-field="name" data-formatter="groupsAdminLinkFormatter" data-visible="true">{{ trans('admin/groups/table.name') }}</th>
|
||||
<th data-switchable="true" data-sortable="true" data-field="users_count" data-visible="true"><i class="fas fa-user" aria-hidden="true"></i><span class="sr-only">{{ trans('admin/groups/table.users') }}</span></th>
|
||||
<th data-switchable="true" data-sortable="true" data-field="created_at" data-visible="true" data-formatter="dateDisplayFormatter">{{ trans('general.created_at') }}</th>
|
||||
<th data-switchable="false" data-searchable="false" data-sortable="false" data-field="created_by" data-formatter="usersLinkFormatter">{{ trans('general.created_by') }}</th>
|
||||
<th data-switchable="false" data-searchable="false" data-sortable="false" data-field="actions" data-formatter="groupsActionsFormatter">{{ trans('table.actions') }}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div> <!--.box-body-->
|
||||
</div> <!-- /.box.box-default-->
|
||||
</div> <!-- .col-md-12-->
|
||||
</div>
|
||||
@stop
|
||||
@section('moar_scripts')
|
||||
@include ('partials.bootstrap-table', ['exportFile' => 'groups-export', 'search' => true])
|
||||
@stop
|
70
Productivite/Snipe-IT/resources/views/groups/view.blade.php
Normal file
70
Productivite/Snipe-IT/resources/views/groups/view.blade.php
Normal file
@ -0,0 +1,70 @@
|
||||
@extends('layouts/default')
|
||||
|
||||
{{-- Page title --}}
|
||||
@section('title')
|
||||
{{ $group->name }}
|
||||
@parent
|
||||
@stop
|
||||
|
||||
@section('header_right')
|
||||
<a href="{{ route('groups.edit', ['group' => $group->id]) }}" class="btn btn-primary text-right">{{ trans('admin/groups/titles.update') }} </a>
|
||||
<a href="{{ route('groups.index') }}" class="btn btn-default pull-right">{{ trans('general.back') }}</a>
|
||||
@stop
|
||||
|
||||
|
||||
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="table table-responsive">
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\UserPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="groupsUsersTable"
|
||||
data-pagination="true"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
id="groupsUsersTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.users.index',['group_id'=> $group->id]) }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($group->name) }}-group-users-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
|
||||
@if (is_array($group->decodePermissions()))
|
||||
<ul class="list-unstyled">
|
||||
@foreach ($group->decodePermissions() as $permission_name => $permission)
|
||||
<li>{!! ($permission == '1') ? '<i class="fas fa-check text-success" aria-hidden="true"></i><span class="sr-only">GRANTED: </span>' : '<i class="fas fa-times text-danger" aria-hidden="true"></i><span class="sr-only">DENIED: </span>' !!} {{ e(str_replace('.', ': ', ucwords($permission_name))) }} </li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
@else
|
||||
<p>{{ trans('admin/groups/title.no_permissions') }}</p>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
||||
@section('moar_scripts')
|
||||
@include ('partials.bootstrap-table')
|
||||
@stop
|
Reference in New Issue
Block a user