*/ class EmailsController extends Controller { /** * Create a new controller instance. * * @return type */ public function __construct() { $this->middleware('auth'); $this->middleware('roles'); } /** * Display a listing of the resource. * * @param type Emails $emails * * @return type Response */ public function index(Emails $emails) { try { $emails = $emails->get(); return view('themes.default1.admin.helpdesk.emails.emails.index', compact('emails')); } catch (Exception $e) { return view('404'); } } /** * Show the form for creating a new resource. * * @param type Department $department * @param type Help_topic $help * @param type Priority $priority * @param type MailboxProtocol $mailbox_protocol * * @return type Response */ public function create(Department $department, Help_topic $help, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) { try { $departments = $department->get(); $helps = $help->get(); $priority = $priority->get(); $mailbox_protocols = $mailbox_protocol->get(); return view('themes.default1.admin.helpdesk.emails.emails.create', compact('mailbox_protocols', 'priority', 'departments', 'helps')); } catch (Exception $e) { return view('404'); } } /** * Store a newly created resource in storage. * * @param type Emails $email * @param type EmailsRequest $request * * @return type Response */ public function store(Emails $email, EmailsRequest $request) { try { $password = $request->input('password'); $encrypted = Crypt::encrypt($password); $department = $request->input('department'); $priority = $request->input('priority'); $help_topic = $request->input('help_topic'); if ($email->fill($request->except('password', 'department', 'priority', 'help_topic'))->save() == true) { if ($request->input('department')) { $email->department = $request->input('department'); } else { $email->department = null; } if ($request->input('priority')) { $email->priority = $request->input('priority'); } else { $email->priority = null; } if ($request->input('help_topic')) { $email->help_topic = $request->input('help_topic'); } else { $email->help_topic = null; } $email->password = $encrypted; $email->save(); $email_settings = Email::where('id', '=', '1')->first(); $email_settings->sys_email = $email->id; $email_settings->save(); return redirect('emails')->with('success', 'Email Created sucessfully'); } else { return redirect('emails')->with('fails', 'Email can not Create'); } } catch (Exception $e) { return redirect('emails')->with('fails', 'Email can not Create'); } } /** * Display the specified resource. * * @param int $id * * @return Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param type int $id * @param type Department $department * @param type Help_topic $help * @param type Emails $email * @param type Priority $priority * @param type MailboxProtocol $mailbox_protocol * * @return type Response */ public function edit($id, Department $department, Help_topic $help, Emails $email, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) { try { $emails = $email->whereId($id)->first(); $departments = $department->get(); $helps = $help->get(); $priority = $priority->get(); $mailbox_protocols = $mailbox_protocol->get(); return view('themes.default1.admin.helpdesk.emails.emails.edit', compact('mailbox_protocols', 'priority', 'departments', 'helps', 'emails')); } catch (Exception $e) { return view('404'); } } /** * Update the specified resource in storage. * * @param type $id * @param type Emails $email * @param type EmailsEditRequest $request * * @return type Response */ public function update($id, Emails $email, EmailsEditRequest $request) { $password = $request->input('password'); $encrypted = Crypt::encrypt($password); //echo $encrypted; //$value = Crypt::decrypt($encrypted); //echo $value; try { $emails = $email->whereId($id)->first(); // $emails->password = $encrypted; $emails->fill($request->except('password', 'department', 'priority', 'help_topic'))->save(); if ($request->input('department')) { $emails->department = $request->input('department'); } else { $emails->department = null; } if ($request->input('priority')) { $emails->priority = $request->input('priority'); } else { $emails->priority = null; } if ($request->input('help_topic')) { $emails->help_topic = $request->input('help_topic'); } else { $emails->help_topic = null; } $emails->password = $encrypted; $emails->save(); return redirect('emails')->with('success', 'Email Updated sucessfully'); } catch (Exception $e) { return redirect('emails')->with('fails', 'Email not updated'); } } /** * Remove the specified resource from storage. * * @param type int $id * @param type Emails $email * * @return type Response */ public function destroy($id, Emails $email) { $default_system_email = Email::where('id', '=', '1')->first(); if ($default_system_email->sys_email) { if ($id == $default_system_email->sys_email) { return redirect('emails')->with('fails', 'You cannot delete system default Email'); } } try { $emails = $email->whereId($id)->first(); if ($emails->delete() == true) { return redirect('emails')->with('success', 'Email Deleted sucessfully'); } else { return redirect('emails')->with('fails', 'Email can not Delete '); } } catch (Exception $e) { return redirect('emails')->with('fails', 'Email can not Delete '); } } }