public ActionResult MyAccount(int clientId) { var userId = User.Identity.GetUserId(); var user = userManager.FindById(userId); var client = clientRepository.Single(c => c.Id == clientId); var model = new SiriusAccountModel(); model.ClientId = clientId; model.ClientName = client.Name; model.UserId = this.User.Identity.GetUserId(); model.ReceiveEmail = user.ReceiveEmail != null && (bool)user.ReceiveEmail; model.ReceiveSms = user.ReceiveSms != null && (bool)user.ReceiveSms; model.Phone = user.Phone; model.HasAdminMenu = this.User.IsInRole("sales") || this.User.IsInRole("consultant"); model.HasWebTab = client.Labels.Any(l => l.Name == "Webbflik"); return(View(model)); }
public ActionResult Edit(UserViewModel user) { var changedUser = userManager.FindById(user.Id); if (!string.IsNullOrEmpty(user.Password)) { var changePasswordOperationSuccess = userManager.UpdatePassword(changedUser.Id, user.Password); if (!changePasswordOperationSuccess) { ModelState.AddModelError("password", "Misslyckades med att uppdatera lösenordet för" + user.Name); return(Edit(user.Id)); } } changedUser.ReceiveEmail = user.ReceiveEmail; changedUser.ReceiveSms = user.ReceiveSms; changedUser.Phone = user.Phone; changedUser.IsLockedOut = user.IsLockedOut; userManager.Update(changedUser); return(RedirectToAction("List", new { clientId = changedUser.ClientId })); }
public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var admin = userManager.FindById(id); if (admin == null) { return(HttpNotFound()); } var accountManagerViewModel = new AccountManagerViewModel(userManager.GetRoles(User.Identity.GetUserId())) { Name = admin.Name, Phone = admin.Phone, ImageUrl = admin.ImageUrl, Email = admin.Email, Password = "" }; return(View(accountManagerViewModel)); }
public bool CurrentUserHasAccessToClient(int?clientId) { var userId = User.Identity.GetUserId(); if (userId == null) { return(false); } if (userManager.IsInRole(userId, "consultant")) { return(true); } else if (userManager.IsInRole(userId, "demo")) { return(true); } else if (userManager.IsInRole(userId, "sales")) { return(true); } else if (userManager.IsInRole(userId, "client")) { if (clientId == null) { return(true); } var user = userManager.FindById(userId); if (user.Client.Id == clientId) { return(true); } else { return(false); } } else { return(false); } }
// GET: /Account/AuthenticateToken public ActionResult AuthenticateToken(string token, string returnUrl) { var logOnModel = new LogOnModel(); var today = DateTime.Now; var tokenUser = tokenRepository.Where(t => t.AccessToken == token && t.ExpirationDate >= today).SingleOrDefault(); if (tokenUser != null) { var userMembershipId = tokenUser.UserId; var user = userManager.FindById(userMembershipId); logOnModel.UserName = user.UserName; SignIn(user, true); if (returnUrl == null) { return(RedirectToAction("Index", "Home")); } if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\") && !returnUrl.Contains("/Account/LogOn")) { return(Redirect(returnUrl)); } else { if (returnUrl.ToLower().Contains("inside.helloy.se")) { return(Redirect(returnUrl)); } return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Länken är tyvärr ej längre giltig."); return(View("LogOn", logOnModel)); } }