toastr = $toastr; } /** * Mass PM Form * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function massPM() { return view('Staff.masspm.index'); } /** * Send The Mass PM * * @param \Illuminate\Http\Request $request * @return Illuminate\Http\RedirectResponse */ public function sendMassPM(Request $request) { $staff = auth()->user(); $users = User::all(); $subject = $request->input('subject'); $message = $request->input('message'); $v = validator($request->all(), [ 'subject' => "required|min:5", 'message' => "required|min:5" ]); if ($v->fails()) { return redirect()->route('massPM') ->with($this->toastr->error($v->errors()->toJson(), 'Whoops!', ['options'])); } else { foreach ($users as $user) { $sender_id = 1; $this->dispatch(new ProcessMassPM($sender_id, $user->id, $subject, $message)); } // Activity Log \LogActivity::addToLog("Staff Member {$staff->username} has sent a MassPM."); return redirect()->route('massPM') ->with($this->toastr->success('MassPM Sent', 'Yay!', ['options'])); } } }