public function __construct(Request $request) { $this->currentModel = new Content(); $this->langModel = new ContentLang(); $this->validation = \Validator::make($request->all(), ['name' => 'required:structure|max:255']); $modelStructure = new Structure(); $treeStructure = $modelStructure->get()->sortBy('position'); foreach ($treeStructure as $key => $struct) { $lang = StructureLang::where(['structure_id' => $struct['id'], 'language_id' => FormLang::getCurrentLang()])->first(); if ($lang) { $treeStructure[$key]->name = $lang->name; $treeStructure[$key]->link = action('\\Application\\Admin\\Http\\Controllers\\StructureController@getEdit', ['id' => $struct['id']]); } else { unset($treeStructure[$key]); } } $treeStructure->linkNodes(); $str = $treeStructure->toArray(); $witgetStructureTree = new TreeBuilder(); $TreeStructure = $witgetStructureTree->view($str, '<ul>{val}</ul>', '<li data-href="/admin/content/structure/{id}">{name}</li>', '<li data-href="/admin/content/structure/{id}" class="folder expanded">{name}<ul>{|}</ul></li>'); view()->share('StructureTree', $TreeStructure); view()->share('id_structure', $request->route('id_structure')); $this->itemName = 'Content'; $this->template = 'content'; $this->layout = 'dual_sidebars'; parent::__construct(); }
/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function postUpdate(Request $request, $id) { $this->validation->mergeRules('alias', ['required', 'regex:/^[a-zа-я\\d-]+$/', 'max:255']); if ($this->validation->fails()) { return $this->validation->errors()->toJson(); } $objectStructure = $this->currentModel->find($id); $data = $request->all(); $objectStructure->alias = $data['alias']; $objectStructure->parent_id = $data['parent_id']; $objectStructure->controller = $data['controller']; $objectStructure->save(); $langStructure = $this->langModel->where('structure_id', $id)->where('language_id', FormLang::getCurrentLang())->first(); if ($langStructure) { $langStructure->name = $data['name']; $langStructure->description = $data['description']; $langStructure->save(); } else { $langStructure = new StructureLang(); $langStructure->structure_id = $objectStructure->id; $langStructure->language_id = FormLang::getCurrentLang(); $langStructure->name = $data['name']; $langStructure->description = $data['description']; $langStructure->save(); } return Main::redirect('', '302', 'Structure was saved', 'Saved', 'success'); }