mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
template structuring
This commit is contained in:
parent
78d589fe78
commit
734af87f2f
|
@ -11,6 +11,7 @@ use App\Models\CheckoutAcceptance;
|
|||
use App\Models\CustomField;
|
||||
use App\Models\Depreciation;
|
||||
use App\Models\License;
|
||||
use App\Models\SavedReport;
|
||||
use App\Models\Setting;
|
||||
use App\Notifications\CheckoutAssetNotification;
|
||||
use Carbon\Carbon;
|
||||
|
@ -391,8 +392,9 @@ class ReportsController extends Controller
|
|||
{
|
||||
$this->authorize('reports.view');
|
||||
$customfields = CustomField::get();
|
||||
$saved_reports = SavedReport::get();
|
||||
|
||||
return view('reports/custom')->with('customfields', $customfields);
|
||||
return view('reports/custom')->with('customfields', $customfields)->with('saved_reports', $saved_reports);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
16
app/Http/Controllers/SavedReportsController.php
Normal file
16
app/Http/Controllers/SavedReportsController.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SavedReportsController extends Controller
|
||||
{
|
||||
//a method to the madness
|
||||
public function store(Request $request)
|
||||
{
|
||||
dd($request->all());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -9,9 +9,6 @@ class SavedReport extends Model
|
|||
{
|
||||
use HasFactory;
|
||||
|
||||
here be really sexy dragons
|
||||
|
||||
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
|
@ -20,4 +17,10 @@ class SavedReport extends Model
|
|||
protected $casts = [
|
||||
'options' => 'array',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'name',
|
||||
'options',
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,33 +7,6 @@
|
|||
@stop
|
||||
|
||||
@section('header_right')
|
||||
<div>
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" tabindex="-1">
|
||||
{{ trans('general.create') }}
|
||||
<strong class="caret"></strong>
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="position:relative;">
|
||||
@can('create', \App\Models\Asset::class)
|
||||
<li {!! (Request::is('hardware/create') ? 'class="active>"' : '') !!}>
|
||||
<a href="{{ route('hardware.create') }}" tabindex="-1">
|
||||
<i class="fas fa-barcode fa-fw" aria-hidden="true"></i>
|
||||
{{ trans('general.asset') }}
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
@can('create', \App\Models\Asset::class)
|
||||
<li {!! (Request::is('hardware/create') ? 'class="active>"' : '') !!}>
|
||||
<a href="{{ route('hardware.create') }}" tabindex="-1">
|
||||
<i class="fas fa-barcode fa-fw" aria-hidden="true"></i>
|
||||
{{ trans('general.asset') }}
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
</ul>
|
||||
<a href="#" class="btn btn-primary">
|
||||
{{ trans('admin/reports/general.apply_template') }}</a>
|
||||
<a href="#" class="btn btn-primary">
|
||||
{{ trans('admin/reports/general.save_template') }}</a></div>
|
||||
@stop
|
||||
|
||||
|
||||
|
@ -43,7 +16,7 @@
|
|||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
|
||||
{{ Form::open(['method' => 'post', 'class' => 'form-horizontal']) }}
|
||||
{{ Form::open(['method' => 'post', 'class' => 'form-horizontal', 'id' => 'custom-report-form']) }}
|
||||
{{csrf_field()}}
|
||||
|
||||
<!-- Horizontal Form -->
|
||||
|
@ -386,6 +359,44 @@
|
|||
</div> <!--/.box.box-default-->
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<a href="#" class="btn btn-primary">
|
||||
{{ trans('admin/reports/general.apply_and_generate') }}</a><br>
|
||||
<form method="post" id="savetemplateform" action="{{ route("savedreports/store") }}">
|
||||
@csrf
|
||||
<input type="hidden" id="savetemplateoptions">
|
||||
<button class = "btn btn-primary">
|
||||
{{ trans('admin/reports/general.save_template') }}
|
||||
</button>
|
||||
</form>
|
||||
<br>
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" tabindex="-1">
|
||||
{{ trans('admin/reports/general.select_template') }}
|
||||
<strong class="caret"></strong>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
@foreach($saved_reports as $report)
|
||||
<li>
|
||||
{{ $report->name }}
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
{{ $fieldname = $report->name }}
|
||||
<select class="js-data-ajax" data-endpoint="locations" data-placeholder="{{ trans('admin/reports/general.select_template') }}" name="{{ $fieldname }}" style="width: 100%" id="{{ $fieldname }}_location_select" aria-label="{{ $fieldname }}" {!! ((isset($item)) && (Helper::checkIfRequired($item, $fieldname))) ? ' data-validation="required" required' : '' !!}{{ (isset($multiple) && ($multiple=='true')) ? " multiple='multiple'" : '' }}>
|
||||
@if ($report->name!='')
|
||||
<option value="{{ $fieldname }}" selected="selected" role="option" aria-selected="true" role="option">
|
||||
@foreach($saved_reports as $report)
|
||||
<li>
|
||||
{{ $report->name }}
|
||||
</li>
|
||||
@endforeach
|
||||
</option>
|
||||
@else
|
||||
<option value="" role="option">{{ trans('admin/reports/general.select_template') }}</option>
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
@ -429,5 +440,15 @@
|
|||
$("input:checkbox").prop('checked', $(this).prop("checked"));
|
||||
});
|
||||
|
||||
$("#savetemplateform").submit(function(e) {
|
||||
e.preventDefault(e);
|
||||
let elements = Array.from(document.getElementById("custom-report-form").elements).map(item=>item.name);
|
||||
console.log(elements);
|
||||
|
||||
$("#savetemplateoptions").val(elements)
|
||||
// set hidden input to variable
|
||||
// submit the form
|
||||
});
|
||||
|
||||
</script>
|
||||
@stop
|
||||
|
|
|
@ -16,6 +16,7 @@ use App\Http\Controllers\ManufacturersController;
|
|||
use App\Http\Controllers\ModalController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\ReportsController;
|
||||
use App\Http\Controllers\SavedReportsController;
|
||||
use App\Http\Controllers\SettingsController;
|
||||
use App\Http\Controllers\StatuslabelsController;
|
||||
use App\Http\Controllers\SuppliersController;
|
||||
|
@ -356,6 +357,7 @@ Route::group(['middleware' => ['auth']], function () {
|
|||
)->name('reports/export/accessories');
|
||||
Route::get('reports/custom', [ReportsController::class, 'getCustomReport'])->name('reports/custom');
|
||||
Route::post('reports/custom', [ReportsController::class, 'postCustom']);
|
||||
Route::post('reports/savedtemplate', [SavedReportsController::class, 'store'])->name('savedreports/store');
|
||||
|
||||
Route::get(
|
||||
'reports/activity',
|
||||
|
|
Loading…
Reference in a new issue