Example #1
0
        void btnSortChildPagesAlpha_Click(object sender, ImageClickEventArgs e)
        {
            if (lbPages.SelectedIndex > -1)
            {
                foreach (mojoSiteMapNode page in sitePages)
                {
                    if (
                        (page.PageId.ToInvariantString() == lbPages.SelectedValue) &&
                        ((canEditAnything) || (WebUser.IsInRoles(page.CreateChildPageRoles)))
                        )
                    {
                        PageSettings pageSettings = new PageSettings(siteSettings.SiteId, page.PageId);
                        pageSettings.ResortPagesAlphabetically();
                    }
                }

                CacheHelper.ResetSiteMapCache();

                WebUtils.SetupRedirect(this, Request.RawUrl);
            }
            else
            {
                // no page selected
                litWarning.Text = Resource.PagesNoSelectionWarning;
            }
        }
Example #2
0
        private void SortChildPagesAlpha()
        {
            PageActionResult result = new PageActionResult();

            if (!context.Request.IsAuthenticated)
            {
                result.Success = false;
                result.Message = PageManagerResources.InvalidRequest;
                RenderPageActionResult(result);
                log.Info("rejected page sort children request for anonymous user");
                return;
            }

            int selNodeId = -1;

            if (context.Request.Form["selNode"] != null)
            {
                int.TryParse(context.Request.Form["selNode"], out selNodeId);
            }

            if (selNodeId == -1)
            {
                result.Success = false;
                result.Message = PageManagerResources.InvalidRequest;
                RenderPageActionResult(result);
                log.Info("no pageid provided for sort children command");
                return;
            }

            //log.Info("node to sort " + selNodeId);

            LoadSiteMapSettings();

            mojoSiteMapNode sortNode = SiteUtils.GetSiteMapNodeForPage(rootNode, selNodeId);

            if (sortNode == null)
            {
                result.Success = false;
                result.Message = PageManagerResources.InvalidRequest;
                RenderPageActionResult(result);
                log.Info("node not found for sort children command");
                return;
            }

            if (!WebUser.IsInRoles(sortNode.EditRoles))
            {
                result.Success = false;
                result.Message = string.Format(
                    CultureInfo.InvariantCulture,
                    PageManagerResources.MovePageNotAllowedFormat,
                    sortNode.Title);

                RenderPageActionResult(result);

                if (logAllActions)
                {
                    log.Info(
                        string.Format(
                            CultureInfo.InvariantCulture,
                            PageManagerResources.SortChildPagesDeniedLogFromat,
                            currentUserName,
                            sortNode.Title, sortNode.PageId
                            )
                        );
                }

                return;
            }

            if (!WebUser.IsInRoles(sortNode.CreateChildPageRoles))
            {
                result.Success = false;
                result.Message = string.Format(
                    CultureInfo.InvariantCulture,
                    PageManagerResources.MovePageNotAllowedFormat,
                    sortNode.Title);

                RenderPageActionResult(result);

                if (logAllActions)
                {
                    log.Info(
                        string.Format(
                            CultureInfo.InvariantCulture,
                            PageManagerResources.SortChildPagesDeniedLogFromat,
                            currentUserName,
                            sortNode.Title, sortNode.PageId
                            )
                        );
                }

                return;
            }

            PageSettings pageSettings = new PageSettings(siteSettings.SiteId, sortNode.PageId);

            pageSettings.ResortPagesAlphabetically();

            CacheHelper.ResetSiteMapCache();

            result.Success = true;
            result.Message = "Success";
            RenderPageActionResult(result);

            if (logAllActions)
            {
                log.Info(
                    string.Format(
                        CultureInfo.InvariantCulture,
                        PageManagerResources.SortChildPagesSuccessLogFormat,
                        currentUserName,
                        sortNode.Title, sortNode.PageId
                        )
                    );
            }
        }