mirror of
https://github.com/snipe/snipe-it.git
synced 2025-02-21 03:15:45 -08:00
Additional API transformers, formatters
This commit is contained in:
parent
6d2a37fa80
commit
d0f062458e
|
@ -23,11 +23,11 @@ class AssetsTransformer
|
|||
'name' => $asset->name,
|
||||
'asset_tag' => $asset->asset_tag,
|
||||
'serial' => $asset->serial,
|
||||
'model' => ($asset->model) ? $asset->model->name : '',
|
||||
'model' => ($asset->model) ? $asset->model : '',
|
||||
'model_number' => $asset->model_number,
|
||||
'status_label' => ($asset->assetstatus) ? $asset->assetstatus : '',
|
||||
'last_checkout' => $asset->last_checkout,
|
||||
'category' => ($asset->model->category) ? $asset->model->category->name : '',
|
||||
'category' => ($asset->model->category) ? $asset->model->category : '',
|
||||
'manufacturer' => $asset->manufacturer,
|
||||
'notes' => $asset->notes,
|
||||
'expected_checkin' => $asset->expected_checkin,
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
name="category_assets"
|
||||
class="snipe-table"
|
||||
id="table"
|
||||
data-url="{{ route('api.categories.'.$category->category_type.'.view', [$category->id, $category->category_type]) }}"
|
||||
data-url="{{ route('api.categories.'.$category->category_type.'.show', [$category->id, $category->category_type]) }}"
|
||||
data-cookie="true"
|
||||
data-click-to-select="true"
|
||||
data-cookie-id-table="categoryAssetsTable"
|
||||
|
|
|
@ -166,8 +166,23 @@
|
|||
if (modelid == '') {
|
||||
$('#custom_fields_content').html("");
|
||||
} else {
|
||||
$.get("{{url('/') }}/models/" + modelid + "/custom_fields", {_token: "{{ csrf_token() }}"}, function (data) {
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: "{{url('/') }}/models/" + modelid + "/custom_fields",
|
||||
headers: {
|
||||
"X-Requested-With": 'XMLHttpRequest',
|
||||
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
_token: "{{ csrf_token() }}",
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
data: data,
|
||||
$('#custom_fields_content').html(data);
|
||||
},
|
||||
error: function (data) {
|
||||
alert('oops');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -385,9 +400,9 @@
|
|||
|
||||
$('#modal-save').on('click', function () {
|
||||
var data = {};
|
||||
//console.warn("We are about to SAVE!!! for model: "+model+" and select ID: "+select);
|
||||
console.warn("We are about to SAVE!!! for model: "+model+" and select ID: "+select);
|
||||
$('.modal-body input:visible').each(function (index, elem) {
|
||||
//console.warn("["+index+"]: "+elem.id+" = "+$(elem).val());
|
||||
console.warn("["+index+"]: "+elem.id+" = "+$(elem).val());
|
||||
var bits = elem.id.split("-");
|
||||
if (bits[0] === "modal") {
|
||||
data[bits[1]] = $(elem).val();
|
||||
|
@ -399,7 +414,7 @@
|
|||
});
|
||||
|
||||
data._token = '{{ csrf_token() }}';
|
||||
|
||||
//console.log(data);
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
|
@ -428,6 +443,8 @@
|
|||
window.alert("Unable to add new " + model + " - error: " + msg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -79,12 +79,12 @@
|
|||
<th data-sortable="true" data-field="name" data-visible="false">{{ trans('admin/hardware/form.name') }}</th>
|
||||
<th data-sortable="true" data-field="asset_tag" data-formatter="assetFormatter">{{ trans('admin/hardware/table.asset_tag') }}</th>
|
||||
<th data-sortable="true" data-field="serial" data-formatter="assetFormatter">{{ trans('admin/hardware/table.serial') }}</th>
|
||||
<th data-sortable="true" data-field="model">{{ trans('admin/hardware/form.model') }}</th>
|
||||
<th data-sortable="true" data-field="model" data-formatter="modelFormatter">{{ trans('admin/hardware/form.model') }}</th>
|
||||
<th data-sortable="true" data-field="model_number" data-visible="false">{{ trans('admin/models/table.modelnumber') }}</th>
|
||||
<th data-sortable="true" data-field="status_label" data-formatter="statusFormatter">{{ trans('admin/hardware/table.status') }}</th>
|
||||
<th data-sortable="true" data-field="assigned_to">{{ trans('admin/hardware/form.checkedout_to') }}</th>
|
||||
<th data-sortable="true" data-formatter="locationFormatter" data-field="location" data-searchable="true">{{ trans('admin/hardware/table.location') }}</th>
|
||||
<th data-sortable="true" data-field="category" data-searchable="true">{{ trans('general.category') }}</th>
|
||||
<th data-sortable="true" data-field="category" data-searchable="true" data-formatter="categoryFormatter">{{ trans('general.category') }}</th>
|
||||
<th data-sortable="true" data-field="manufacturer" data-searchable="true" data-visible="false">{{ trans('general.manufacturer') }}</th>
|
||||
<th data-sortable="true" data-field="purchase_cost" data-searchable="true" data-visible="false">{{ trans('admin/hardware/form.cost') }}</th>
|
||||
<th data-sortable="true" data-field="purchase_date" data-searchable="true" data-visible="false">{{ trans('admin/hardware/form.date') }}</th>
|
||||
|
|
|
@ -111,6 +111,18 @@ $('.snipe-table').bootstrapTable({
|
|||
}
|
||||
}
|
||||
|
||||
function modelFormatter(value, row) {
|
||||
if (value) {
|
||||
return '<a href="{{ url('/') }}/models/' + value.id + '"> ' + value.name + '</a>';
|
||||
}
|
||||
}
|
||||
|
||||
function categoryFormatter(value, row) {
|
||||
if (value) {
|
||||
return '<a href="{{ url('/') }}/categories/' + value.id + '"> ' + value.name + '</a>';
|
||||
}
|
||||
}
|
||||
|
||||
function companyFormatter(value, row) {
|
||||
if ((value) && (value[0].name)) {
|
||||
return '<a href="{{ url('/') }}/companies/' + value[0].id + '"> ' + value[0].name + '</a>';
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@stop
|
||||
|
||||
@section('header_right')
|
||||
<a href="{{ route('statuslabels.create') }}" class="btn btn-primary pull-right">
|
||||
<a href="{{ route('hardware.create') }}" class="btn btn-primary pull-right">
|
||||
{{ trans('general.create') }}</a>
|
||||
@stop
|
||||
{{-- Page content --}}
|
||||
|
|
|
@ -52,7 +52,7 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () {
|
|||
['names' =>
|
||||
[
|
||||
'index' => 'api.categories.index',
|
||||
'show' => 'api.categories.show',
|
||||
'show' => 'api.categories.asset.show',
|
||||
'update' => 'api.categories.update',
|
||||
'store' => 'api.categories.store',
|
||||
'destroy' => 'api.categories.destroy'
|
||||
|
|
Loading…
Reference in a new issue