/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, $node_id) { $data = $request->all(); $rules = $this->provider->rules($data['module']); $validator = Validator::make($data, $rules); //TODO if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } $data = Data::checkActive($data); $data = Data::renameField($data, 'module', 'module_id'); // dd($data); // Create Module $module = $this->provider->store($data); $data = Data::addField($data, 'row', $module['id']); //Create Element $element = \App\Element::create($data); $element->save(); $data = Data::addField($data, 'node_id', $node_id); $data = Data::addField($data, 'element_id', $element->id); $content = \App\Content::create($data)->save(); //todo: flash message return redirect()->route('admin.element.index', ['node' => $node_id]); }