// GET: Tickets/Create public async Task <IActionResult> Create(int?id) { TempData["InTicketsPage"] = true; if (id != null) { // Instanciate a new ticket and set the project id there ViewData["ProjectIdGET"] = id.Value; var model = new Ticket(); model.ProjectId = id.Value; model.Project = _context.Projects.Find(id.Value); var users = _context.Users.ToList(); var developers = new List <BTUser>(); foreach (var developer in users) { if (await _rolesService.IsUserInRole(developer, "Developer")) { developers.Add(developer); } } if (User.IsInRole("Admin") || User.IsInRole("ProjectManager")) { ViewData["DeveloperUserId"] = new SelectList(developers, "Id", "FullName"); ViewData["TicketPriorityId"] = new SelectList(_context.TicketPriorities, "Id", "Name"); ViewData["TicketStatusId"] = new SelectList(_context.TicketStatuses, "Id", "Name"); ViewData["TicketTypeId"] = new SelectList(_context.TicketTypes, "Id", "Name"); } if (User.IsInRole("Developer")) { ViewData["TicketPriorityId"] = new SelectList(_context.TicketPriorities, "Id", "Name"); ViewData["TicketStatusId"] = new SelectList(_context.TicketStatuses, "Id", "Name"); ViewData["TicketTypeId"] = new SelectList(_context.TicketTypes, "Id", "Name"); } return(View(model)); } if (User.IsInRole("Submitter")) { ViewData["ProjectId"] = new SelectList(_context.Projects, "Id", "Name"); ViewData["TicketPriorityId"] = new SelectList(_context.TicketPriorities, "Id", "Name"); ViewData["DeveloperUserId"] = new SelectList(_context.Users, "Id", "FullName"); } return(View()); }
// GET: ManageUserRoles public async Task <IActionResult> SetRoles() { TempData["InSetRolesPage"] = true; //List<ManageUserRolesViewModel> model = new List<ManageUserRolesViewModel>(); //List<BTUser> users = _context.Users.ToList(); //foreach(var user in users) //{ // ManageUserRolesViewModel vm = new ManageUserRolesViewModel(); // vm.User = user; // var selected = await _BTRoles.ListUserRoles(user); // vm.Roles = new MultiSelectList(_context.Roles, "Name", "Name", selected); // model.Add(vm); //} List <ManageUserRolesViewModel> model = new List <ManageUserRolesViewModel>(); List <BTUser> users = _context.Users.ToList(); foreach (var user in users) { ManageUserRolesViewModel vm = new ManageUserRolesViewModel(); if (!await _BTRoles.IsUserInRole(user, "Demo") && !await _BTRoles.IsUserInRole(user, "Admin")) { vm.UserId = user.Id; vm.UserName = user.FullName; var selected = await _BTRoles.ListUserRoles(user); // Figure out how to limit the selectList vm.Roles = new SelectList(_context.Roles, "Name", "Name", selected); vm.UserRole = await _BTRoles.ListUserRoles(user); model.Add(vm); } } return(View(model)); }
// GET: ManageProjectUsers/projectId public async Task <IActionResult> ManageProjectUsers() { //// Display a list of users //var model = new ManageProjectUsersViewModel(); //// Set vm's Project property to the currently selected project //model.Project = _context.Projects.Find(id); //// Get a list of users for the selectList //List<BTUser> users = await _context.Users.ToListAsync(); //// Get a list of current members for the selectList //List<BTUser> members = (List<BTUser>)await _projectService.UsersOnProject(id); //// Set our Users property on the vm //model.Users = new MultiSelectList(users, "Id", "FullName", members); //// send the vm to the view /// TempData["InUserAssignmentsPage"] = true; // New Version - Display a list of users // For each user display a list of projects // Assign project to user button // Have a viewmodel for each user project assignment var model = new List <ManageProjectUsersViewModel>(); // Get all users var users = await _context.Users.ToListAsync(); foreach (var user in users) { var vm = new ManageProjectUsersViewModel(); if (!await _rolesService.IsUserInRole(user, "Demo")) { vm.User = user; vm.UserRole = await _rolesService.ListUserRoles(user); vm.CurrentProjects = await _projectService.ListUserProjects(user.Id); var projects = await _context.Projects.ToListAsync(); vm.Projects = new SelectList(projects, "Id", "Name"); model.Add(vm); } } return(View(model)); }