/** * Creates a default view pane for the specified tab ID. */ private void CreateDefaultPane(string tabId, string[] tabResourceTypes, int tabLinkType) { ViewsCategoriesPane pane = new ViewsCategoriesPane(); pane.RootResource = Core.ResourceTreeManager.ResourceTreeRoot; ContentTypeFilter filter = new ContentTypeFilter(); if (tabResourceTypes != null) { string[] filterTypes = new string [tabResourceTypes.Length + 1]; filterTypes [0] = "WorkspaceOtherView"; Array.Copy(tabResourceTypes, 0, filterTypes, 1, tabResourceTypes.Length); filter.SetFilter(filterTypes, tabLinkType); } else { filter.SetFilter(tabResourceTypes, tabLinkType); } pane.AddContentTypes(tabResourceTypes); pane.AddNodeFilter(filter); pane.ShowWorkspaceOtherView = true; AddPane(tabId, StandardViewPanes.ViewsCategories, pane, "Views and Categories", _defaultPaneImage); }
public static bool IsSomethingChecked(this ContentTypeFilter contentType) { if (contentType.Elections || contentType.Petitions || contentType.Polls || contentType.Posts) { return(true); } return(false); }
internal void PrepareData(IWin32Window ownerWindow, IResourceList resList) { CategoryManager mgr = Core.CategoryManager as CategoryManager; _resList = resList; _propCategory = mgr.PropCategory; RestoreSettings(); _contentTypes = resList.GetAllTypes(); _contentTypeFilter = new ContentTypeFilter(); _contentTypeFilter.SetFilter(_contentTypes, -1); _categoryTree.AddNodeFilter(_contentTypeFilter); _categoryTree.AddNodeFilter(new CategoryNodeFilter()); _categoryTree.ThreeStateCheckboxes = true; _categoryTree.ParentProperty = Core.Props.Parent; _categoryTree.OpenProperty = mgr.PropCategoryExpanded; _categoryTree.RootResource = Core.ResourceTreeManager.ResourceTreeRoot; _categoryTree.ShowContextMenu = false; if (resList.Count == 1) { _lblResource.Resource = resList [0]; } else { _lblCategoriesFor.Text = "Categories for " + resList.Count + " resources:"; _lblResource.Visible = false; } if (_categoryTree.SelectedNode == null && _categoryTree.Nodes.Count > 0) { _categoryTree.SelectedNode = _categoryTree.Nodes [0]; } UpdateButtonState(); _categoryTree.Focus(); }
public IList<CmsContentType> GetContentTypes(Data.Guid siteGuid, ContentTypeFilter filter) { CmsContentTypeDao dao = new CmsContentTypeDao(); List<CmsContentType> results = new List<CmsContentType>(); if (filter == ContentTypeFilter.IncludeGlobalTypes) { IList<CmsContentType> global = dao.FindGlobalContentTypes(); if (global != null) results.AddRange(global); } IList<CmsContentType> local = dao.FindBySite(siteGuid); if (local != null) results.AddRange(local); return results; }
public IList<CmsContentType> GetContentTypes(ContentTypeFilter filter) { return GetContentTypes(CurrentSite.Guid, filter); }
public GroupArchiveViewModel(Group group, int?year, int?month, int?day, ContentTypeFilter contentType) { Feed = new _ContentFeedViewModel(); Calendar = new _CalendarViewModel(); if (group != null) { GroupId = group.Id; GroupName = group.Name; GroupUrl = group.Url; ContentType = contentType; if (contentType.IsSomethingChecked()) { IEnumerable <Content> content1 = group.Content.OfType <Post>().Where(x => x.State == (byte)ContentState.Approved); IEnumerable <Content> content2 = group.Content.OfType <Voting>().Where(x => x.State == (byte)ContentState.Approved); IEnumerable <Content> content = content1.Union(content2); IEnumerable <Content> feed = null; if (contentType.Posts) { IEnumerable <Post> posts = content.OfType <Post>(); if (feed == null) { feed = posts; } else { feed = feed.Union(posts); } } if (contentType.Polls) { IEnumerable <Poll> polls = content.OfType <Poll>(); if (feed == null) { feed = polls; } else { feed = feed.Union(polls); } } if (contentType.Petitions) { IEnumerable <Petition> petitions = content.OfType <Petition>(); if (feed == null) { feed = petitions; } else { feed = feed.Union(petitions); } } if (contentType.Elections) { IEnumerable <Election> elections = content.OfType <Election>(); if (feed == null) { feed = elections; } else { feed = feed.Union(elections); } } if (year.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Year == year.Value); } if (month.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Month == month.Value); } if (day.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Day == day.Value); } Feed = new _ContentFeedViewModel(feed.OrderByDescending(x => x.PublishDate)); Calendar = new _CalendarViewModel(group, year, month, day); } } }
public UserArchiveViewModel(User user, int?year, int?month, int?day, ContentTypeFilter contentType, Personality personality) { Feed = new _ContentFeedViewModel(); Calendar = new _CalendarViewModel(); if (user != null) { FullName = user.FullName; UserId = user.Id; ContentType = contentType; Personality = personality; if (contentType.IsSomethingChecked() && personality.IsSomethingChecked()) { IEnumerable <Content> content = user.Contents.Where(x => x.State == (byte)ContentState.Approved); IEnumerable <Content> feed = null; if (contentType.Posts) { IEnumerable <Post> posts = null; if (personality.User && personality.Group) { posts = content.OfType <Post>(); } else if (personality.User) { posts = content.OfType <Post>().Where(x => !x.GroupId.HasValue); } else if (personality.Group) { posts = content.OfType <Post>().Where(x => x.GroupId.HasValue); } if (feed == null) { feed = posts; } else { feed = feed.Union(posts); } } if (contentType.Petitions) { IEnumerable <Petition> petitions = null; if (personality.User && personality.Group) { petitions = content.OfType <Petition>(); } else if (personality.User) { petitions = content.OfType <Petition>().Where(x => x.Group == null); } else if (personality.Group) { petitions = content.OfType <Petition>().Where(x => x.Group != null); } if (feed == null) { feed = petitions; } else { feed = feed.Union(petitions); } } if (year.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Year == year.Value); } if (month.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Month == month.Value); } if (day.HasValue) { feed = feed.Where(x => x.PublishDate.Value.Day == day.Value); } Feed = new _ContentFeedViewModel(feed.OrderByDescending(x => x.PublishDate)); Calendar = new _CalendarViewModel(user, year, month, day); } } }