Fixes #1684 - Allow editing of custom fields

@uberbrady can finally get out of the sea
This commit is contained in:
snipe 2017-01-25 04:34:11 -08:00
parent 7350514a0d
commit b1a80f8ed8
5 changed files with 50 additions and 25 deletions

View file

@ -55,7 +55,8 @@ class CustomFieldsController extends Controller
*/ */
public function create() public function create()
{ {
return View::make("custom_fields.create_field");
return View::make("custom_fields.fields.edit")->with('field', new CustomField());
} }
@ -85,9 +86,8 @@ class CustomFieldsController extends Controller
$field->format = e($request->get("format")); $field->format = e($request->get("format"));
} }
$validator = Validator::make(Input::all(), $field->rules); $validator = Validator::make(Input::all(), $field->rules);
if ($validator->passes()) { if ($validator->passes()) {
$results = $field->save(); $results = $field->save();
if ($results) { if ($results) {
@ -142,32 +142,56 @@ class CustomFieldsController extends Controller
/** /**
* What the actual fuck, Brady? * Return a view to edit a custom field
* *
* @todo Uhh, build this? * @author [A. Gianotto] [<snipe@snipe.net>]
* @author [Brady Wetherington] [<uberbrady@gmail.com>]
* @param int $id * @param int $id
* @since [v1.8] * @since [v4.0]
* @return Fuckall * @return View
*/ */
public function edit($id) public function edit($id)
{ {
// $field = CustomField::find($id);
return View::make("custom_fields.fields.edit")->with('field', $field);
} }
/** /**
* GET IN THE SEA BRADY. * Store the updated field
* *
* @todo Uhh, build this too? * @todo Allow encrypting/decrypting if encryption status changes
* @author [Brady Wetherington] [<uberbrady@gmail.com>] *
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $id * @param int $id
* @since [v1.8] * @since [v4.0]
* @return Fuckall * @return Redirect
*/ */
public function update($id) public function update(Request $request, $id)
{ {
// $field = CustomField::find($id);
$field->name = e($request->get("name"));
$field->element = e($request->get("element"));
$field->field_values = e($request->get("field_values"));
$field->field_encrypted = e($request->get("field_encrypted", 0));
$field->user_id = Auth::user()->id;
if (!in_array(Input::get('format'), array_keys(CustomField::$PredefinedFormats))) {
$field->format = e($request->get("custom_format"));
} else {
$field->format = e($request->get("format"));
}
$validator = Validator::make(Input::all(), $field->rules);
$validator = Validator::make(Input::all(), $field->rules);
if ($validator->passes()) {
$field->save();
return redirect()->route("fields.index")->with("success", trans('admin/custom_fields/message.field.update.success'));
}
return redirect()->back()->withInput()->withErrors($validator);
} }

View file

@ -7,10 +7,6 @@ use Schema;
class CustomField extends Model class CustomField extends Model
{ {
public $guarded=["id"]; public $guarded=["id"];
/**
*/
public static $PredefinedFormats=[ public static $PredefinedFormats=[
"ANY" => "", "ANY" => "",
"ALPHA" => "alpha", "ALPHA" => "alpha",

View file

@ -103,6 +103,9 @@
</td> </td>
<td> <td>
{{ Form::open(array('route' => array('fields.destroy', $field->id), 'method' => 'delete')) }} {{ Form::open(array('route' => array('fields.destroy', $field->id), 'method' => 'delete')) }}
<nobr>
<a href="{{ route('fields.edit', $field->id) }}" class="btn btn-warning btn-sm"><i class="fa fa-pencil"></i></a>
@if($field->fieldset->count()>0) @if($field->fieldset->count()>0)
<button type="submit" class="btn btn-danger btn-sm disabled" disabled><i class="fa fa-trash"></i></button> <button type="submit" class="btn btn-danger btn-sm disabled" disabled><i class="fa fa-trash"></i></button>
@ -110,6 +113,7 @@
<button type="submit" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></button> <button type="submit" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></button>
@endif @endif
{{ Form::close() }} {{ Form::close() }}
</nobr>
</td> </td>
</tr> </tr>
@endforeach @endforeach

View file

@ -218,7 +218,7 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () {
Route::group([ 'prefix' => 'accessories' ], function () { Route::group([ 'prefix' => 'accessories' ], function () {
Route::match(['DELETE'], '{id}', ['uses' => 'AccessoriessController@destroy','as' => 'api.accessories.destroy']); Route::match(['DELETE'], '{id}', ['uses' => 'AccessoriesController@destroy','as' => 'api.accessories.destroy']);
Route::get( Route::get(
'{id}/checkedout', '{id}/checkedout',
[ 'as' => 'api.accessories.checkedout', 'uses' => 'AccessoriesController@checkedout' ] [ 'as' => 'api.accessories.checkedout', 'uses' => 'AccessoriesController@checkedout' ]

View file

@ -4,9 +4,6 @@
*/ */
Route::resource('fields', 'CustomFieldsController', [
'parameters' => ['field' => 'field_id', 'fieldset' => 'fieldset_id']
]);
Route::group([ 'prefix' => 'fields' ], function () { Route::group([ 'prefix' => 'fields' ], function () {
@ -24,3 +21,7 @@ Route::group([ 'prefix' => 'fields' ], function () {
'parameters' => ['fieldset' => 'field_id', 'field' => 'field_id'] 'parameters' => ['fieldset' => 'field_id', 'field' => 'field_id']
]); ]);
}); });
Route::resource('fields', 'CustomFieldsController', [
'parameters' => ['field' => 'field_id', 'fieldset' => 'fieldset_id']
]);