/**
  * 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;
 }
Example #2
0
 /**
  * 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);
     }
 }
Example #4
0
 /**
  * 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')));
 }
Example #8
0
 /**
  * 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;
 }
Example #10
0
 /**
  * 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);
     }
 }