Ejemplo n.º 1
0
        public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParameters)
        {
            if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, "Not authorized to manage aliases"))
            {
                return(new HttpUnauthorizedResult());
            }

            var pager = new Pager(Services.WorkContext.CurrentSite, pagerParameters);

            // default options
            if (options == null)
            {
                options = new AdminIndexOptions();
            }

            switch (options.Filter)
            {
            case AliasFilter.All:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            var aliases = _aliasHolder.GetMaps().SelectMany(x => x.GetAliases());

            if (!String.IsNullOrWhiteSpace(options.Search))
            {
                var invariantSearch = options.Search.ToLowerInvariant();
                aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch));
            }

            aliases = aliases.ToList();

            //var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count());
            switch (options.Order)
            {
            case AliasOrder.Path:
                aliases = aliases.OrderBy(x => x.Path);
                break;
            }

            if (pager.PageSize != 0)
            {
                pager.Total = aliases.Count();
                aliases     = aliases.Skip(pager.GetStartIndex()).Take(pager.PageSize);
            }

            var model = new AdminIndexViewModel
            {
                Options      = options,
                Pager        = pager,
                AliasEntries = aliases.Select(x => new AliasEntry()
                {
                    Alias = x, IsChecked = false
                }).ToList()
            };

            return(View(model));
        }
Ejemplo n.º 2
0
        public ActionResult BulkEdit(AdminIndexOptions options, PagerParameters pagerParameters)
        {
            if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to list workflows")))
            {
                return(new HttpUnauthorizedResult());
            }

            var viewModel = new AdminIndexViewModel {
                WorkflowDefinitions = new List <WorkflowDefinitionEntry>(), Options = new AdminIndexOptions()
            };

            if (!TryUpdateModel(viewModel))
            {
                return(View(viewModel));
            }

            var checkedEntries = viewModel.WorkflowDefinitions.Where(t => t.IsChecked);

            switch (options.BulkAction)
            {
            case WorkflowDefinitionBulk.None:
                break;

            case WorkflowDefinitionBulk.Delete:
                if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage workflows")))
                {
                    return(new HttpUnauthorizedResult());
                }

                foreach (var entry in checkedEntries)
                {
                    var workflowDefinition = _workflowDefinitionRecords.Get(entry.WokflowDefinitionId);

                    if (workflowDefinition != null)
                    {
                        _workflowDefinitionRecords.Delete(workflowDefinition);
                        Services.Notifier.Success(T("Workflow {0} deleted", workflowDefinition.Name));
                    }
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(RedirectToAction("Index", new { page = pagerParameters.Page, pageSize = pagerParameters.PageSize }));
        }
Ejemplo n.º 3
0
        public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParameters)
        {
            if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to list media profiles")))
            {
                return(new HttpUnauthorizedResult());
            }

            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);

            // default options
            if (options == null)
            {
                options = new AdminIndexOptions();
            }

            var profiles = Services.ContentManager.Query("ImageProfile");

            var pagerShape = Shape.Pager(pager).TotalItemCount(profiles.Count());

            profiles = profiles.Join <ImageProfilePartRecord>().OrderBy(u => u.Name);

            var results = profiles
                          .Slice(pager.GetStartIndex(), pager.PageSize)
                          .ToList();

            var model = new AdminIndexViewModel {
                ImageProfiles = results.Select(x => new ImageProfileEntry {
                    ImageProfile   = x.As <ImageProfilePart>().Record,
                    ImageProfileId = x.Id,
                    Name           = x.As <ImageProfilePart>().Name
                }).ToList(),
                Options = options,
                Pager   = pagerShape
            };

            // maintain previous route data when generating page links
            var routeData = new RouteData();

            routeData.Values.Add("Options.Filter", options.Filter);

            pagerShape.RouteData(routeData);

            return(View(model));
        }
Ejemplo n.º 4
0
        public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParameters)
        {
            if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to list workflows")))
            {
                return(new HttpUnauthorizedResult());
            }

            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);

            // default options
            if (options == null)
            {
                options = new AdminIndexOptions();
            }

            var queries = _workflowDefinitionRecords.Table;

            switch (options.Filter)
            {
            case WorkflowDefinitionFilter.All:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (!String.IsNullOrWhiteSpace(options.Search))
            {
                queries = queries.Where(w => w.Name.Contains(options.Search));
            }

            var pagerShape = New.Pager(pager).TotalItemCount(queries.Count());

            switch (options.Order)
            {
            case WorkflowDefinitionOrder.Name:
                queries = queries.OrderBy(u => u.Name);
                break;
            }

            if (pager.GetStartIndex() > 0)
            {
                queries = queries.Skip(pager.GetStartIndex());
            }

            if (pager.PageSize > 0)
            {
                queries = queries.Take(pager.PageSize);
            }

            var results = queries.ToList();

            var model = new AdminIndexViewModel {
                WorkflowDefinitions = results.Select(x => new WorkflowDefinitionEntry {
                    WorkflowDefinitionRecord = x,
                    WokflowDefinitionId      = x.Id,
                    Name = x.Name
                }).ToList(),
                Options = options,
                Pager   = pagerShape
            };

            // maintain previous route data when generating page links
            var routeData = new RouteData();

            routeData.Values.Add("Options.Filter", options.Filter);
            routeData.Values.Add("Options.Search", options.Search);
            routeData.Values.Add("Options.Order", options.Order);

            pagerShape.RouteData(routeData);

            return(View(model));
        }
Ejemplo n.º 5
0
        public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParameters)
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to list queries")))
            {
                return(new HttpUnauthorizedResult());
            }

            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);

            // default options
            if (options == null)
            {
                options = new AdminIndexOptions();
            }

            var queries = Services.ContentManager.Query("Query");

            switch (options.Filter)
            {
            case QueriesFilter.All:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (!String.IsNullOrWhiteSpace(options.Search))
            {
                queries = queries.Join <TitlePartRecord>().Where(r => r.Title.Contains(options.Search));
            }

            var pagerShape = Shape.Pager(pager).TotalItemCount(queries.Count());

            switch (options.Order)
            {
            case QueriesOrder.Name:
                queries = queries.Join <TitlePartRecord>().OrderBy(u => u.Title);
                break;
            }

            var results = queries
                          .Slice(pager.GetStartIndex(), pager.PageSize)
                          .ToList();

            var model = new AdminIndexViewModel {
                Queries = results.Select(x => new QueryEntry {
                    Query   = x.As <QueryPart>().Record,
                    QueryId = x.Id,
                    Name    = x.As <QueryPart>().Name
                }).ToList(),
                Options = options,
                Pager   = pagerShape
            };

            // maintain previous route data when generating page links
            var routeData = new RouteData();

            routeData.Values.Add("Options.Filter", options.Filter);
            routeData.Values.Add("Options.Search", options.Search);
            routeData.Values.Add("Options.Order", options.Order);

            pagerShape.RouteData(routeData);

            return(View(model));
        }