App\Http\Controllers\CustomFieldsController Class Reference

This controller handles all actions related to Custom Asset Fields for the Snipe-IT Asset Management application. More...

Inheritance diagram for App\Http\Controllers\CustomFieldsController:
App\Http\Controllers\Controller

Public Member Functions

 index ()
 Returns a view with a listing of custom fields. More...
 
 create ()
 Returns a view with a form for creating a new custom fieldset. More...
 
 store ()
 Validates and stores a new custom fieldset. More...
 
 associate ($id)
 Associate the custom field with a custom fieldset. More...
 
 createField ()
 Returns a view with a form to create a new custom field. More...
 
 storeField ()
 Validates and stores a new custom field. More...
 
 deleteField ($field_id)
 Delete a custom field. More...
 
 show ($id)
 Validates and stores a new custom field. More...
 
 edit ($id)
 What the actual fuck, Brady? More...
 
 update ($id)
 GET IN THE SEA BRADY. More...
 
 destroy ($id)
 Validates a custom fieldset and then deletes if it has no models associated. More...
 

Detailed Description

This controller handles all actions related to Custom Asset Fields for the Snipe-IT Asset Management application.

Todo:

Improve documentation here.

Check for raw DB queries and try to convert them to query builder statements

Version
v2.0
Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]

Definition at line 24 of file CustomFieldsController.php.

Member Function Documentation

App\Http\Controllers\CustomFieldsController::associate (   $id)

Associate the custom field with a custom fieldset.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
View

Definition at line 86 of file CustomFieldsController.php.

87  {
88 
89  $set = CustomFieldset::find($id);
90 
91  foreach ($set->fields as $field) {
92  if ($field->id == Input::get('field_id')) {
93  return Redirect::route("admin.custom_fields.show", [$id])->withInput()->withErrors(['field_id' => trans('admin/custom_fields/message.field.already_added')]);
94  }
95  }
96 
97  $results=$set->fields()->attach(Input::get('field_id'), ["required" => (Input::get('required') == "on"),"order" => Input::get('order')]);
98 
99  return Redirect::route("admin.custom_fields.show", [$id])->with("success", trans('admin/custom_fields/message.field.create.assoc_success'));
100  }
App\Http\Controllers\CustomFieldsController::create ( )

Returns a view with a form for creating a new custom fieldset.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
View

Definition at line 52 of file CustomFieldsController.php.

53  {
54  //
55  return View::make("custom_fields.create");
56  }
App\Http\Controllers\CustomFieldsController::createField ( )

Returns a view with a form to create a new custom field.

See also
CustomFieldsController::storeField()
Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
View

Definition at line 111 of file CustomFieldsController.php.

112  {
113  return View::make("custom_fields.create_field");
114  }
App\Http\Controllers\CustomFieldsController::deleteField (   $field_id)

Delete a custom field.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
Redirect

Definition at line 157 of file CustomFieldsController.php.

158  {
159  $field=CustomField::find($field_id);
160 
161  if ($field->fieldset->count()>0) {
162  return Redirect::back()->withErrors(['message' => "Field is in-use"]);
163  } else {
164  $field->delete();
165  return Redirect::route("admin.custom_fields.index")->with("success", trans('admin/custom_fields/message.field.delete.success'));
166  }
167  }
App\Http\Controllers\CustomFieldsController::destroy (   $id)

Validates a custom fieldset and then deletes if it has no models associated.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Parameters
int$id
Since
[v1.8]
Returns
View

Definition at line 240 of file CustomFieldsController.php.

241  {
242  //
243  $fieldset=CustomFieldset::find($id);
244 
245  $models = AssetModel::where("fieldset_id", "=", $id);
246  if ($models->count()==0) {
247  $fieldset->delete();
248  return Redirect::route("admin.custom_fields.index")->with("success", trans('admin/custom_fields/message.fieldset.delete.success'));
249  } else {
250  return Redirect::route("admin.custom_fields.index")->with("error", trans('admin/custom_fields/message.fieldset.delete.in_use')); //->with("models",$models);
251  }
252  }
App\Http\Controllers\CustomFieldsController::edit (   $id)

What the actual fuck, Brady?

Todo:
Uhh, build this?
Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Parameters
int$id
Since
[v1.8]
Returns
Fuckall

Definition at line 211 of file CustomFieldsController.php.

212  {
213  //
214  }
App\Http\Controllers\CustomFieldsController::index ( )

Returns a view with a listing of custom fields.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
View

Definition at line 34 of file CustomFieldsController.php.

35  {
36  //
37  $fieldsets=CustomFieldset::with("fields", "models")->get();
38  //$fieldsets=CustomFieldset::all();
39  $fields=CustomField::with("fieldset")->get();
40  //$fields=CustomField::all();
41  return View::make("custom_fields.index")->with("custom_fieldsets", $fieldsets)->with("custom_fields", $fields);
42  }
App\Http\Controllers\CustomFieldsController::show (   $id)

Validates and stores a new custom field.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Parameters
int$id
Since
[v1.8]
Returns
View

Definition at line 177 of file CustomFieldsController.php.

178  {
179  //$id=$parameters[0];
180  $cfset=CustomFieldset::find($id);
181 
182  //print_r($parameters);
183  //
184  $custom_fields_list=["" => "Add New Field to Fieldset"] + CustomField::lists("name", "id")->toArray();
185  // print_r($custom_fields_list);
186  $maxid=0;
187  foreach ($cfset->fields as $field) {
188  // print "Looking for: ".$field->id;
189  if ($field->pivot->order > $maxid) {
190  $maxid=$field->pivot->order;
191  }
192  if (isset($custom_fields_list[$field->id])) {
193  // print "Found ".$field->id.", so removing it.<br>";
194  unset($custom_fields_list[$field->id]);
195  }
196  }
197 
198  return View::make("custom_fields.show")->with("custom_fieldset", $cfset)->with("maxid", $maxid+1)->with("custom_fields_list", $custom_fields_list);
199  }
App\Http\Controllers\CustomFieldsController::store ( )

Validates and stores a new custom fieldset.

Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
Redirect

Definition at line 66 of file CustomFieldsController.php.

67  {
68  //
69  $cfset=new CustomFieldset(["name" => Input::get("name"),"user_id" => Auth::user()->id]);
70  $validator=Validator::make(Input::all(), $cfset->rules);
71  if ($validator->passes()) {
72  $cfset->save();
73  return Redirect::route("admin.custom_fields.show", [$cfset->id])->with('success', trans('admin/custom_fields/message.fieldset.create.success'));
74  } else {
75  return Redirect::back()->withInput()->withErrors($validator);
76  }
77  }
App\Http\Controllers\CustomFieldsController::storeField ( )

Validates and stores a new custom field.

See also
CustomFieldsController::createField()
Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Since
[v1.8]
Returns
Redirect

Definition at line 125 of file CustomFieldsController.php.

126  {
127  $field=new CustomField(["name" => Input::get("name"),"element" => Input::get("element"),"user_id" => Auth::user()->id]);
128 
129 
130  if (!in_array(Input::get('format'), array_keys(CustomField::$PredefinedFormats))) {
131  $field->format=Input::get("custom_format");
132  } else {
133  $field->format=Input::get('format');
134  }
135 
136  $validator=Validator::make(Input::all(), $field->rules);
137  if ($validator->passes()) {
138  $results=$field->save();
139  //return "postCreateField: $results";
140  if ($results) {
141  return Redirect::route("admin.custom_fields.index")->with("success", trans('admin/custom_fields/message.field.create.success'));
142  } else {
143  return Redirect::back()->withInput()->with('error', trans('admin/custom_fields/message.field.create.error'));
144  }
145  } else {
146  return Redirect::back()->withInput()->withErrors($validator);
147  }
148  }
App\Http\Controllers\CustomFieldsController::update (   $id)

GET IN THE SEA BRADY.

Todo:
Uhh, build this too?
Author
[Brady Wetherington] [uberb.nosp@m.rady.nosp@m.@gmai.nosp@m.l.co.nosp@m.m]
Parameters
int$id
Since
[v1.8]
Returns
Fuckall

Definition at line 226 of file CustomFieldsController.php.

227  {
228  //
229  }

The documentation for this class was generated from the following file: