*/ class HelptopicController extends Controller { /** * Create a new controller instance. * * @return type vodi */ public function __construct() { $this->middleware('auth'); $this->middleware('roles'); } /** * Display a listing of the resource. * * @param type Help_topic $topic * * @return type Response */ public function index(Help_topic $topic) { try { $topics = $topic->get(); return view('themes.default1.admin.helpdesk.manage.helptopic.index', compact('topics')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } /** * Show the form for creating a new resource. * * @param type Priority $priority * @param type Department $department * @param type Help_topic $topic * @param type Form_name $form * @param type Agents $agent * @param type Sla_plan $sla * * @return type Response */ /* ================================================ | Route to Create view file passing Model Values | 1.Department Model | 2.Help_topic Model | 3.Agents Model | 4.Sla_plan Model | 5.Forms Model ================================================ */ public function create(Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, User $agent, Sla_plan $sla) { try { $departments = $department->get(); $topics = $topic->get(); $forms = $form->get(); $agents = $agent->where('role', '=', 'agent')->get(); $slas = $sla->get(); $priority = $priority->get(); return view('themes.default1.admin.helpdesk.manage.helptopic.create', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } /** * Store a newly created resource in storage. * * @param type Help_topic $topic * @param type HelptopicRequest $request * * @return type Response */ public function store(Help_topic $topic, HelptopicRequest $request) { try { if ($request->custom_form) { $custom_form = $request->custom_form; } else { $custom_form = null; } if ($request->auto_assign) { $auto_assign = $request->auto_assign; } else { $auto_assign = null; } /* Check whether function success or not */ $topic->fill($request->except('custom_form', 'auto_assign'))->save(); // $topics->fill($request->except('custom_form','auto_assign'))->save(); /* redirect to Index page with Success Message */ return redirect('helptopic')->with('success', Lang::get('lang.helptopic_created_successfully')); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('helptopic')->with('fails', Lang::get('lang.helptopic_can_not_create').'
  • '.$e->getMessage().'
  • '); } } /** * Show the form for editing the specified resource. * * @param type $id * @param type Priority $priority * @param type Department $department * @param type Help_topic $topic * @param type Form_name $form * @param type Agents $agent * @param type Sla_plan $sla * * @return type Response */ public function edit($id, Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, Sla_plan $sla) { try { $agents = User::where('role', '=', 'agent')->get(); $departments = $department->get(); $topics = $topic->whereId($id)->first(); $forms = $form->get(); $slas = $sla->get(); $priority = $priority->get(); $sys_help_topic = \DB::table('settings_ticket') ->select('help_topic') ->where('id', '=', 1)->first(); return view('themes.default1.admin.helpdesk.manage.helptopic.edit', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas', 'sys_help_topic')); } catch (Exception $e) { return redirect('helptopic')->with('fails', '
  • '.$e->getMessage().'
  • '); } } /** * Update the specified resource in storage. * * @param type $id * @param type Help_topic $topic * @param type HelptopicUpdate $request * * @return type Response */ public function update($id, Help_topic $topic, HelptopicUpdate $request) { try { $topics = $topic->whereId($id)->first(); if ($request->custom_form) { $custom_form = $request->custom_form; } else { $custom_form = null; } if ($request->auto_assign) { $auto_assign = $request->auto_assign; } else { $auto_assign = null; } /* Check whether function success or not */ $topics->fill($request->except('custom_form', 'auto_assign'))->save(); $topics->custom_form = $custom_form; $topics->auto_assign = $auto_assign; $topics->save(); if ($request->input('sys_help_tpoic') == 'on') { \DB::table('settings_ticket') ->where('id', '=', 1) ->update(['help_topic' => $id]); } /* redirect to Index page with Success Message */ return redirect('helptopic')->with('success', Lang::get('lang.helptopic_updated_successfully')); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('helptopic')->with('fails', Lang::get('lang.helptopic_can_not_update').'
  • '.$e->getMessage().'
  • '); } } /** * Remove the specified resource from storage. * * @param type int $id * @param type Help_topic $topic * * @return type Response */ public function destroy($id, Help_topic $topic, Ticket $ticket_setting) { $ticket_settings = $ticket_setting->where('id', '=', '1')->first(); if ($ticket_settings->help_topic == $id) { return redirect('departments')->with('fails', Lang::get('lang.you_cannot_delete_default_department')); } else { $tickets = DB::table('tickets')->where('help_topic_id', '=', $id)->update(['help_topic_id' => $ticket_settings->help_topic]); if ($tickets > 0) { if ($tickets > 1) { $text_tickets = 'Tickets'; } else { $text_tickets = 'Ticket'; } $ticket = '
  • '.$tickets.' '.$text_tickets.Lang::get('lang.have_been_moved_to_default_help_topic').'
  • '; } else { $ticket = ''; } $emails = DB::table('emails')->where('help_topic', '=', $id)->update(['help_topic' => $ticket_settings->help_topic]); if ($emails > 0) { if ($emails > 1) { $text_emails = 'Emails'; } else { $text_emails = 'Email'; } $email = '
  • '.$emails.' System '.$text_emails.Lang::get('lang.have_been_moved_to_default_help_topic').'
  • '; } else { $email = ''; } $message = $ticket.$email; $topics = $topic->whereId($id)->first(); /* Check whether function success or not */ try { $topics->delete(); /* redirect to Index page with Success Message */ return redirect('helptopic')->with('success', Lang::get('lang.helptopic_deleted_successfully').$message); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('helptopic')->with('fails', Lang::get('lang.helptopic_can_not_update').'
  • '.$e->getMessage().'
  • '); } } } }