コード例 #1
0
        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"));
            }
        }
コード例 #2
0
        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"));
            }
        }
コード例 #3
0
        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"));
            }
        }
コード例 #4
0
        // 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"));
            }
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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"));
            }
        }