middleware(['auth', 'roles']); } public function index() { try { $queue = new QueueService(); $queues = $queue->select('id', 'name', 'status')->get(); return view('themes.default1.admin.helpdesk.queue.index', compact('queues')); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function edit($id) { try { $queues = new QueueService(); $queue = $queues->find($id); if (! $queue) { throw new Exception('Sorry we can not find your request'); } return view('themes.default1.admin.helpdesk.queue.edit', compact('queue')); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function update($id, QueueRequest $request) { try { $values = $request->except('_token'); $queues = new QueueService(); $queue = $queues->find($id); if (! $queue) { throw new Exception('Sorry we can not find your request'); } $setting = new FaveoQueue(); $settings = $setting->where('service_id', $id)->get(); if ($settings->count() > 0) { foreach ($settings as $set) { $set->delete(); } } if (count($values) > 0) { foreach ($values as $key => $value) { $setting->create([ 'service_id' => $id, 'key' => $key, 'value' => $value, ]); } } return redirect()->back()->with('success', 'Updated'); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function activate($id) { try { $queues = new QueueService(); $queue = $queues->find($id); $active_queue = $queues->where('status', 1)->first(); if (! $queue) { throw new Exception('Sorry we can not find your request'); } if ($queue->isActivate() == false && $id != 1 && $id != 2) { throw new Exception("To activate $queue->name , Please configure it first"); } if ($active_queue) { $active_queue->status = 0; $active_queue->save(); } $queue->status = 1; $queue->save(); return redirect()->back()->with('success', 'Activated'); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function getForm(Request $request) { $queueid = $request->input('queueid'); $form = $this->getFormById($queueid); return $form; } public function getShortNameById($queueid) { $short = ''; $queues = new QueueService(); $queue = $queues->find($queueid); if ($queue) { $short = $queue->short_name; } return $short; } public function getIdByShortName($short) { $id = ''; $queues = new QueueService(); $queue = $queues->where('short_name', $short)->first(); if ($queue) { $id = $queue->id; } return $id; } public function getFormById($id) { $short = $this->getShortNameById($id); $form = ''; switch ($short) { case 'beanstalkd': $form .= "