From e88f5629dfb0c7df5fd72e2c045b5f18642b17d0 Mon Sep 17 00:00:00 2001 From: Brady Wetherington Date: Tue, 1 Dec 2015 17:17:32 -0800 Subject: [PATCH] Add new form partial and AJAX endpoint for custom fields. --- app/controllers/admin/ModelsController.php | 8 ++++++ app/routes.php | 1 + app/views/backend/hardware/edit.blade.php | 25 +++++++++++-------- .../models/custom_fields_form.blade.php | 13 ++++++++++ 4 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 app/views/backend/models/custom_fields_form.blade.php diff --git a/app/controllers/admin/ModelsController.php b/app/controllers/admin/ModelsController.php index 5cf4470129..e64f57a634 100755 --- a/app/controllers/admin/ModelsController.php +++ b/app/controllers/admin/ModelsController.php @@ -374,6 +374,14 @@ class ModelsController extends AdminController return $view; } + + + public function getCustomFields($modelId) + { + $model=Model::find($modelId); + return View::make("backend.models.custom_fields_form")->with("model",$model); + } + /** diff --git a/app/routes.php b/app/routes.php index 78cb344dbf..d4cc5c31bd 100755 --- a/app/routes.php +++ b/app/routes.php @@ -218,6 +218,7 @@ Route::get( '{modelId}/delete', [ 'as' => 'delete/model', 'uses' => 'ModelsController@getDelete' ] ); Route::get( '{modelId}/view', [ 'as' => 'view/model', 'uses' => 'ModelsController@getView' ] ); Route::get( '{modelID}/restore', [ 'as' => 'restore/model', 'uses' => 'ModelsController@getRestore' ] ); + Route::get( '{modelId}/custom_fields',['as' => 'custom_fields/model','uses' => 'ModelsController@getCustomFields']); } ); Route::get( '/', [ diff --git a/app/views/backend/hardware/edit.blade.php b/app/views/backend/hardware/edit.blade.php index 9ae8623620..167e927601 100755 --- a/app/views/backend/hardware/edit.blade.php +++ b/app/views/backend/hardware/edit.blade.php @@ -311,18 +311,12 @@ +
@if($asset->model && $asset->model->fieldset) -

Custom Fields

- @foreach($asset->model->fieldset->fields AS $field) -
- -
- -
-
- @endforeach + @include("backend.models.custom_fields_form",["model" => $asset->model]) @endif +
@@ -363,7 +357,17 @@ - +$(function() { + $('#model_select_id').on("change",function () { + // console.warn("Model Id has changed!"); + var modelid=$('#model_select_id').val(); + console.warn("Model ID is: "+modelid); + $.get("/hardware/models/"+modelid+"/custom_fields",{_token: "{{ csrf_token() }}"},function (data) { + // console.warn("Ajax call came back okay! Data is: "+data); + $('#custom_fields_content').html(data); + }) + }); +}); $(function() { user_add($(".status_id option:selected").val()); @@ -467,7 +471,6 @@ $(function () { data._token = '{{ csrf_token() }}', //console.dir(data); - data._token = '{{ csrf_token() }}', $.post("{{Config::get('app.url')}}/api/"+model+"s",data,function (result) { var id=result.id; diff --git a/app/views/backend/models/custom_fields_form.blade.php b/app/views/backend/models/custom_fields_form.blade.php new file mode 100644 index 0000000000..27dc46da76 --- /dev/null +++ b/app/views/backend/models/custom_fields_form.blade.php @@ -0,0 +1,13 @@ +@if($model->fieldset) +

Custom Fields

+@foreach($model->fieldset->fields AS $field) +
+ +
+ +
+
+@endforeach +@else +No Custom Fields Defined +@endif