private PartialViewResult ViewEditRoles(EditRolesViewModel viewModel, Person person) { var roles = CurrentPerson.IsSitkaAdministrator() ? Role.All : (CurrentPerson.IsAdministrator() ? Role.All.Except(new List <Role> { Role.SitkaAdmin }) : Role.All.Except(new List <Role> { Role.SitkaAdmin, Role.Admin })); // if the user being updated is a Jurisdiction Manager, only an admin can downgrade them if (!CurrentPerson.IsAdministrator() && person.Role == Role.JurisdictionManager) { roles = new List <Role> { Role.JurisdictionManager }; } // if the user being updated is a SitkaAdmin, only a SitkaAdmin can downgrade them if (person.Role == Role.SitkaAdmin && CurrentPerson.Role != Role.SitkaAdmin) { roles = new List <Role> { Role.SitkaAdmin }; } var rolesAsSelectListItems = roles.ToSelectListWithEmptyFirstRow(x => x.RoleID.ToString(CultureInfo.InvariantCulture), x => x.RoleDisplayName); var viewData = new EditRolesViewData(rolesAsSelectListItems, CurrentPerson.IsAdministrator()); return(RazorPartialView <EditRoles, EditRolesViewData, EditRolesViewModel>(viewData, viewModel)); }
private PartialViewResult ViewEdit(EditRolesViewModel viewModel) { var roles = CurrentPerson.IsSitkaAdministrator() ? Role.All : Role.All.Except(new[] { Role.SitkaAdmin }); var rolesAsSelectListItems = roles.ToSelectListWithEmptyFirstRow(x => x.RoleID.ToString(CultureInfo.InvariantCulture), x => x.GetRoleDisplayName()); var viewData = new EditRolesViewData(rolesAsSelectListItems); return(RazorPartialView <EditRoles, EditRolesViewData, EditRolesViewModel>(viewData, viewModel)); }
private PartialViewResult ViewEdit(EditRolesViewModel viewModel) { var roles = CurrentPerson.IsSitkaAdministrator() ? Role.All : Role.All.Except(new[] { Role.SitkaAdmin }); var rolesAsSimples = roles.Select(x => new RoleSimple(x)).ToList(); var viewData = new EditRolesViewData(rolesAsSimples); return(RazorPartialView <EditRoles, EditRolesViewData, EditRolesViewModel>(viewData, viewModel)); }