public ActionResult ChangeRole(string id) { var model = new UserRoleViewModel(); var userRoleHelper = new UserRoleHelper(); model.Id = id; model.Name = User.Identity.Name; var roles = userRoleHelper.GetAllRoles(); var userRoles = userRoleHelper.GetUserRoles(id); model.Roles = new MultiSelectList(roles, "Name", "Name", userRoles); return(View(model)); }
public ActionResult ChangeRole(string id) { var model = new UserRoleViewModel(); var userRoleHelper = new UserRoleHelper(); model.Id = id; model.Name = db.Users.FirstOrDefault(p => p.Id == id).Name; var roles = userRoleHelper.GetAllRoles(); var userRoles = userRoleHelper.GetUserRoles(id); model.Roles = new MultiSelectList(roles, "Name", "Name", userRoles); return(View(model)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { var ticketId = Convert.ToInt32(filterContext.ActionParameters.FirstOrDefault(p => p.Key == "id").Value); var actionMethod = filterContext.ActionDescriptor.ActionName; var userId = filterContext.HttpContext.User.Identity.GetUserId(); var ticket = db.Tickets.Where(i => i.Id == ticketId).FirstOrDefault(); var Roles = userRoleHelper.GetUserRoles(userId); var url = new UrlHelper(filterContext.RequestContext); var passed = false; if (Roles.Contains("Project Manager")) { if (ticket.TicketProject.Users.Select(p => p.Id).Contains(userId)) { passed = true; } } if (Roles.Contains("Admin")) { passed = true; } else if (Roles.Contains("Developer")) { if (actionMethod == "Details") { if (ticket.AssignId == userId || ticket.TicketProject.Users.Select(p => p.Id).Contains(userId)) { passed = true; } } else if (actionMethod == "Edit") { if (ticket.AssignId == userId) { passed = true; } } } else if (Roles.Contains("Submitter")) { if (ticket.CreatorId == userId) { passed = true; } } if (!passed) { filterContext.Result = new RedirectResult(url.Action("Error_403", "Home")); } }
public ActionResult AssignRole(string Id) { var model = new UserRoleViewModel(); var userRoleHelper = new UserRoleHelper(); model.Id = Id; model.UserName = db.Users.FirstOrDefault(p => p.Id == Id).UserName; var roles = userRoleHelper.GetAllroles(); var userRoles = userRoleHelper.GetUserRoles(Id); model.Roles = new MultiSelectList(roles, "Name", "Name", userRoles); return(View(model)); }
// GET: Posts/Delete/5 public ActionResult Delete(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationUser user = db.Users.Find(id); if (user == null) { return(HttpNotFound()); } var userRoleHelper = new UserRoleHelper(); var userRoles = userRoleHelper.GetUserRoles(id).ToList(); if (userRoles.Contains("Admin")) { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } return(View(user)); }
public ActionResult Index(string id) { if (!string.IsNullOrWhiteSpace(id)) { var userId = User.Identity.GetUserId(); var userRoleHelper = new UserRoleHelper(); var role = userRoleHelper.GetUserRoles(userId); ViewBag.User = "******"; if (role.Contains("Developer")) { if (id == "myTicket") { ViewBag.User = "******"; return(View(db.Tickets.Include(t => t.Comments).Include(t => t.TicketPriority).Include(t => t.TicketProject).Include(t => t.TicketStatus).Include(t => t.TicketType).Where(p => p.AssignId == userId).ToList())); } else if (id == "myProjectsTicket") { ViewBag.User = "******"; var dbUSer = db.Users.FirstOrDefault(p => p.Id == userId); var myProject = dbUSer.Project.Select(p => p.Id); var ticket = db.Tickets.Where(p => myProject.Contains(p.TicketProjectId)).ToList(); return(View(ticket)); } } else if (role.Contains("Project Manager")) { var dbUSer = db.Users.FirstOrDefault(p => p.Id == userId); var myProject = dbUSer.Project.Select(p => p.Id); var ticket = db.Tickets.Where(p => myProject.Contains(p.TicketProjectId)).ToList(); return(View(ticket)); } else if (role.Contains("Submitter")) { return(View(db.Tickets.Include(t => t.Comments).Include(t => t.TicketPriority).Include(t => t.TicketProject).Include(t => t.TicketStatus).Include(t => t.TicketType).Where(p => p.CreatorId == userId).ToList())); } } ViewBag.User = ""; return(View(db.Tickets.Include(t => t.TicketPriority).Include(t => t.Comments).Include(t => t.TicketProject).Include(t => t.TicketStatus).Include(t => t.TicketType).ToList())); }