private static bool CheckWorkflow(ClientPipelineArgs args, Item item) { Assert.ArgumentNotNull((object)args, "args"); Assert.ArgumentNotNull((object)item, "item"); if (args.Parameters["workflow"] == "1") { return(true); } args.Parameters["workflow"] = "1"; if (args.IsPostBack) { if (args.Result == "yes") { args.IsPostBack = false; return(true); } args.AbortPipeline(); return(false); } SiteContext site = Factory.GetSite("publisher"); if (site != null && !site.EnableWorkflow) { return(true); } IWorkflowProvider workflowProvider = Context.ContentDatabase.WorkflowProvider; if (workflowProvider == null || workflowProvider.GetWorkflows().Length <= 0) { return(true); } IWorkflow workflow = workflowProvider.GetWorkflow(item); if (workflow == null) { return(true); } WorkflowState state = workflow.GetState(item); if (state == null || state.FinalState) { return(true); } args.Parameters["workflow"] = "0"; if (state.PreviewPublishingTargets.Any <string>()) { return(true); } SheerResponse.Confirm(Translate.Text("The current item \"{0}\" is in the workflow state \"{1}\"\nand will not be published.\n\nAre you sure you want to publish?", (object)item.DisplayName, (object)state.DisplayName)); args.WaitForPostBack(); return(false); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Context.ClientPage.IsEvent) { IWorkflowProvider workflowProvider = Context.ContentDatabase.WorkflowProvider; if (workflowProvider != null) { foreach (IWorkflow workflow in workflowProvider.GetWorkflows()) { this.DisplayWorkflow(workflow); } } this.UpdateRibbon(); } this.WireUpNavigators(Context.ClientPage); }
/// <summary>Gets the commands.</summary> /// <param name="items">The items to get commands for.</param> /// <param name="workflow">The workflow.</param> /// <param name="commands">The commands.</param> private static void GetCommands(Item[] items, out IWorkflow workflow, out WorkflowCommand[] commands) { Assert.ArgumentNotNull((object)items, "items"); Item obj = items[0]; if (obj != null) { IWorkflowProvider workflowProvider = Context.ContentDatabase.WorkflowProvider; if (workflowProvider != null && workflowProvider.GetWorkflows().Length > 0) { workflow = workflowProvider.GetWorkflow(obj); if (workflow != null && workflow.GetState(obj) != null) { commands = WorkflowFilterer.FilterVisibleCommands(workflow.GetCommands(obj), obj); return; } } } workflow = (IWorkflow)null; commands = (WorkflowCommand[])null; }
protected void OnViewMenuClick() { Menu control = new Menu(); IWorkflowProvider workflowProvider = Context.ContentDatabase.WorkflowProvider; if (workflowProvider != null) { foreach (IWorkflow workflow in workflowProvider.GetWorkflows()) { string paneID = this.GetPaneID(workflow); string str2 = Registry.GetString("/Current_User/Panes/" + paneID); control.Add(Control.GetUniqueID("ctl"), workflow.Appearance.DisplayName, workflow.Appearance.Icon, string.Empty, ((str2 != "hidden") ? "workbox:hide" : "workbox:show") + "(id=" + paneID + ")", str2 != "hidden", string.Empty, MenuItemType.Check); } if (control.Controls.Count > 0) { control.AddDivider(); } control.Add("Refresh", "Applications/16x16/refresh.png", "Refresh"); } Context.ClientPage.ClientResponse.ShowPopup("ViewMenu", "below", control); }