コード例 #1
0
        public async Task <IActionResult> RoleMembers(
            Guid?siteId,
            Guid roleId,
            string searchInput = "",
            int pageNumber     = 1,
            int pageSize       = -1)
        {
            var selectedSite = await siteManager.GetSiteForDataOperations(siteId, true);

            // only server admin site can edit other sites settings
            if (selectedSite.Id != siteManager.CurrentSite.Id)
            {
                ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, sr["{0} - Role Members"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = sr["Role Members"];
            }

            var role = await RoleManager.FindByIdAsync(roleId.ToString());

            if ((role == null) || (role.SiteId != selectedSite.Id))
            {
                return(RedirectToAction("Index"));
            }

            int itemsPerPage = uiOptions.DefaultPageSize_RoleMemberList;

            if (pageSize > 0)
            {
                itemsPerPage = pageSize;
            }

            RoleMemberListViewModel model = new RoleMemberListViewModel();

            model.SiteId           = selectedSite.Id;
            model.UseEmailForLogin = selectedSite.UseEmailForLogin;
            model.Role             = RoleViewModel.FromISiteRole(role);
            if (selectedSite.Id != siteManager.CurrentSite.Id)
            {
                model.Heading1 = string.Format(CultureInfo.CurrentUICulture, sr["{0} - {1}"], selectedSite.SiteName, role.RoleName);
            }
            else
            {
                model.Heading1 = role.RoleName;
            }

            model.Heading2    = sr["Role Members"];
            model.SearchQuery = searchInput;

            model.Members = await RoleManager.GetUsersInRole(
                role.SiteId,
                role.Id,
                searchInput,
                pageNumber,
                itemsPerPage);

            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> RoleNonMembers(
            Guid?siteGuid,
            int roleId,
            string searchInput = "",
            int pageNumber     = 1,
            int pageSize       = 0,
            bool ajaxGrid      = false)
        {
            ISiteSettings selectedSite;

            // only server admin site can edit other sites settings
            if ((siteGuid.HasValue) && (siteGuid.Value != Guid.Empty) && (siteGuid.Value != siteManager.CurrentSite.SiteGuid) && (siteManager.CurrentSite.IsServerAdminSite))
            {
                selectedSite = await siteManager.Fetch(siteGuid.Value);

                ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, "{0} - Non Role Members", selectedSite.SiteName);
            }
            else
            {
                selectedSite  = siteManager.CurrentSite;
                ViewBag.Title = "Non Role Members";
            }



            ISiteRole role = await RoleManager.FetchRole(roleId);

            if ((role == null) || (role.SiteId != selectedSite.SiteId))
            {
                return(RedirectToAction("Index"));
            }

            int itemsPerPage = uiOptions.DefaultPageSize_RoleMemberList;

            if (pageSize > 0)
            {
                itemsPerPage = pageSize;
            }

            RoleMemberListViewModel model = new RoleMemberListViewModel();

            model.Role = RoleViewModel.FromISiteRole(role);
            if (selectedSite.SiteGuid != siteManager.CurrentSite.SiteGuid)
            {
                model.Heading1 = string.Format(CultureInfo.CurrentUICulture, "{0} - {1}", selectedSite.SiteName, role.DisplayName);
            }
            else
            {
                model.Heading1 = role.DisplayName;
            }

            model.Heading2    = "Non Role Members";
            model.SearchQuery = searchInput; // unsafe input

            model.Members = await RoleManager.GetUsersNotInRole(
                role.SiteId,
                role.RoleId,
                searchInput,
                pageNumber,
                itemsPerPage);

            model.Paging.CurrentPage  = pageNumber;
            model.Paging.ItemsPerPage = itemsPerPage;
            model.Paging.TotalItems   = await RoleManager.CountUsersNotInRole(
                role.SiteId,
                role.RoleId,
                searchInput);

            if (ajaxGrid)
            {
                return(PartialView("NonMembersGridPartial", model));
            }

            return(PartialView("NonMembersPartial", model));
        }
コード例 #3
0
        public async Task <IActionResult> RoleMembers(
            Guid?siteGuid,
            int roleId,
            string searchInput = "",
            int pageNumber     = 1,
            int pageSize       = -1)
        {
            ISiteSettings selectedSite;

            // only server admin site can edit other sites settings
            if ((siteGuid.HasValue) && (siteGuid.Value != Guid.Empty) && (siteGuid.Value != siteManager.CurrentSite.SiteGuid) && (siteManager.CurrentSite.IsServerAdminSite))
            {
                selectedSite = await siteManager.Fetch(siteGuid.Value);

                ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, "{0} - Role Members", selectedSite.SiteName);
            }
            else
            {
                selectedSite  = siteManager.CurrentSite;
                ViewBag.Title = "Role Members";
            }



            ISiteRole role = await RoleManager.FetchRole(roleId);

            if ((role == null) || (role.SiteId != selectedSite.SiteId))
            {
                return(RedirectToAction("Index"));
            }

            int itemsPerPage = uiOptions.DefaultPageSize_RoleMemberList;

            if (pageSize > 0)
            {
                itemsPerPage = pageSize;
            }

            RoleMemberListViewModel model = new RoleMemberListViewModel();

            model.SiteGuid         = selectedSite.SiteGuid;
            model.UseEmailForLogin = selectedSite.UseEmailForLogin;


            model.Role = RoleViewModel.FromISiteRole(role);
            if (selectedSite.SiteGuid != siteManager.CurrentSite.SiteGuid)
            {
                model.Heading1 = string.Format(CultureInfo.CurrentUICulture, "{0} - {1}", selectedSite.SiteName, role.DisplayName);
            }
            else
            {
                model.Heading1 = role.DisplayName;
            }

            model.Heading2    = "Role Members";
            model.SearchQuery = searchInput;

            model.Members = await RoleManager.GetUsersInRole(
                role.SiteId,
                role.RoleId,
                searchInput,
                pageNumber,
                itemsPerPage);

            model.Paging.CurrentPage  = pageNumber;
            model.Paging.ItemsPerPage = itemsPerPage;
            model.Paging.TotalItems   = await RoleManager.CountUsersInRole(role.SiteId, role.RoleId, searchInput);

            //var node = SiteMaps.Current.FindSiteMapNodeFromKey("RoleMembers");
            //if (node != null)
            //{
            //    node.Title = model.Role.DisplayName + " Role Members";
            //}

            return(View(model));
        }
コード例 #4
0
        public async Task <IActionResult> RoleNonMembers(
            Guid?siteId,
            Guid roleId,
            string searchInput = "",
            int pageNumber     = 1,
            int pageSize       = 0,
            bool ajaxGrid      = false)
        {
            var selectedSite = await _siteManager.GetSiteForDataOperations(siteId, true);

            // only server admin site can edit other sites settings
            if (selectedSite.Id != _siteManager.CurrentSite.Id)
            {
                ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, _sr["{0} - Non Role Members"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = _sr["Non Role Members"];
            }

            var role = await _roleManager.FindByIdAsync(roleId.ToString());

            if ((role == null) || (role.SiteId != selectedSite.Id))
            {
                return(RedirectToAction("Index"));
            }

            var itemsPerPage = _uiOptions.DefaultPageSize_RoleMemberList;

            if (pageSize > 0)
            {
                itemsPerPage = pageSize;
            }

            var model = new RoleMemberListViewModel
            {
                Role = RoleViewModel.FromISiteRole(role)
            };

            if (selectedSite.Id != _siteManager.CurrentSite.Id)
            {
                model.Heading1 = string.Format(CultureInfo.CurrentUICulture, "{0} - {1}", selectedSite.SiteName, role.RoleName);
            }
            else
            {
                model.Heading1 = role.RoleName;
            }

            model.Heading2    = _sr["Non Role Members"];
            model.SearchQuery = searchInput; // unsafe input

            model.Members = await _roleManager.GetUsersNotInRole(
                role.SiteId,
                role.Id,
                searchInput,
                pageNumber,
                itemsPerPage);

            if (ajaxGrid)
            {
                return(PartialView("NonMembersGridPartial", model));
            }

            return(PartialView("NonMembersPartial", model));
        }