input('month', Carbon::now()->format('Y-m')); $user = Auth::user(); $administrations = $this->userService->getDashboard($user, $selectedMonth); return view('user.dashboard', compact('administrations', 'selectedMonth', 'user')); } public function sendThankcards() { $users = $this->userService->getOtherActiveUsers(Auth::user()); return view('user.send', compact('users')); } public function storeThankcards(Request $request) { $request->validate([ 'receiver' => [ 'required', \Illuminate\Validation\Rule::exists('user', 'msnv')->where('status', \App\Models\User::STATUS_ACTIVE) ], 'amount' => 'required|integer|min:1|max:' . Administration::MAX_SEND_CARD_PER_MONTH, ]); try { $this->userService->sendThankcards( Auth::user(), $request->receiver, (int) $request->amount ); } catch (\RuntimeException $e) { return response()->json(['success' => false, 'message' => $e->getMessage()], 422); } return response()->json(['success' => true, 'message' => __('messages.thank_card_send_success')]); } public function changePasswordForm() { return view('user.change_password'); } public function updatePassword(Request $request) { $request->validate([ 'password' => 'required|min:6|confirmed', ]); $user = Auth::user(); $this->userService->updatePassword($user, $request->password); $route = $user->role == \App\Models\User::ROLE_ADMIN ? 'admin.dashboard' : 'user.dashboard'; return redirect()->route($route)->with('success', __('messages.password_change_success')); } }