Ejemplo n.º 1
0
        public void GetNotifications(GetPageEditorNotificationsArgs arguments)
        {
            if (arguments == null)
            {
                return;
            }
            var wfModel = new ItemWorkflowModel(arguments.ContextItem);

            if (wfModel.ShowNotification)
            {
                SetNotification(arguments, wfModel);
            }
        }
        public void GetNotifications(GetContentEditorWarningsArgs arguments, Item contextItem)
        {
            if (arguments == null)
            {
                return;
            }
            var wfModel = new ItemWorkflowModel(contextItem);

            if (wfModel.ShowNotification)
            {
                SetNotification(arguments, wfModel);
            }
        }
        private void SetNotification(GetContentEditorWarningsArgs arguments, ItemWorkflowModel wfModel)
        {
            var editorNotification = arguments.Add();

            editorNotification.Title = "Datasource Item in Workflow";
            editorNotification.Text  = wfModel.GetEditorDescription(false);
            editorNotification.Icon  = wfModel.WorkflowState.Icon;
            if (wfModel.HasWriteAccess())
            {
                foreach (var command in wfModel.Commands)
                {
                    editorNotification.AddOption(command.DisplayName, new WorkflowCommandBuilder(wfModel.ContextItem, wfModel.Workflow, command).ToString());
                }
            }
        }
Ejemplo n.º 4
0
        private void SetNotification(GetPageEditorNotificationsArgs arguments, ItemWorkflowModel wfModel)
        {
            var editorNotification = new PageEditorNotification(wfModel.GetEditorDescription(), PageEditorNotificationType.Warning)
            {
                Icon = wfModel.WorkflowState.Icon
            };

            if (wfModel.HasWriteAccess())
            {
                foreach (var notificationOption in wfModel.Commands.Select(command => new PageEditorNotificationOption(command.DisplayName, new WorkflowCommandBuilder(wfModel.ContextItem, wfModel.Workflow, command).ToString())))
                {
                    editorNotification.Options.Add(notificationOption);
                }
            }
            arguments.Notifications.Add(editorNotification);
        }
Ejemplo n.º 5
0
        protected override ValidatorResult Evaluate()
        {
            var item   = GetItem();
            var result = ValidatorResult.Valid;
            var paths  = new List <string>();

            foreach (var ds in item.GetAllUniqueDataSourceItems())
            {
                var wfModel = new ItemWorkflowModel(ds);
                if (wfModel.NoNulls && !wfModel.WorkflowState.FinalState)
                {
                    paths.Add(ds.Paths.ContentPath);
                    result = GetMaxValidatorResult();
                }
            }

            this.Text = string.Empty;
            if (paths.Count > 0)
            {
                Text += GetText("The item{0} {1} should be in a final workflow state.", paths.Count > 1 ? "s" : string.Empty, GetPathsString(paths));
            }

            return(result);
        }