public function postModalFilter(Request $request) { if ($request->has('select_field') && $request->input('select_field') !== '') { $category = $request->input('category'); $type = $request->input('type'); if ($type == 'indicator') { $display = 'all'; } else { $display = 'user'; } $category_id = $request->input('category_id'); $node_id = $request->input('node_id'); $node = \Solunes\Master\App\Node::find($node_id); $field = $node->fields()->where('name', $request->input('select_field'))->first(); if ($field->type == 'date') { $subtype = 'date'; } else { if ($field->type == 'string' || $field->type == 'text') { $subtype = 'string'; } else { if ($field->type == 'field') { $subtype = 'field'; } else { $subtype = 'select'; } } } $filter = new \Solunes\Master\App\Filter(); $filter->category = $category; $filter->category_id = $category_id; $filter->node_id = $node_id; $filter->user_id = auth()->user()->id; $filter->display = $display; $filter->type = $type; $filter->subtype = $subtype; $filter->parameter = $request->input('select_field'); $filter->save(); $url = $this->prev; if (strpos($url, '?') !== false) { $url .= '&search=1'; } else { $url .= '?search=1'; } return redirect($url); } else { return redirect($this->prev)->with('message_error', 'Debe seleccionar un campo para filtrar'); } }