Пример #1
0
        /**
         * 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);
        }
Пример #2
0
        public static bool IsSomethingChecked(this ContentTypeFilter contentType)
        {
            if (contentType.Elections || contentType.Petitions || contentType.Polls || contentType.Posts)
            {
                return(true);
            }

            return(false);
        }
Пример #3
0
        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();
        }
Пример #4
0
        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;
        }
Пример #5
0
 public IList<CmsContentType> GetContentTypes(ContentTypeFilter filter)
 {
     return GetContentTypes(CurrentSite.Guid, filter);
 }
Пример #6
0
        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);
                }
            }
        }
Пример #7
0
        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);
                }
            }
        }