/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function anyEdit($id = false) { $content = $this->content->with(array('template_setting', 'setting'))->findOrFail($id); //dd($content->setting); //$permission = Permission::getPermission('content', $content->id, 'w'); //$allPermissions = Permission::getContentPermissions($id); $allPermissions = \Permission::getControllerPermission($id, \Route::currentRouteAction()); //foreach template setting we want to add a setting for this row.. //dd($content->template_setting); if (!empty($content->template_setting)) { //TODO: There has to be a cleaner way of doing this. $all_settings = new \Illuminate\Database\Eloquent\Collection(); foreach ($content->template_setting as $template_setting) { $fl = $content->setting->filter(function ($setting) use($template_setting) { return $template_setting->name === $setting->name; }); if ($fl->count()) { foreach ($fl as $f) { //if it's fount int content_settings and template_settings, use $all_settings->push($f); } } else { $all_settings->push($template_setting); } } foreach ($content->setting as $setting) { $fl = $content->template_setting->filter(function ($template_setting) use($setting) { return $setting->name === $template_setting->name; }); if ($fl->count() == 0) { $all_settings->push($setting); } } } $settings = $all_settings->groupBy('section'); //dd($content->edit_package); //dd($content->edit_service_provider); //App::register($content->edit_service_provider); //we need to register any additional sp.. incase we have some weird edit page. $content = \Content::setDefaults($content); //dd($content->edit_package.'::'.$content->edit_view); if (\Request::ajax()) { return $this->render($content->edit_view, compact('content', 'content_defaults', 'settings', 'allPermissions')); } else { $tree = $content->getDescendants(config('bootlegcms.cms_tree_descendents')); return $this->render('layouts.tree', compact('content', 'content_defaults', 'settings', 'allPermissions')); } }