mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-10 07:34:06 -08:00
Fixes #4495 - missing field in Download CSV, added filter options on custom report
This commit is contained in:
parent
ff793f1cb5
commit
14874d8e8a
|
@ -145,6 +145,7 @@ class ReportsController extends Controller
|
|||
trans('general.company'),
|
||||
trans('admin/hardware/table.asset_tag'),
|
||||
trans('admin/hardware/form.manufacturer'),
|
||||
trans('general.category'),
|
||||
trans('admin/hardware/form.model'),
|
||||
trans('general.model_no'),
|
||||
trans('general.name'),
|
||||
|
@ -175,6 +176,7 @@ class ReportsController extends Controller
|
|||
($asset->company) ? $asset->company->name : '',
|
||||
$asset->asset_tag,
|
||||
($asset->model->manufacturer) ? $asset->model->manufacturer->name : '',
|
||||
($asset->model->category) ? $asset->model->category->name : '',
|
||||
($asset->model) ? $asset->model->name : '',
|
||||
($asset->model->model_number) ? $asset->model->model_number : '',
|
||||
($asset->name) ? $asset->name : '',
|
||||
|
@ -519,7 +521,7 @@ class ReportsController extends Controller
|
|||
|
||||
fputcsv($handle, $header);
|
||||
|
||||
$assets = Asset::orderBy('created_at', 'DESC')->with('company', 'assignedTo', 'location', 'defaultLoc', 'model', 'supplier', 'assetstatus', 'model.manufacturer');
|
||||
$assets = Asset::with('company', 'assignedTo', 'location', 'defaultLoc', 'model', 'supplier', 'assetstatus', 'model.manufacturer');
|
||||
|
||||
if ($request->has('by_location_id')) {
|
||||
$assets->where('assets.location_id', $request->input('by_location_id'));
|
||||
|
|
|
@ -30,146 +30,199 @@
|
|||
<div class="box-body">
|
||||
<div class="col-md-3">
|
||||
|
||||
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('company', '1') }}
|
||||
<input type="checkbox" class="all minimal" checked="checked">
|
||||
Select All
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('company', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.company') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('asset_tag', '1') }}
|
||||
{{ Form::checkbox('asset_tag', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.asset_tag') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('asset_name', '1') }}
|
||||
{{ Form::checkbox('asset_name', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/form.name') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('manufacturer', '1') }}
|
||||
{{ Form::checkbox('manufacturer', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.manufacturer') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('model', '1') }}
|
||||
{{ Form::checkbox('model', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.asset_models') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('category', '1') }}
|
||||
{{ Form::checkbox('category', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.category') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('serial', '1') }}
|
||||
{{ Form::checkbox('serial', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/table.serial') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('purchase_date', '1') }}
|
||||
{{ Form::checkbox('purchase_date', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/licenses/table.purchase_date') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('purchase_cost', '1') }}
|
||||
{{ Form::checkbox('purchase_cost', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/form.cost') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('eol', '1') }}
|
||||
{{ Form::checkbox('eol', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/table.eol') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('order', '1') }}
|
||||
{{ Form::checkbox('order', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/form.order') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('supplier', '1') }}
|
||||
{{ Form::checkbox('supplier', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.suppliers') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('location', '1') }}
|
||||
{{ Form::checkbox('location', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.location') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('assigned_to', '1') }}
|
||||
{{ Form::checkbox('assigned_to', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/licenses/table.assigned_to') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('username', '1') }}
|
||||
{{ Form::checkbox('username', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/users/table.username') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('employee_num', '1') }}
|
||||
{{ Form::checkbox('employee_num', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/users/table.employee_num') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('status', '1') }}
|
||||
{{ Form::checkbox('status', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.status') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('warranty', '1') }}
|
||||
{{ Form::checkbox('warranty', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/form.warranty') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('depreciation', '1') }}
|
||||
{{ Form::checkbox('depreciation', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.depreciation') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('expected_checkin', '1') }}
|
||||
{{ Form::checkbox('expected_checkin', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('admin/hardware/form.expected_checkin') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox('notes', '1') }}
|
||||
{{ Form::checkbox('notes', '1', '1', ['class' => 'minimal']) }}
|
||||
{{ trans('general.notes') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@if ($customfields->count() > 0)
|
||||
<div class="checkbox col-md-12">
|
||||
<h4>Custom Fields:</h4>
|
||||
</div>
|
||||
@foreach ($customfields as $customfield)
|
||||
<div class="checkbox col-md-12">
|
||||
<label>
|
||||
{{ Form::checkbox($customfield->db_column_name(), '1') }}
|
||||
{{ Form::checkbox($customfield->db_column_name(), '1', '1', ['class' => 'minimal']) }}
|
||||
{{ $customfield->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
</div> <!-- /.col-md-3-->
|
||||
|
||||
<div class="col-md-7">
|
||||
<p>Select the fields you'd like to include in your custom report, and click Generate. The file (YYYY-mm-dd-his-custom-asset-report.csv) will download automatically, and you can open it in Excel.</p>
|
||||
<div class="col-md-9">
|
||||
|
||||
<p>Select the fields you'd like to include in your custom report, and click Generate. The file (custom-asset-report-YYYY-mm-dd.csv) will download automatically, and you can open it in Excel.</p>
|
||||
<p>If you'd like to export only certain assets, use the options below to fine-tune your results.</p>
|
||||
|
||||
@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'by_company_id', 'hide_new' => 'true'])
|
||||
@include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'by_location_id', 'hide_new' => 'true'])
|
||||
@include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'by_supplier_id', 'hide_new' => 'true'])
|
||||
@include ('partials.forms.edit.model-select', ['translated_name' => trans('general.asset_model'), 'fieldname' => 'by_model_id', 'hide_new' => 'true'])
|
||||
@include ('partials.forms.edit.category-select', ['translated_name' => trans('general.category'), 'fieldname' => 'by_category_id', 'hide_new' => 'true', 'category_type' => 'asset'])
|
||||
|
||||
<!-- Order Number -->
|
||||
<div class="form-group">
|
||||
<label for="order_number" class="col-md-3 control-label">{{ trans('general.order_number') }}</label>
|
||||
<div class="col-md-5 col-sm-8">
|
||||
<input class="form-control" type="text" name="by_order_number" value="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Purchase Date -->
|
||||
<div class="form-group" id="purchase-range">
|
||||
<label for="purchase_date" class="col-md-3 control-label">{{ trans('general.purchase_date') }} Range</label>
|
||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
||||
<input type="text" class="input-sm form-control" name="start" />
|
||||
<span class="input-group-addon">to</span>
|
||||
<input type="text" class="input-sm form-control" name="end" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
<label>
|
||||
{{ Form::checkbox('use_bom', '1') }}
|
||||
Add a BOM (byte-order mark) to this CSV
|
||||
</label>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div> <!-- /.box-body-->
|
||||
<div class="box-footer text-right">
|
||||
|
@ -181,3 +234,39 @@
|
|||
</div>
|
||||
|
||||
@stop
|
||||
|
||||
@section('moar_scripts')
|
||||
<script>
|
||||
|
||||
$('#purchase-range .input-daterange').datepicker({
|
||||
clearBtn: true,
|
||||
todayHighlight: true,
|
||||
endDate: '0d',
|
||||
format: 'yyyy-mm-dd'
|
||||
});
|
||||
|
||||
// Check-all / Uncheck all
|
||||
$(function () {
|
||||
var checkAll = $('input.all');
|
||||
var checkboxes = $('input.minimal');
|
||||
|
||||
|
||||
checkAll.on('ifChecked ifUnchecked', function(event) {
|
||||
if (event.type == 'ifChecked') {
|
||||
checkboxes.iCheck('check');
|
||||
} else {
|
||||
checkboxes.iCheck('uncheck');
|
||||
}
|
||||
});
|
||||
|
||||
checkboxes.on('ifChanged', function(event){
|
||||
if(checkboxes.filter(':checked').length == checkboxes.length) {
|
||||
checkAll.prop('checked', 'checked');
|
||||
} else {
|
||||
checkAll.removeProp('checked');
|
||||
}
|
||||
checkAll.iCheck('update');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@stop
|
||||
|
|
Loading…
Reference in a new issue