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)); }
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 })); }
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)); }
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)); }
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)); }