mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-14 01:24:06 -08:00
Merge remote-tracking branch 'origin/develop'
This commit is contained in:
commit
997664f489
|
@ -23,6 +23,7 @@ use Input;
|
||||||
use League\Csv\Reader;
|
use League\Csv\Reader;
|
||||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
use League\Csv\EscapeFormula;
|
use League\Csv\EscapeFormula;
|
||||||
|
use App\Http\Requests\CustomAssetReportRequest;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -403,11 +404,12 @@ class ReportsController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function postCustom(Request $request)
|
public function postCustom(CustomAssetReportRequest $request)
|
||||||
{
|
{
|
||||||
ini_set('max_execution_time', env('REPORT_TIME_LIMIT', 12000)); //12000 seconds = 200 minutes
|
ini_set('max_execution_time', env('REPORT_TIME_LIMIT', 12000)); //12000 seconds = 200 minutes
|
||||||
$this->authorize('reports.view');
|
$this->authorize('reports.view');
|
||||||
|
|
||||||
|
|
||||||
\Debugbar::disable();
|
\Debugbar::disable();
|
||||||
$customfields = CustomField::get();
|
$customfields = CustomField::get();
|
||||||
$response = new StreamedResponse(function () use ($customfields, $request) {
|
$response = new StreamedResponse(function () use ($customfields, $request) {
|
||||||
|
|
49
app/Http/Requests/CustomAssetReportRequest.php
Normal file
49
app/Http/Requests/CustomAssetReportRequest.php
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
class CustomAssetReportRequest extends Request
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'purchase_date' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkout_date' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkin_date' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'purchase_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'purchase_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'created_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'created_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkout_date_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkout_date_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'expected_checkin_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'expected_checkin_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkin_date_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'checkin_date_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'last_audit_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'last_audit_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'next_audit_start' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
'next_audit_end' => 'date|date_format:Y-m-d|nullable',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function response(array $errors)
|
||||||
|
{
|
||||||
|
return $this->redirector->back()->withInput()->withErrors($errors, $this->errorBag);
|
||||||
|
}
|
||||||
|
}
|
|
@ -259,79 +259,131 @@
|
||||||
<!-- Order Number -->
|
<!-- Order Number -->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="by_order_number" class="col-md-3 control-label">{{ trans('general.order_number') }}</label>
|
<label for="by_order_number" class="col-md-3 control-label">{{ trans('general.order_number') }}</label>
|
||||||
<div class="col-md-5 col-sm-8">
|
<div class="col-md-7">
|
||||||
<input class="form-control" type="text" name="by_order_number" value="" aria-label="by_order_number">
|
<input class="form-control" type="text" name="by_order_number" value="" aria-label="by_order_number">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Purchase Date -->
|
<!-- Purchase Date -->
|
||||||
<div class="form-group purchase-range">
|
<div class="form-group purchase-range{{ ($errors->has('purchase_start') || $errors->has('purchase_end')) ? ' has-error' : '' }}">
|
||||||
<label for="purchase_start" class="col-md-3 control-label">{{ trans('general.purchase_date') }} {{ trans('general.range') }}</label>
|
<label for="purchase_start" class="col-md-3 control-label">{{ trans('general.purchase_date') }} {{ trans('general.range') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="purchase_start" aria-label="purchase_start">
|
<input type="text" class="form-control" name="purchase_start" aria-label="purchase_start" value="{{ old('purchase_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="purchase_end" aria-label="purchase_end">
|
<input type="text" class="form-control" name="purchase_end" aria-label="purchase_end" value="{{ old('purchase_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('purchase_start') || $errors->has('purchase_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('purchase_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('purchase_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Created Date -->
|
<!-- Created Date -->
|
||||||
<div class="form-group purchase-range">
|
<div class="form-group purchase-range{{ ($errors->has('created_start') || $errors->has('created_end')) ? ' has-error' : '' }}">
|
||||||
<label for="created_start" class="col-md-3 control-label">{{ trans('general.created_at') }} {{ trans('general.range') }}</label>
|
<label for="created_start" class="col-md-3 control-label">{{ trans('general.created_at') }} {{ trans('general.range') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="created_start" aria-label="created_start">
|
<input type="text" class="form-control" name="created_start" aria-label="created_start" value="{{ old('created_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="created_end" aria-label="created_end">
|
<input type="text" class="form-control" name="created_end" aria-label="created_end" value="{{ old('created_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('created_start') || $errors->has('created_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('created_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('created_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Checkout Date -->
|
<!-- Checkout Date -->
|
||||||
<div class="form-group checkout-range">
|
<div class="form-group checkout-range{{ ($errors->has('checkout_date_start') || $errors->has('checkout_date_end')) ? ' has-error' : '' }}">
|
||||||
<label for="checkout_date" class="col-md-3 control-label">{{ trans('general.checkout') }} {{ trans('general.range') }}</label>
|
<label for="checkout_date" class="col-md-3 control-label">{{ trans('general.checkout') }} {{ trans('general.range') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="checkout_date_start" aria-label="checkout_date_start">
|
<input type="text" class="form-control" name="checkout_date_start" aria-label="checkout_date_start" value="{{ old('checkout_date_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="checkout_date_end" aria-label="checkout_date_end">
|
<input type="text" class="form-control" name="checkout_date_end" aria-label="checkout_date_end" value="{{ old('checkout_date_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('checkout_date_start') || $errors->has('checkout_date_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('checkout_date_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('checkout_date_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Last Checkin Date -->
|
<!-- Last Checkin Date -->
|
||||||
<div class="form-group checkin-range">
|
<div class="form-group checkin-range{{ ($errors->has('checkin_date_start') || $errors->has('checkin_date_end')) ? ' has-error' : '' }}">
|
||||||
<label for="checkin_date" class="col-md-3 control-label">{{ trans('admin/hardware/table.last_checkin_date') }}</label>
|
<label for="checkin_date" class="col-md-3 control-label">{{ trans('admin/hardware/table.last_checkin_date') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="checkin_date_start" aria-label="checkin_date_start">
|
<input type="text" class="form-control" name="checkin_date_start" aria-label="checkin_date_start" value="{{ old('checkin_date_start') }}">
|
||||||
<span class="input-group-addon">{{ strtolower(trans('general.to')) }}</span>
|
<span class="input-group-addon">{{ strtolower(trans('general.to')) }}</span>
|
||||||
<input type="text" class="form-control" name="checkin_date_end" aria-label="checkin_date_end">
|
<input type="text" class="form-control" name="checkin_date_end" aria-label="checkin_date_end" value="{{ old('checkin_date_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('checkin_date_start') || $errors->has('checkin_date_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('checkin_date_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('checkin_date_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Expected Checkin Date -->
|
<!-- Expected Checkin Date -->
|
||||||
<div class="form-group expected_checkin-range">
|
<div class="form-group expected_checkin-range{{ ($errors->has('expected_checkin_start') || $errors->has('expected_checkin_end')) ? ' has-error' : '' }}">
|
||||||
<label for="expected_checkin_start" class="col-md-3 control-label">{{ trans('admin/hardware/form.expected_checkin') }}</label>
|
<label for="expected_checkin_start" class="col-md-3 control-label">{{ trans('admin/hardware/form.expected_checkin') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="expected_checkin_start" aria-label="expected_checkin_start">
|
<input type="text" class="form-control" name="expected_checkin_start" aria-label="expected_checkin_start" value="{{ old('expected_checkin_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="expected_checkin_end" aria-label="expected_checkin_end">
|
<input type="text" class="form-control" name="expected_checkin_end" aria-label="expected_checkin_end" value="{{ old('expected_checkin_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('expected_checkin_start') || $errors->has('expected_checkin_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('expected_checkin_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('expected_checkin_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Last Audit Date -->
|
<!-- Last Audit Date -->
|
||||||
<div class="form-group last_audit-range">
|
<div class="form-group last_audit-range{{ ($errors->has('last_audit_start') || $errors->has('last_audit_end')) ? ' has-error' : '' }}">
|
||||||
<label for="last_audit_start" class="col-md-3 control-label">{{ trans('general.last_audit') }}</label>
|
<label for="last_audit_start" class="col-md-3 control-label">{{ trans('general.last_audit') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="last_audit_start" aria-label="last_audit_start">
|
<input type="text" class="form-control" name="last_audit_start" aria-label="last_audit_start" value="{{ old('last_audit_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="last_audit_end" aria-label="last_audit_end">
|
<input type="text" class="form-control" name="last_audit_end" aria-label="last_audit_end" value="{{ old('last_audit_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('last_audit_start') || $errors->has('last_audit_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('last_audit_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('last_audit_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Next Audit Date -->
|
<!-- Next Audit Date -->
|
||||||
<div class="form-group next_audit-range">
|
<div class="form-group next_audit-range{{ ($errors->has('next_audit_start') || $errors->has('next_audit_end')) ? ' has-error' : '' }}">
|
||||||
<label for="next_audit_start" class="col-md-3 control-label">{{ trans('general.next_audit_date') }}</label>
|
<label for="next_audit_start" class="col-md-3 control-label">{{ trans('general.next_audit_date') }}</label>
|
||||||
<div class="input-daterange input-group col-md-6" id="datepicker">
|
<div class="input-daterange input-group col-md-7" id="datepicker">
|
||||||
<input type="text" class="form-control" name="next_audit_start" aria-label="nex_audit_start">
|
<input type="text" class="form-control" name="next_audit_start" aria-label="next_audit_start" value="{{ old('next_audit_start') }}">
|
||||||
<span class="input-group-addon">to</span>
|
<span class="input-group-addon">to</span>
|
||||||
<input type="text" class="form-control" name="next_audit_end" aria-label="next_audit_end">
|
<input type="text" class="form-control" name="next_audit_end" aria-label="next_audit_end" value="{{ old('next_audit_end') }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if ($errors->has('next_audit_start') || $errors->has('next_audit_end'))
|
||||||
|
<div class="col-md-9 col-lg-offset-3">
|
||||||
|
{!! $errors->first('next_audit_start', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
{!! $errors->first('next_audit_end', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-9 col-md-offset-3">
|
<div class="col-md-9 col-md-offset-3">
|
||||||
|
|
Loading…
Reference in a new issue