snipe-it/resources/views/dashboard.blade.php

199 lines
6.7 KiB
PHP
Raw Normal View History

2016-03-25 01:18:05 -07:00
@extends('layouts/default')
{{-- Page title --}}
@section('title')
{{ trans('general.dashboard') }}
@parent
@stop
{{-- Page content --}}
@section('content')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/morris.css') }}">
<div class="row">
<!-- panel -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-teal">
<div class="inner">
<h3>{{ number_format(\App\Models\Asset::assetcount()) }}</h3>
<p>{{ trans('general.total_assets') }}</p>
</div>
<div class="icon">
<i class="fa fa-barcode"></i>
</div>
Discussion: Moving to policies for controller based authorization (#3080) * 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.
2016-12-19 11:04:28 -08:00
@can('index', \App\Models\Asset::class)
<a href="{{ route('hardware.index') }}" class="small-box-footer">{{ trans('general.moreinfo') }} <i class="fa fa-arrow-circle-right"></i></a>
2016-08-02 00:54:38 -07:00
@endcan
2016-03-25 01:18:05 -07:00
</div>
</div><!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-maroon">
<div class="inner">
<h3>{{ number_format(\App\Models\License::assetcount()) }}</h3>
<p>{{ trans('general.total_licenses') }}</p>
</div>
<div class="icon">
<i class="fa fa-floppy-o"></i>
2016-03-25 01:18:05 -07:00
</div>
Discussion: Moving to policies for controller based authorization (#3080) * 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.
2016-12-19 11:04:28 -08:00
@can('view', \App\Models\License::class)
<a href="{{ route('licenses.index') }}" class="small-box-footer">{{ trans('general.moreinfo') }} <i class="fa fa-arrow-circle-right"></i></a>
2016-08-02 00:54:38 -07:00
@endcan
2016-03-25 01:18:05 -07:00
</div>
</div><!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-orange">
<div class="inner">
<h3> {{ number_format(\App\Models\Accessory::count()) }}</h3>
<p>{{ trans('general.total_accessories') }}</p>
2016-03-25 01:18:05 -07:00
</div>
<div class="icon">
<i class="fa fa-keyboard-o"></i>
</div>
Discussion: Moving to policies for controller based authorization (#3080) * 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.
2016-12-19 11:04:28 -08:00
@can('index', \App\Models\Accessory::class)
<a href="{{ route('accessories.index') }}" class="small-box-footer">{{ trans('general.moreinfo') }} <i class="fa fa-arrow-circle-right"></i></a>
2016-08-02 00:54:38 -07:00
@endcan
2016-03-25 01:18:05 -07:00
</div>
</div><!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-purple">
<div class="inner">
<h3> {{ number_format(\App\Models\Consumable::count()) }}</h3>
<p>{{ trans('general.total_consumables') }}</p>
2016-03-25 01:18:05 -07:00
</div>
<div class="icon">
<i class="fa fa-tint"></i>
</div>
Discussion: Moving to policies for controller based authorization (#3080) * 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.
2016-12-19 11:04:28 -08:00
@can('index', \App\Models\Consumable::class)
<a href="{{ route('consumables.index') }}" class="small-box-footer">{{ trans('general.moreinfo') }} <i class="fa fa-arrow-circle-right"></i></a>
2016-08-02 00:54:38 -07:00
@endcan
2016-03-25 01:18:05 -07:00
</div>
</div><!-- ./col -->
</div>
2016-05-24 16:10:04 -07:00
<!-- recent activity -->
2016-03-25 01:18:05 -07:00
<div class="row">
2016-05-24 16:10:04 -07:00
<div class="col-md-9">
2016-03-25 01:18:05 -07:00
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('general.recent_activity') }}</h3>
<div class="box-tools pull-right">
<a href="{{ route('reports/activity') }}"><i class="fa fa-ellipsis-h"></i></a>
2016-03-25 01:18:05 -07:00
</div>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
2016-05-24 19:04:56 -07:00
<div class="table-responsive">
<table
class="table table-striped"
name="activityReport"
id="table"
data-url="{{route('api.activity.list', ['limit' => 20]) }}">
2016-03-25 01:18:05 -07:00
<thead>
<tr>
<th data-field="icon" style="width: 40px;" class="hidden-xs"></th>
<th class="col-sm-2" data-field="created_at">{{ trans('general.date') }}</th>
<th class="col-sm-2" data-field="admin">{{ trans('general.admin') }}</th>
<th class="col-sm-2" data-field="action_type">{{ trans('general.action') }}</th>
<th class="col-sm-4" data-field="item">{{ trans('general.item') }}</th>
<th class="col-sm-2" data-field="target">To</th>
2016-03-25 01:18:05 -07:00
</tr>
</thead>
</table>
2016-05-24 19:04:56 -07:00
</div><!-- /.responsive -->
2016-03-25 01:18:05 -07:00
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- ./box-body -->
</div><!-- /.box -->
</div>
2016-05-24 16:10:04 -07:00
<div class="col-md-3">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('general.assets') }}</h3>
2016-05-24 16:10:04 -07:00
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
</button>
</div>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<div class="chart-responsive">
<canvas id="statusPieChart" height="150"></canvas>
</div>
<!-- ./chart-responsive -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
</div>
<!-- /.box -->
</div>
2016-03-25 01:18:05 -07:00
</div>
2016-05-24 16:10:04 -07:00
@section('moar_scripts')
<script src="{{ asset('assets/js/plugins/chartjs/Chart.min.js') }}"></script>
<script>
2016-03-25 01:18:05 -07:00
2016-05-24 16:10:04 -07:00
var pieChartCanvas = $("#statusPieChart").get(0).getContext("2d");
var pieChart = new Chart(pieChartCanvas);
var ctx = document.getElementById("statusPieChart");
$.get('{{ route('api.statuslabels.assets') }}', function (data) {
var myPieChart = new Chart(ctx,{
type: 'doughnut',
data: data,
options: pieOptions
});
// document.getElementById('my-doughnut-legend').innerHTML = myPieChart.generateLegend();
});
2016-03-25 01:18:05 -07:00
2016-05-24 16:10:04 -07:00
</script>
2016-03-25 01:18:05 -07:00
<script src="{{ asset('assets/js/bootstrap-table.js') }}"></script>
<script src="{{ asset('assets/js/extensions/mobile/bootstrap-table-mobile.js') }}"></script>
<script type="text/javascript">
$('#table').bootstrapTable({
classes: 'table table-responsive table-no-bordered',
undefinedText: '',
iconsPrefix: 'fa',
showRefresh: false,
search: false,
pagination: false,
sidePagination: 'server',
sortable: false,
showMultiSort: false,
cookie: false,
mobileResponsive: true,
});
2016-03-25 01:18:05 -07:00
</script>
2016-03-25 01:18:05 -07:00
@stop
2016-05-24 16:10:04 -07:00
2016-03-25 01:18:05 -07:00
@stop