Example #1
0
 public function updateFormFields(FormRequest $request)
 {
     foreach ($request->fields as $request_key => $request_value) {
         $field = Field::findOrNew($request_key);
         if (Gate::denies('hasFormAccess', $field)) {
             abort(403);
         }
         $field->name = $request_value['name'];
         $field->description = $request_value['description'];
         $field->type = $request_value['type'];
         $field->form_id = $this->id;
         $field->position = $request_value['position'];
         // Generate a blank Rules Array if needed
         $rules_array = !empty($request_value['rules']) ? $request_value['rules'] : array();
         $rules = new FieldRules($rules_array);
         $field->rules = implode('|', $rules->normalize());
         $field->save();
         if ($field->hasOptions()) {
             $this->updateFieldOptions($field, $request_value['fieldOptions']);
         }
     }
 }