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,
|
'name' => $asset->name,
|
||||||
'asset_tag' => $asset->asset_tag,
|
'asset_tag' => $asset->asset_tag,
|
||||||
'serial' => $asset->serial,
|
'serial' => $asset->serial,
|
||||||
'model' => ($asset->model) ? $asset->model->name : '',
|
'model' => ($asset->model) ? $asset->model : '',
|
||||||
'model_number' => $asset->model_number,
|
'model_number' => $asset->model_number,
|
||||||
'status_label' => ($asset->assetstatus) ? $asset->assetstatus : '',
|
'status_label' => ($asset->assetstatus) ? $asset->assetstatus : '',
|
||||||
'last_checkout' => $asset->last_checkout,
|
'last_checkout' => $asset->last_checkout,
|
||||||
'category' => ($asset->model->category) ? $asset->model->category->name : '',
|
'category' => ($asset->model->category) ? $asset->model->category : '',
|
||||||
'manufacturer' => $asset->manufacturer,
|
'manufacturer' => $asset->manufacturer,
|
||||||
'notes' => $asset->notes,
|
'notes' => $asset->notes,
|
||||||
'expected_checkin' => $asset->expected_checkin,
|
'expected_checkin' => $asset->expected_checkin,
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
name="category_assets"
|
name="category_assets"
|
||||||
class="snipe-table"
|
class="snipe-table"
|
||||||
id="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-cookie="true"
|
||||||
data-click-to-select="true"
|
data-click-to-select="true"
|
||||||
data-cookie-id-table="categoryAssetsTable"
|
data-cookie-id-table="categoryAssetsTable"
|
||||||
|
|
|
@ -166,8 +166,23 @@
|
||||||
if (modelid == '') {
|
if (modelid == '') {
|
||||||
$('#custom_fields_content').html("");
|
$('#custom_fields_content').html("");
|
||||||
} else {
|
} else {
|
||||||
$.get("{{url('/') }}/models/" + modelid + "/custom_fields", {_token: "{{ csrf_token() }}"}, function (data) {
|
|
||||||
$('#custom_fields_content').html(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 () {
|
$('#modal-save').on('click', function () {
|
||||||
var data = {};
|
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) {
|
$('.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("-");
|
var bits = elem.id.split("-");
|
||||||
if (bits[0] === "modal") {
|
if (bits[0] === "modal") {
|
||||||
data[bits[1]] = $(elem).val();
|
data[bits[1]] = $(elem).val();
|
||||||
|
@ -399,7 +414,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
data._token = '{{ csrf_token() }}';
|
data._token = '{{ csrf_token() }}';
|
||||||
|
//console.log(data);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
|
@ -428,6 +443,8 @@
|
||||||
window.alert("Unable to add new " + model + " - error: " + msg);
|
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="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="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="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="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="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-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-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="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_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>
|
<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) {
|
function companyFormatter(value, row) {
|
||||||
if ((value) && (value[0].name)) {
|
if ((value) && (value[0].name)) {
|
||||||
return '<a href="{{ url('/') }}/companies/' + value[0].id + '"> ' + value[0].name + '</a>';
|
return '<a href="{{ url('/') }}/companies/' + value[0].id + '"> ' + value[0].name + '</a>';
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
@section('header_right')
|
@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>
|
{{ trans('general.create') }}</a>
|
||||||
@stop
|
@stop
|
||||||
{{-- Page content --}}
|
{{-- Page content --}}
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
<th data-sortable="true" data-field="serial" data-formatter="assetFormatter">{{ trans('admin/hardware/table.serial') }}</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">{{ 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="model_number" data-visible="false">{{ trans('admin/models/table.modelnumber') }}</th>
|
||||||
|
|
||||||
<th data-sortable="true" data-field="assigned_to">{{ trans('admin/hardware/form.checkedout_to') }}</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-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">{{ trans('general.category') }}</th>
|
||||||
|
|
|
@ -52,7 +52,7 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () {
|
||||||
['names' =>
|
['names' =>
|
||||||
[
|
[
|
||||||
'index' => 'api.categories.index',
|
'index' => 'api.categories.index',
|
||||||
'show' => 'api.categories.show',
|
'show' => 'api.categories.asset.show',
|
||||||
'update' => 'api.categories.update',
|
'update' => 'api.categories.update',
|
||||||
'store' => 'api.categories.store',
|
'store' => 'api.categories.store',
|
||||||
'destroy' => 'api.categories.destroy'
|
'destroy' => 'api.categories.destroy'
|
||||||
|
|
Loading…
Reference in a new issue