*/ class SlaController extends Controller { /** * Create a new controller instance. * @return type void */ public function __construct() { $this->middleware('auth'); $this->middleware('roles'); } /** * Display a listing of the resource. * @param type Sla_plan $sla * @return type Response */ public function index(Sla_plan $sla) { try { /* Declare a Variable $slas to store all Values From Sla_plan Table */ $slas = $sla->get(); /* Listing the values From Sla_plan Table */ return view('themes.default1.admin.helpdesk.manage.sla.index', compact('slas')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->errorInfo[2]); } } /** * Show the form for creating a new resource. * @return type Response */ public function create() { try { /* Direct to Create Page */ return view('themes.default1.admin.helpdesk.manage.sla.create'); } catch (Exception $e) { return redirect()->back()->with('fails', $e->errorInfo[2]); } } /** * Store a newly created resource in storage. * @param type Sla_plan $sla * @param type SlaRequest $request * @return type Response */ public function store(Sla_plan $sla, SlaRequest $request) { try { /* Fill the request values to Sla_plan Table */ /* Check whether function success or not */ $sla->fill($request->input())->save(); /* redirect to Index page with Success Message */ return redirect('sla')->with('success', 'SLA Plan Created Successfully'); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('sla')->with('fails', 'SLA Plan can not Create' . '
  • ' . $e->errorInfo[2] . '
  • '); } } /** * Show the form for editing the specified resource. * @param type int $id * @param type Sla_plan $sla * @return type Response */ public function edit($id, Sla_plan $sla) { try { /* Direct to edit page along values of perticular field using Id */ $slas = $sla->whereId($id)->first(); $slas->get(); return view('themes.default1.admin.helpdesk.manage.sla.edit', compact('slas')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->errorInfo[2]); } } /** * Update the specified resource in storage. * @param type int $id * @param type Sla_plan $sla * @param type SlaUpdate $request * @return type Response */ public function update($id, Sla_plan $sla, SlaUpdate $request) { try { /* Fill values to selected field using Id except Check box */ $slas = $sla->whereId($id)->first(); $slas->fill($request->except('transient', 'ticket_overdue'))->save(); /* Update transient checkox field */ $slas->transient = $request->input('transient'); /* Update ticket_overdue checkox field */ $slas->ticket_overdue = $request->input('ticket_overdue'); /* Check whether function success or not */ $slas->save(); /* redirect to Index page with Success Message */ return redirect('sla')->with('success', 'SLA Plan Updated Successfully'); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('sla')->with('fails', 'SLA Plan can not Update' . '
  • ' . $e->errorInfo[2] . '
  • '); } } /** * Remove the specified resource from storage. * @param type int $id * @param type Sla_plan $sla * @return type Response */ public function destroy($id, Sla_plan $sla) { $default_sla = Ticket::where('id', '=', '1')->first(); if ($default_sla->sla == $id) { return redirect('departments')->with('fails', 'You cannot delete default department'); } else { $tickets = DB::table('tickets')->where('sla', '=', $id)->update(['sla' => $default_sla->sla]); if ($tickets > 0) { if ($tickets > 1) { $text_tickets = "Tickets"; } else { $text_tickets = "Ticket"; } $ticket = '
  • ' . $tickets . ' ' . $text_tickets . ' have been moved to default SLA
  • '; } else { $ticket = ""; } $dept = DB::table('department')->where('sla', '=', $id)->update(['sla' => $default_sla->sla]); if ($dept > 0) { if ($dept > 1) { $text_dept = "Emails"; } else { $text_dept = "Email"; } $dept = '
  • Associated department have been moved to default SLA
  • '; } else { $dept = ""; } $topic = DB::table('help_topic')->where('sla_plan', '=', $id)->update(['sla_plan' => $default_sla->sla]); if ($topic > 0) { if ($topic > 1) { $text_topic = "Emails"; } else { $text_topic = "Email"; } $topic = '
  • Associated Help Topic have been moved to default SLA
  • '; } else { $topic = ""; } $message = $ticket . $dept . $topic; /* Delete a perticular field from the database by delete() using Id */ $slas = $sla->whereId($id)->first(); /* Check whether function success or not */ try { $slas->delete(); /* redirect to Index page with Success Message */ return redirect('sla')->with('success', 'SLA Plan Deleted Successfully' . $message); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('sla')->with('fails', 'SLA Plan can not Delete' . '
  • ' . $e->errorInfo[2] . '
  • '); } } } }