public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } if (TicketDecisionHelper.TicketIsEditableByUser(ticket)) { //UserRolesHelper helper = new UserRolesHelper(); //var users = helper.UsersInRole("Developer").ToList(); //ViewBag.AssignedToUserId = new SelectList(users, "Id", "FullName", ticket.AssignedToUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); return(View(ticket)); } else { return(RedirectToAction("AccessViolation", "Admin")); } }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } var decisionHelper = new TicketDecisionHelper(); if (TicketDecisionHelper.TicketIsEditableByUser(ticket)) { ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FullName", ticket.AssignedToUserId); ViewBag.ProjectId = new SelectList(db.Projects, "ID", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); return(View(ticket)); } else { TempData["Message"] = "You are not authorized to edit Ticket Id " + ticket.Id + " based upon your assigned role."; return(RedirectToAction("Index", "Tickets")); } }
public ActionResult Edit(int?id, string stat) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } // if the method is not "static", you have to make a new instance of the decision helper var decisionHelper = new TicketDecisionHelper(); if (decisionHelper.TicketIsEditableByUser(ticket)) { ViewBag.AssignedToUserId = new SelectList(projHelper.UsersInRoleOnProject(ticket.ProjectId, SystemRole.Developer), "Id", "FullName", ticket.AssignedToUserId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); ViewBag.Stats = stat; ViewBag.CurrentUser = User.Identity.GetUserId(); return(View(ticket)); } else { TempData["Message"] = "YOU ARE NOT AUTHORIZED TO EDIT THIS TICKET BASED ON YOUR ASSIGNED ROLE."; ViewBag.Stats = stat; return(RedirectToAction("Index", "Tickets")); } }
// GET: Tickets/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } if (TicketDecisionHelper.TicketIsEditableByUser(ticket)) { ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "DisplayName", ticket.AssignedToUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); return(View(ticket)); } else { return(RedirectToAction("Dashboard", "Home")); } }
public ActionResult Create() { // This code is used to pop a sweet alert if anyone other than submitter tries to create a ticket. We are just omitting this code as we are using it in a different way and just not showing the link "create new" if its anyone other than submitter. if (!TicketDecisionHelper.TicketIsCreatedByUser()) { TempData["Message"] = "You are not authorized to create ticket based on your assigned role"; return(RedirectToAction("Index", "Tickets")); } var myProjects = projectHelper.ListUserProjects(User.Identity.GetUserId()); ViewBag.ProjectId = new SelectList(myProjects, "Id", "Name"); //var ticketstatus = db.TicketStatuses.Where(t => t.Name == " UnAssigned"); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name"); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name"); return(View()); }
public ActionResult Delete(int?id) { //if (id == null) //{ // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); //} Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } if (!TicketDecisionHelper.TicketIsdeletableByUser()) { TempData["Message"] = "You are not authorized to delete TicketId" + ticket.Id + "based on your assigned role"; return(RedirectToAction("Index", "Tickets")); } return(View(ticket)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); //Kick this Developer out if they are not the Developer on this Ticket //UserRolesHelper helper = new UserRolesHelper(); //string userId = User.Identity.GetUserId(); //bool IsAdmin = helper.IsUserInRole(userId, "Admin"); //Based on my role should i be able to edit this Ticket //if (ticket.AssignedToUserId != userId && !IsAdmin) //{ // return RedirectToAction("TicketError", "Admin"); //} if (ticket == null) { return(HttpNotFound()); } if (TicketDecisionHelper.TicketIsEditableByUser(ticket)) { ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FullName", ticket.AssignedToUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); ViewBag.OwnerUserId = new SelectList(db.Users, "Id", "FullName", ticket.OwnerUserId); return(View(ticket)); } else { return(RedirectToAction("AccessViolation", "Admin")); } }