Example #1
0
        public virtual IEnumerable <string> GetNodeFlags(ContentItem item)
        {
            var type = item.GetContentType();
            var tags = new List <string>();

            tags.Add(item.State.ToString());
            foreach (var possibleState in Enum.GetValues(typeof(CollectionState)).Cast <CollectionState>())
            {
                if (possibleState != CollectionState.Unknown && item.ChildState.HasFlag(possibleState))
                {
                    tags.Add(possibleState.ToString());
                }
            }

            if (!item.IsPublished())
            {
                tags.Add("NotPublished");
            }
            if (item.IsExpired())
            {
                tags.Add("Expired");
            }
            if (!item.Visible)
            {
                tags.Add("Invisible");
            }
            if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
            {
                tags.Add("Locked");
            }

            if (Drafts.HasDraft(item))
            {
                tags.Add("HasDraft");
            }

            if (item.Created.AddDays(3) > Utility.CurrentTime())
            {
                tags.Add("Recent");
            }

            tags.Add(type.Assembly.GetName().Name);

            tags.AddRange(Utility.GetBaseTypesAndSelf(type).Where(t => t != typeof(object)).Select(t => t.Name));
            tags.AddRange(type.GetInterfaces().Where(t => t.Namespace.Contains("Definition")).Select(t => t.Name));

            var d = Definitions.GetDefinition(item);

            tags.AddRange(d.AdditionalFlags);
            if (d.RemovedFlags.Any())
            {
                tags.RemoveAll(f => d.RemovedFlags.Contains(f));
            }

            return(tags);
        }
Example #2
0
		/// <summary>Matches an item against the current filter.</summary>
		/// <param name="item"></param>
		/// <returns></returns>
		public override bool Match(ContentItem item)
		{
			var isMatch = item.IsPage;
			if (isMatch && RequirePublished)
				isMatch &= item.IsPublished() && !item.IsExpired();
			if (isMatch && RequireVisible)
				isMatch &= item.Visible;
			if (isMatch && RequireAuthorized)
				isMatch &= new AccessFilter().Match(item);
			return isMatch;
		}
		private void Fixit(ref int updatedItems, ContentItem item)
		{
			if (item.IsExpired())
				item.State = ContentState.Unpublished;
			else if (item.IsPublished())
				item.State = ContentState.Published;
			else
				item.State = ContentState.Waiting;

			repository.SaveOrUpdate(item);
			updatedItems++;
		}
        private void Fixit(ref int updatedItems, ContentItem item)
        {
            if (item.IsExpired())
            {
                item.State = ContentState.Unpublished;
            }
            else if (item.IsPublished())
            {
                item.State = ContentState.Published;
            }
            else
            {
                item.State = ContentState.Waiting;
            }

            repository.SaveOrUpdate(item);
            updatedItems++;
        }
Example #5
0
        /// <summary>Matches an item against the current filter.</summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public override bool Match(ContentItem item)
        {
            var isMatch = item.IsPage;

            if (isMatch && RequirePublished)
            {
                isMatch &= item.IsPublished() && !item.IsExpired();
            }
            if (isMatch && RequireVisible)
            {
                isMatch &= item.Visible;
            }
            if (isMatch && RequireAuthorized)
            {
                isMatch &= new AccessFilter().Match(item);
            }
            return(isMatch);
        }
Example #6
0
        private void ApplyStateFlags(TreeNode node, ContentItem item)
        {
            StringBuilder className = new StringBuilder();

            if (!item.IsPublished())
            {
                className.Append("unpublished ");
            }
            else if (item.Published > N2.Utility.CurrentTime().AddDays(-1))
            {
                className.Append("day ");
            }
            else if (item.Published > N2.Utility.CurrentTime().AddDays(-7))
            {
                className.Append("week ");
            }
            else if (item.Published > N2.Utility.CurrentTime().AddMonths(-1))
            {
                className.Append("month ");
            }

            if (item.IsExpired())
            {
                className.Append("expired ");
            }

            if (!item.Visible)
            {
                className.Append("notvisible ");
            }

            if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
            {
                className.Append("locked ");
            }

            node.CssClass = className.ToString();
        }
Example #7
0
        private string GetClassName(ContentItem item)
        {
            StringBuilder className = new StringBuilder();

            if (!item.IsPublished())
            {
                className.Append("unpublished ");
            }
            else if (item.Published > DateTime.Now.AddDays(-1))
            {
                className.Append("day ");
            }
            else if (item.Published > DateTime.Now.AddDays(-7))
            {
                className.Append("week ");
            }
            else if (item.Published > DateTime.Now.AddMonths(-1))
            {
                className.Append("month ");
            }

            if (item.IsExpired())
            {
                className.Append("expired ");
            }

            if (!item.Visible)
            {
                className.Append("invisible ");
            }

            if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
            {
                className.Append("locked ");
            }

            return(className.ToString());
        }
Example #8
0
		public virtual IEnumerable<string> GetNodeFlags(ContentItem item)
		{
			var type = item.GetContentType();
			var tags = new List<string>();

			tags.Add(item.State.ToString());
			foreach (var possibleState in Enum.GetValues(typeof(CollectionState)).Cast<CollectionState>())
				if (possibleState != CollectionState.Unknown && item.ChildState.HasFlag(possibleState))
					tags.Add(possibleState.ToString());

			if (!item.IsPublished())
				tags.Add("NotPublished");
			if (item.IsExpired())
				tags.Add("Expired");
			if (!item.Visible)
				tags.Add("Invisible");
			if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
				tags.Add("Locked");

			if (Drafts.HasDraft(item))
				tags.Add("HasDraft");

			if (item.Created.AddDays(3) > Utility.CurrentTime())
				tags.Add("Recent");

			tags.Add(type.Assembly.GetName().Name);

			tags.AddRange(Utility.GetBaseTypesAndSelf(type).Where(t => t != typeof(object)).Select(t => t.Name));
			tags.AddRange(type.GetInterfaces().Where(t => t.Namespace.Contains("Definition")).Select(t => t.Name));

			var d = Definitions.GetDefinition(item);
			tags.AddRange(d.AdditionalFlags);
			if (d.RemovedFlags.Any())
				tags.RemoveAll(f => d.RemovedFlags.Contains(f));

			return tags;
		}
Example #9
0
		private void ApplyStateFlags(TreeNode node, ContentItem item)
		{
			StringBuilder className = new StringBuilder();

			if (!item.IsPublished())
				className.Append("unpublished ");
			else if (item.Published > N2.Utility.CurrentTime().AddDays(-1))
				className.Append("day ");
			else if (item.Published > N2.Utility.CurrentTime().AddDays(-7))
				className.Append("week ");
			else if (item.Published > N2.Utility.CurrentTime().AddMonths(-1))
				className.Append("month ");

			if (item.IsExpired())
			{
				className.Append("expired ");
			}

			if (!item.Visible)
			{
				className.Append("notvisible ");
			}

			if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
			{
				className.Append("locked ");
			}

			node.CssClass = className.ToString();
		}
Example #10
0
		private string GetClassName(ContentItem item)
		{
			StringBuilder className = new StringBuilder();

			if (!item.IsPublished())
				className.Append("unpublished ");
			else if (item.Published > DateTime.Now.AddDays(-1))
				className.Append("day ");
			else if (item.Published > DateTime.Now.AddDays(-7))
				className.Append("week ");
			else if (item.Published > DateTime.Now.AddMonths(-1))
				className.Append("month ");

			if (item.IsExpired())
				className.Append("expired ");

			if (!item.Visible)
				className.Append("invisible ");

			if (item.AlteredPermissions != Permission.None && item.AuthorizedRoles != null && item.AuthorizedRoles.Count > 0)
				className.Append("locked ");

			return className.ToString();
		}
Example #11
0
		/// <summary>Tells whether the item is published, i.e. now is between it's published and expires dates.</summary>
		/// <param name="item">The item to check.</param>
		/// <returns>True if the item is published</returns>
		public static bool IsPublished(ContentItem item)
		{
			return item.IsPublished() && !item.IsExpired();
		}
Example #12
0
 /// <summary>Tells whether the item is published, i.e. now is between it's published and expires dates.</summary>
 /// <param name="item">The item to check.</param>
 /// <returns>True if the item is published</returns>
 public static bool IsPublished(ContentItem item)
 {
     return(item.IsPublished() && !item.IsExpired());
 }