/** * Handle the add component command. * * @param \CachetHQ\Cachet\Commands\Component\AddComponentCommand $command * * @return \CachetHQ\Cachet\Models\Component */ public function handle(AddComponentCommand $command) { $componentData = array_filter(['name' => $command->name, 'description' => $command->description, 'link' => $command->link, 'status' => $command->status, 'order' => $command->order, 'group_id' => $command->group_id]); $componentData['enabled'] = $command->enabled; $component = Component::create($componentData); event(new ComponentWasAddedEvent($component)); return $component; }
/** * Seed the components table. * * @return void */ protected function seedComponents() { $defaultComponents = [['name' => 'API', 'description' => 'Used by third-parties to connect to us', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => ''], ['name' => 'Documentation', 'description' => 'Kindly powered by Readme.io', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => 'https://docs.cachethq.io'], ['name' => 'Website', 'description' => '', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => 'https://cachethq.io'], ['name' => 'Blog', 'description' => 'The Cachet Blog.', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => 'https://blog.cachethq.io']]; Component::truncate(); foreach ($defaultComponents as $component) { Component::create($component); } }
/** * Run the database seeding. * * @return void */ public function run() { Model::unguard(); $defaultComponents = [["name" => "API", "description" => "Used by third-parties to connect to us", "status" => 1, "user_id" => 1], ["name" => "Payments", "description" => "Backed by Stripe", "status" => 1, "user_id" => 1], ["name" => "Website", "status" => 1, "user_id" => 1]]; Component::truncate(); foreach ($defaultComponents as $component) { Component::create($component); } }
/** * Create a new component. * * @param \Illuminate\Contracts\Auth\Guard $auth * * @return \CachetHQ\Cachet\Models\Component */ public function postComponents(Guard $auth) { $componentData = Binput::except('tags'); try { $component = Component::create($componentData); } catch (Exception $e) { throw new BadRequestHttpException(); } if (Binput::has('tags')) { // The component was added successfully, so now let's deal with the tags. $tags = preg_split('/ ?, ?/', Binput::get('tags')); // For every tag, do we need to create it? $componentTags = array_map(function ($taggable) use($component) { return Tag::firstOrCreate(['name' => $taggable])->id; }, $tags); $component->tags()->sync($componentTags); } return $this->item($component); }
/** * Handle the add component command. * * @param \CachetHQ\Cachet\Bus\Commands\Component\AddComponentCommand $command * * @return \CachetHQ\Cachet\Models\Component */ public function handle(AddComponentCommand $command) { $component = Component::create($this->filter($command)); event(new ComponentWasAddedEvent($component)); return $component; }
/** * Creates a new component. * * @return \Illuminate\Http\RedirectResponse */ public function createComponentAction() { $_component = Binput::get('component'); $component = Component::create($_component); return Redirect::back()->with('component', $component); }
/** * Creates a new component. * * @return \Illuminate\Http\RedirectResponse */ public function createComponentAction() { $_component = Binput::get('component'); // We deal with tags separately. $tags = array_pull($_component, 'tags'); try { $component = Component::create($_component); } catch (ValidationException $e) { return Redirect::back()->withInput(Binput::all())->withTitle(sprintf('%s %s', trans('dashboard.notifications.whoops'), trans('dashboard.components.add.failure')))->withErrors($e->getMessageBag()); } // The component was added successfully, so now let's deal with the tags. $tags = preg_split('/ ?, ?/', $tags); // For every tag, do we need to create it? $componentTags = array_map(function ($taggable) use($component) { return Tag::firstOrCreate(['name' => $taggable])->id; }, $tags); $component->tags()->sync($componentTags); return Redirect::back()->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.components.add.success'))); }
/** * Creates a new component. * * @return \Illuminate\Http\RedirectResponse */ public function createComponentAction() { $_component = Binput::get('component'); // We deal with tags separately. $tags = array_pull($_component, 'tags'); $component = Component::create($_component); if (!$component->isValid()) { segment_track('Dashboard', ['event' => 'Created Component', 'success' => false]); return Redirect::back()->withInput(Binput::all())->with('title', sprintf('%s %s', trans('dashboard.notifications.whoops'), trans('dashboard.components.add.failure')))->with('errors', $component->getErrors()); } segment_track('Dashboard', ['event' => 'Created Component', 'success' => true]); // The component was added successfully, so now let's deal with the tags. $tags = preg_split('/ ?, ?/', $tags); // For every tag, do we need to create it? $componentTags = array_map(function ($taggable) use($component) { return Tag::firstOrCreate(['name' => $taggable])->id; }, $tags); $component->tags()->sync($componentTags); $successMsg = sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.components.add.success')); return Redirect::back()->with('success', $successMsg); }
/** * Handle the add component command. * * @param \CachetHQ\Cachet\Commands\Component\AddComponentCommand $command * * @return \CachetHQ\Cachet\Models\Component */ public function handle(AddComponentCommand $command) { $component = Component::create(['name' => $command->name, 'description' => $command->description, 'link' => $command->link, 'status' => $command->status, 'order' => $command->order, 'group_id' => $command->group_id]); event(new ComponentWasAddedEvent($component)); return $component; }
/** * Seed the components table. * * @return void */ protected function seedComponents() { $defaultComponents = [['name' => 'API', 'description' => 'Used by third-parties to connect to us', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => ''], ['name' => 'Documentation', 'description' => 'Kindly powered by Readme.io', 'status' => 1, 'order' => 0, 'group_id' => 1, 'link' => 'https://docs.cachethq.io'], ['name' => 'Website', 'description' => '', 'status' => 1, 'order' => 0, 'group_id' => 1, 'link' => 'https://cachethq.io'], ['name' => 'Blog', 'description' => 'The Alt Three Blog.', 'status' => 1, 'order' => 0, 'group_id' => 2, 'link' => 'https://blog.alt-three.com'], ['name' => 'StyleCI', 'description' => 'The PHP Coding Style Service.', 'status' => 1, 'order' => 1, 'group_id' => 2, 'link' => 'https://styleci.io'], ['name' => 'Patreon Page', 'description' => 'Support future development of Cachet.', 'status' => 1, 'order' => 0, 'group_id' => 0, 'link' => 'https://patreon.com/jbrooksuk']]; Component::truncate(); foreach ($defaultComponents as $component) { Component::create($component); } }