mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-26 06:04:08 -08:00
cd8c585377
* Make delete routes work. We put a little form in the modal that spoofs the delete field. * Fix route on creating a user. * Fix redundant id parameter. * Port acceptance tests to new urls. * Initial work on migrating to model based policies instead of global gates. Will allow for much more detailed permissions bits in the future. * This needs to stay for the dashboard checks. * Add user states for permissions to build tests. * Build up unit tests for gates/permissions. Move accessories/consumables/assets to policies instead of in authserviceprovider * Migrate various locations to new syntax. Update test to be more specific * Fix functional tests. Add an artisan command for installing a settings setup on travis-ci * Try a different id... Need to come up with a better way of passing the id for tests that need an existing one. * Try to fix travis * Update urls to use routes and not hardcode old paths. Also fix some migration errors found along the way.: * Add a environment for travis functional tests. * Adjust config file to make travis use it. * Use redirect()->route instead of redirect()-to * Dump all failures in the output directory if travis fails. * Cleanups and minor fixes. * Adjust the supplier modelfactory to comply with new validation restrictions. * Some test fixes. * Locales can be longer than 5 characters according to faker... fex gez_ET. Increase lenght in mysql and add a validation * Update test database dump to latest migrations.
171 lines
7.9 KiB
PHP
Executable file
171 lines
7.9 KiB
PHP
Executable file
@extends('layouts/default')
|
|
|
|
{{-- Page title --}}
|
|
@section('title')
|
|
|
|
@if (Input::get('status')=='deleted')
|
|
{{ trans('general.deleted') }}
|
|
@else
|
|
{{ trans('general.current') }}
|
|
@endif
|
|
{{ trans('general.users') }}
|
|
|
|
|
|
@parent
|
|
@stop
|
|
|
|
@section('header_right')
|
|
@can('create', \App\Models\User::class)
|
|
@if ($snipeSettings->ldap_enabled == 1)
|
|
<a href="{{ route('ldap/user') }}" class="btn btn-default pull-right"><span class="fa fa-upload"></span> LDAP</a>
|
|
@endif
|
|
<a href="{{ route('import/user') }}" class="btn btn-default pull-right" style="margin-right: 5px;"><span class="fa fa-upload"></span> {{ trans('general.import') }}</a>
|
|
<a href="{{ route('users.create') }}" class="btn btn-primary pull-right" style="margin-right: 5px;"> {{ trans('general.create') }}</a>
|
|
@endcan
|
|
|
|
@if (Input::get('status')=='deleted')
|
|
<a class="btn btn-default pull-right" href="{{ route('users.index') }}" style="margin-right: 5px;">{{ trans('admin/users/table.show_current') }}</a>
|
|
@else
|
|
<a class="btn btn-default pull-right" href="{{ route('users.index', ['status' => 'deleted']) }}" style="margin-right: 5px;">{{ trans('admin/users/table.show_deleted') }}</a>
|
|
@endif
|
|
@can('view', \App\Models\User::class)
|
|
<a class="btn btn-default pull-right" href="{{ url('admin/users/export') }}" style="margin-right: 5px;">Export</a>
|
|
@endcan
|
|
|
|
@stop
|
|
|
|
{{-- Page content --}}
|
|
@section('content')
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
|
|
<div class="box box-default">
|
|
|
|
<div class="box-body">
|
|
|
|
{{ Form::open([
|
|
'method' => 'POST',
|
|
'route' => ['users/bulkedit'],
|
|
'class' => 'form-inline' ]) }}
|
|
|
|
@if (Input::get('status')!='deleted')
|
|
@can('delete', \App\Models\User::class)
|
|
<div id="toolbar">
|
|
<select name="bulk_actions" class="form-control select2" style="width: 200px;">
|
|
<option value="delete">Bulk Checkin & Delete</option>
|
|
</select>
|
|
<button class="btn btn-default" id="bulkEdit" disabled>Go</button>
|
|
</div>
|
|
@endcan
|
|
@endif
|
|
|
|
|
|
<table
|
|
name="users"
|
|
data-toolbar="#toolbar"
|
|
class="table table-striped snipe-table"
|
|
id="table"
|
|
data-toggle="table"
|
|
data-url="{{ route('api.users.list', array(''=>e(Input::get('status')))) }}"
|
|
data-cookie="true"
|
|
data-click-to-select="true"
|
|
data-cookie-id-table="userTableDisplay-{{ config('version.hash_version') }}">
|
|
<thead>
|
|
<tr>
|
|
<th data-class="hidden-xs hidden-sm" data-switchable="false" data-searchable="false" data-sortable="false" data-field="checkbox">
|
|
@if (Input::get('status')!='deleted')
|
|
<div class="text-center"><input type="checkbox" id="checkAll" style="padding-left: 0px;" style="hidden-xs hidden-sm"></div>
|
|
@endif
|
|
</th>
|
|
<th data-switchable="true" data-sortable="true" data-field="id" data-visible="false">{{ trans('general.id') }}</th>
|
|
<th data-switchable="true" data-sortable="false" data-field="companyName" data-visible="false">{{ trans('admin/companies/table.title') }}</th>
|
|
<th data-switchable="true" data-sortable="true" data-field="employee_num" data-visible="false">{{ trans('admin/users/table.employee_num') }}</th>
|
|
<th data-sortable="true" data-field="name">{{ trans('admin/users/table.name') }}</th>
|
|
<th data-switchable="true" data-sortable="true" data-field="jobtitle" data-visible="false">{{ trans('admin/users/table.title') }}</th>
|
|
<th data-sortable="true" data-field="email">
|
|
<span class="hidden-md hidden-lg">{{ trans('admin/users/table.email') }}</span>
|
|
<span class="hidden-xs"><i class="fa fa-envelope fa-lg"></i></span>
|
|
</th>
|
|
<th data-sortable="true" data-field="username">{{ trans('admin/users/table.username') }}</th>
|
|
<th data-searchable="true" data-sortable="true" data-field="manager">{{ trans('admin/users/table.manager') }}</th>
|
|
<th data-sortable="true" data-field="location">{{ trans('admin/users/table.location') }}</th>
|
|
<th data-sortable="false" data-field="assets">
|
|
<span class="hidden-md hidden-lg">Assets</span>
|
|
<span class="hidden-xs"><i class="fa fa-barcode fa-lg"></i></span>
|
|
</th>
|
|
<th data-sortable="false" data-field="licenses">
|
|
<span class="hidden-md hidden-lg">Licenses</span>
|
|
<span class="hidden-xs"><i class="fa fa-floppy-o fa-lg"></i></span>
|
|
</th>
|
|
<th data-sortable="false" data-field="accessories">
|
|
<span class="hidden-md hidden-lg">Accessories</span>
|
|
<span class="hidden-xs"><i class="fa fa-keyboard-o fa-lg"></i></span>
|
|
</th>
|
|
<th data-sortable="false" data-field="consumables">
|
|
<span class="hidden-md hidden-lg">Consumables</span>
|
|
<span class="hidden-xs"><i class="fa fa-tint fa-lg"></i></span>
|
|
</th>
|
|
<th data-sortable="false" data-field="groups">{{ trans('general.groups') }}</th>
|
|
<th data-sortable="true" data-field="notes">{{ trans('general.notes') }}</th>
|
|
<th data-sortable="true" data-field="two_factor_enrolled" data-visible="false">{{ trans('admin/users/general.two_factor_enrolled') }}</th>
|
|
<th data-sortable="true" data-field="two_factor_optin" data-visible="false">{{ trans('admin/users/general.two_factor_active') }}</th>
|
|
|
|
<th data-sortable="true" data-field="activated">{{ trans('general.activated') }}</th>
|
|
<th data-sortable="true" data-field="created_at" data-searchable="true" data-visible="false">{{ trans('general.created_at') }}</th>
|
|
<th data-switchable="false" data-searchable="false" data-sortable="false" data-field="actions" >{{ trans('table.actions') }}</th>
|
|
</tr>
|
|
</thead>
|
|
{{-- <tfoot>
|
|
<tr>
|
|
<td colspan="12">
|
|
<select name="bulk_actions" class="form-control">
|
|
<option value="delete">Bulk Delete</option>
|
|
</select>
|
|
<button class="btn btn-default" id="bulkEdit" disabled>Go</button>
|
|
</td>
|
|
</tr>
|
|
</tfoot> --}}
|
|
</table>
|
|
|
|
{{ Form::close() }}
|
|
</div><!-- /.box-body -->
|
|
</div><!-- /.box -->
|
|
|
|
</div>
|
|
</div>
|
|
@stop
|
|
|
|
|
|
@section('moar_scripts')
|
|
@include ('partials.bootstrap-table', ['exportFile' => 'users-export', 'search' => true])
|
|
|
|
<script>
|
|
|
|
$(function() {
|
|
|
|
function checkForChecked() {
|
|
|
|
var check_checked = $('input.one_required:checked').length;
|
|
|
|
if (check_checked > 0) {
|
|
$('#bulkEdit').removeAttr('disabled');
|
|
}
|
|
else {
|
|
$('#bulkEdit').attr('disabled', 'disabled');
|
|
}
|
|
}
|
|
|
|
$('table').on('change','input.one_required',checkForChecked);
|
|
|
|
$("#checkAll").change(function () {
|
|
$("input:checkbox").prop('checked', $(this).prop("checked"));
|
|
checkForChecked();
|
|
});
|
|
|
|
});
|
|
|
|
|
|
</script>
|
|
@stop
|