public function postStore() { $input = \Input::all(); if ($input['parent_id']) { $parentApplication = \Application::find($input['parent_id']); } else { $parentApplication = $this->application; } $validation = \Validator::make($input, \Application::$rules); // dd($input); if ($validation->passes()) { $newApp = new \Application(); $newApp->name = $input['name']; $newApp->user_id = \Auth::user()->id; //$newApp->parent_id = $parentApplication->id; $newApp->cms_package = $parentApplication->cms_package; $parentApplication->children()->save($newApp); //TODO: Fix baum here - not saving correctly \Application::rebuild(); //we need to do the urls.. $domains = explode(',', $input['domain']); $appUrls = []; foreach ($domains as $domain) { $appUrl = new \ApplicationUrl(); $appUrl->domain = $domain; $appUrl->folder = '/'; //TODO: folders - is this ever going to work? $appUrls[] = $appUrl; } $newApp->url()->saveMany($appUrls); //and the plugins $parentPlugins = $parentApplication->plugins()->get(); foreach ($parentPlugins as $parentPlugin) { $newApp->plugins()->attach($parentPlugin->id); //associate($parentPlugin) } return redirect()->action('\\Bootleg\\Cms\\ApplicationController@anyIndex')->with(['success' => 'Application Succesfully Created']); } \Request::flash(); return redirect()->back()->withErrors($validation->errors()); }