Exemplo n.º 1
0
        public async Task <IActionResult> RoleEdit(
            Guid?siteId,
            Guid?roleId)
        {
            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} - New Role"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = sr["New Role"];
            }

            var model = new RoleViewModel();

            model.SiteId = selectedSite.Id;

            if (roleId.HasValue)
            {
                var role = await RoleManager.FindByIdAsync(roleId.Value.ToString());

                if ((role != null) && (role.SiteId == selectedSite.Id))
                {
                    model             = RoleViewModel.FromISiteRole(role);
                    ViewData["Title"] = sr["Edit Role"];
                }
            }

            return(View(model));
        }
Exemplo n.º 2
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));
        }
Exemplo n.º 3
0
        //[MvcSiteMapNode(Title = "New Role", ParentKey = "Roles", Key = "RoleEdit")]
        public async Task <IActionResult> RoleEdit(
            Guid?siteGuid,
            int?roleId)
        {
            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} - New Role", selectedSite.SiteName);
            }
            else
            {
                selectedSite  = siteManager.CurrentSite;
                ViewBag.Title = "New Role";
            }



            RoleViewModel model = new RoleViewModel();

            model.SiteGuid = selectedSite.SiteGuid;
            model.SiteId   = selectedSite.SiteId;
            model.Heading  = "New Role";

            if (roleId.HasValue)
            {
                ISiteRole role = await RoleManager.FetchRole(roleId.Value);

                if ((role != null) && (role.SiteId == selectedSite.SiteId))
                {
                    model = RoleViewModel.FromISiteRole(role);

                    ViewBag.Title = "Edit Role";
                    model.Heading = "Edit Role";

                    // below we are just manipiulating the bread crumbs
                    //var node = SiteMaps.Current.FindSiteMapNodeFromKey("RoleEdit");
                    //var node = SiteMaps.Current.FindSiteMapNodeFromKey("RoleEdit");
                    //if (node != null)
                    //{
                    //    node.Title = "Edit Role";
                    //}
                }
            }



            return(View(model));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> RoleEdit(
            Guid?siteId,
            Guid?roleId)
        {
            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} - New Role"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = _sr["New Role"];
            }

            var model = new RoleViewModel
            {
                SiteId = selectedSite.Id
            };

            if (roleId.HasValue)
            {
                var role = await _roleManager.FindByIdAsync(roleId.Value.ToString());

                if ((role != null) && (role.SiteId == selectedSite.Id))
                {
                    model             = RoleViewModel.FromISiteRole(role);
                    ViewData["Title"] = _sr["Edit Role"];
                    var currentCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext)
                    {
                        KeyToAdjust    = "RoleEdit",
                        AdjustedText   = _sr["Edit Role"],
                        ViewFilterName = NamedNavigationFilters.Breadcrumbs // this is default but showing here for readers of code
                    };
                    currentCrumbAdjuster.AddToContext();
                }
            }

            return(View(model));
        }
Exemplo n.º 5
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));
        }
Exemplo n.º 6
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));
        }
Exemplo n.º 7
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));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> RoleEdit(
            Guid?siteId,
            Guid?roleId)
        {
            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} - New Role"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = _sr["New Role"];
            }

            var model = new RoleViewModel
            {
                SiteId = selectedSite.Id
            };

            if (roleId.HasValue)
            {
                var role = await _roleManager.FindByIdAsync(roleId.Value.ToString());

                if ((role != null) && (role.SiteId == selectedSite.Id))
                {
                    var rejectReasons = new List <string>();
                    foreach (var guard in _roleGuards)
                    {
                        var rejectReason = await guard.GetEditRejectReason(selectedSite.Id, role.RoleName);

                        if (!string.IsNullOrWhiteSpace(rejectReason))
                        {
                            rejectReasons.Add(rejectReason);
                        }
                    }
                    if (rejectReasons.Count > 0)
                    {
                        var alertMessage = string.Join("<br />", rejectReasons.ToArray());

                        this.AlertDanger(alertMessage, true);

                        return(RedirectToAction("Index", new { siteId = selectedSite.Id }));
                    }


                    model             = RoleViewModel.FromISiteRole(role);
                    ViewData["Title"] = _sr["Edit Role"];
                    var currentCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext)
                    {
                        KeyToAdjust    = "RoleEdit",
                        AdjustedText   = _sr["Edit Role"],
                        ViewFilterName = NamedNavigationFilters.Breadcrumbs // this is default but showing here for readers of code
                    };
                    currentCrumbAdjuster.AddToContext();
                }
            }

            return(View(model));
        }