public function update($id = null, Request $request) { if ($id == null) { $id = Auth::id(); } $user = User::find($id); if ($user == null) { abort(404); } if ($user->id != Auth::id() && !Auth::user()->can('board')) { abort(403); } $userdata['email'] = $request->input('email'); $userdata['phone'] = str_replace(' ', '', $request->input('phone')); $userdata['website'] = $request->input('website'); $userdata['phone_visible'] = $request->has('phone_visible'); $userdata['receive_sms'] = $request->has('receive_sms'); $validator = Validator::make($userdata, ['email' => 'required|email', 'phone' => 'required|regex:(\\+[0-9]{8,16})']); if ($validator->fails()) { return Redirect::route('user::dashboard', ['id' => $user->id])->withErrors($validator); } if ($userdata['email'] !== $user->email) { $email = ['old' => $user->email, 'new' => $userdata['email']]; $name = $user->name; Mail::queue('emails.emailchange', ['changer' => ['name' => Auth::user()->name, 'ip' => $request->ip()], 'email' => $email, 'user' => $user], function ($message) use($name, $email) { $message->to($email['old'], $name)->to($email['new'], $name)->from('security@' . config('proto.emaildomain'), 'Have You Tried Turning It Off And On Again committee')->subject('Your e-mail address for S.A. Proto has been changed.'); }); } $user->fill($userdata); $user->save(); Session::flash("flash_message", "Changes saved."); return Redirect::route('user::dashboard', ['id' => $user->id]); }
public function linkForm($user_id) { $user = User::find($user_id); if ($user == null) { abort(404); } if ($user->id != Auth::id() && !Auth::user()->can('board')) { abort(403); } return view('users.study.edit', ['link' => null, 'user' => $user, 'studies' => Study::orderBy('name', 'asc')->get()]); }
/** * Display the profile for a specific user. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id = null) { if ($id == null) { $id = Auth::id(); } $user = User::find($id); if ($user == null) { abort(404); } $ldap = $user->getUtwenteData(); $pastCommittees = CommitteeMembership::onlyTrashed()->where('user_id', $user->id)->orderBy('created_at', 'desc')->get(); return view('users.profile.profile', ['user' => $user, 'ldap' => $ldap, 'pastcommittees' => $pastCommittees]); }
public function startoverlayprint(Request $request) { $user = User::find($request->input('id')); if (!$user) { return "This user could not be found!"; } if (!$user->member) { return "Only members can have their card printed!"; } $result = FileController::requestPrint('card', route('membercard::download', ['id' => $user->id, 'overlayonly' => 1])); if ($result === false) { return "Something went wrong trying to reach the printer service."; } return "The printer service responded: " . $result; }
public function printForm(Request $request) { $user = User::find($request->input('id')); if (!$user) { return "This user could not be found!"; } if ($user->address->count() === 0) { return "This user has no address!"; } $result = FileController::requestPrint('document', route('memberform::download', ['id' => $user->id])); if ($result === false) { return "Something went wrong trying to reach the printer service."; } return "The printer service responded: " . $result; }
/** * Committee membership tools below */ public function addMembership(Request $request) { $user = User::find($request->user_id); $committee = Committee::find($request->committee_id); if ($user == null) { abort(404); } if ($committee == null) { abort(404); } if (($committee->slug == config('proto.rootcommittee') || $committee->slug == config('proto.boardcommittee')) && !Auth::user()->can('admin')) { Session::flash("flash_message", "This committee is protected. Only the Have You Tried Turning It Off And On Again committee can change this committee."); return Redirect::back(); } $membership = new CommitteeMembership(); $membership->role = $request->role; $membership->edition = $request->edition; $membership->user_id = $request->user_id; $membership->committee_id = $request->committee_id; if (($membership->created_at = date('Y-m-d H:i:s', strtotime($request->start))) === false) { Session::flash("flash_message", "Ill-formatted start date."); return Redirect::back(); } if ($request->end != "" && ($membership->deleted_at = date('Y-m-d H:i:s', strtotime($request->end))) === false) { Session::flash("flash_message", "Ill-formatted end date."); return Redirect::back(); } $membership->save(); Session::flash("flash_message", "You have added " . $membership->user->name . " to " . $membership->committee->name . "."); return Redirect::back(); }
public function take($achievement_id, $user_id) { $achievement = Achievement::find($achievement_id); $user = User::find($user_id); if (!$user || !$achievement) { abort(404); } $achieved = AchievementOwnership::all(); foreach ($achieved as $entry) { if ($entry->achievement_id == $achievement_id && $entry->user_id == $user_id) { $entry->delete(); Session::flash('flash_message', "Achievement {$achievement->name} taken from {$user->name}."); } } return Redirect::back(); }
public function delete($id) { $user = User::find($id); if ($user == null) { abort(404); } if ($user->id != Auth::id() && !Auth::user()->can('board')) { abort(403); } if ($user->bank == null) { Session::flash("flash_message", "You don't have a bank authorization to revoke."); return Redirect::route('user::dashboard', ['id' => $id]); } if ($user->member) { Session::flash("flash_message", "As a member you cannot revoke your bank authorization. You can update it, though."); return Redirect::back(); } $user->bank->delete(); Session::flash("flash_message", "Deleted bank account."); return Redirect::route('user::dashboard', ['id' => $id]); }
public function toggleHidden($id, Request $request) { $user = User::find($id); if ($user == null) { abort(404); } if ($user->id != Auth::id() && !Auth::user()->can('board')) { abort(403); } $user->address_visible = !$user->address_visible; $user->save(); Session::flash("flash_message", "Your primary address is now " . ($user->address_visible ? 'visible' : 'hidden') . " for members."); return Redirect::back(); }
public function updatePassword(Request $request) { $user = User::find($request->id); if ($user == null) { abort(404); } if ($user->id != Auth::id()) { $request->session()->flash('flash_message', 'Sorry! You cannot change another user their password. If a user forgot their password, please let them use the \'forgot password\' form on the login screen.'); return Redirect::back(); } if (AuthController::verifyCredentials($user->email, $request->oldpass) || $user->utwente_username && AuthController::verifyUtwenteCredentials($user->utwente_username, $request->oldpass)) { if ($request->newpass1 !== $request->newpass2) { $request->session()->flash('flash_message', 'The new passwords are not identical. Please try again!'); return Redirect::route('user::dashboard'); } elseif (strlen($request->newpass1) < 8) { $request->session()->flash('flash_message', 'Your new password should be at least 8 characters long.'); return Redirect::route('user::dashboard'); } else { $user->setPassword($request->newpass1); $request->session()->flash('flash_message', 'Your password has been changed.'); return Redirect::route('user::dashboard'); } } $request->session()->flash('flash_message', 'Old password incorrect! Password not updated.'); return Redirect::route('user::dashboard'); }