/** * @param \Seat\Notifications\Http\Validation\GroupIntegration $request * * @return \Illuminate\Http\RedirectResponse */ public function postAddIntegrations(GroupIntegration $request) { $group = NotificationGroup::findOrFail($request->input('id')); // Attach the integrations to the group. foreach ($request->integrations as $integration_id) { $integration = Integration::find($integration_id); // Make sure only one integration type is added. if ($group->integrations->contains('type', $integration->type)) { return redirect()->back()->with('warning', 'A ' . $integration->type . ' integration already exists. Please choose another type.'); } // Add the integration if (!$group->integrations->contains($integration_id)) { $group->integrations()->attach(Integration::findOrFail($integration_id)); } } return redirect()->back()->with('success', 'Integrations Added!'); }
/** * @param \Seat\Notifications\Http\Validation\SlackIntegration $request * * @return \Illuminate\Http\RedirectResponse */ public function postNewSlack(SlackIntegration $request) { Integration::create(['name' => $request->input('name'), 'settings' => ['url' => $request->input('url')], 'type' => 'slack']); return redirect()->route('notifications.integrations.list')->with('success', 'Slack Integration Added!'); }