Example #1
0
        private void didChangeFormMode(FormModeEnum value)
        {
            var isFormReady          = value == FormModeEnum.Ready;
            var selectedCommandCount = countSelectedCommands();

            setEnabled(txtConfigFile, isFormReady);
            setEnabled(btnBrowseConfig, isFormReady);
            setEnabled(btnLoadConfig, isFormReady);
            setEnabled(commandsList, isFormReady);
            setEnabled(btnRun, isFormReady && selectedCommandCount > 0);
            setVisible(btnRun, value == FormModeEnum.Ready || value == FormModeEnum.RunningPreflight);
            setEnabled(btnPreflight, isFormReady && selectedCommandCount > 0);
            setEnabled(btnLoadConfig, txtConfigFile.Text.Trim().Length > 0);
            setVisible(cancelButton, value == FormModeEnum.RunningCommands);

            refreshStatusText(selectedCommandCount);
        }
Example #2
0
 void DocumentManager_OnBeforeAction(object sender, DocumentManagerEventArgs e)
 {
     // Store old form mode (will be used to
     formModebeforeSave = formElem.FormMode;
 }
Example #3
0
 public ChangeFormModeArgs(FormModeEnum pEnmFormMode)
 {
     this.FormMode = pEnmFormMode;
 }
    /// <summary>
    /// Process save action with special script handling
    /// </summary>
    /// <param name="origMode">Original workflow mode</param>
    /// <param name="originalStep">Original workflow step</param>
    /// <param name="isDialog">Indicates whether is in dialog</param>
    private bool ProcessSaveAction(FormModeEnum origMode, WorkflowStepInfo originalStep, bool isDialog)
    {
        bool refreshTree = false;

        switch (origMode)
        {
            case FormModeEnum.Update:
                if (DocumentManager.AutoCheck)
                {
                    if ((originalStep == null) || originalStep.StepIsArchived || originalStep.StepIsPublished)
                    {
                        refreshTree = true;
                    }
                }

                // Document properties changed
                refreshTree |= ((originalDocumentName != Node.DocumentName) || (wasInPublishedStep != Node.IsInPublishStep) || (wasArchived != Node.IsArchived)
                                         || (((originalPublishFrom != Node.DocumentPublishFrom) || (originalPublishTo != Node.DocumentPublishTo))
                                             && (DocumentManager.AutoCheck || (WorkflowManager.GetNodeWorkflow(Node) == null))));

                break;

            case FormModeEnum.Insert:
            case FormModeEnum.InsertNewCultureVersion:

                TreeNode node = Node;

                // Handle new culture version for linked documents from different site
                int sourceNodeId = QueryHelper.GetInteger("sourcenodeid", 0);
                if (sourceNodeId > 0)
                {
                    node = node.TreeProvider.SelectSingleNode(TreeProvider.ALL_SITES, null, node.DocumentCulture, false, node.NodeClassName, "NodeID = " + sourceNodeId, null, -1, false);
                }

                // Create another document
                if (DocumentManager.CreateAnother)
                {
                    string refreshScript = string.Empty;

                    // Call RefreshTree() only when not in a modal dialog, otherwise the dialog would be closed
                    if (!isDialog)
                    {
                        refreshScript = "RefreshTree(" + node.NodeParentID + "," + node.NodeParentID + ");";
                    }

                    refreshScript += " CreateAnother();";
                    AddScript(refreshScript);
                }
                else
                {
                    // Refresh frame in split mode
                    if ((origMode == FormModeEnum.InsertNewCultureVersion) && UIContext.DisplaySplitMode && (CultureHelper.GetOriginalPreferredCulture() != node.DocumentCulture))
                    {
                        AddScript("SplitModeRefreshFrame();");
                    }
                    else
                    {
                        string refreshScript = null;
                        string tab = "Page";

                        // If not menu item type nor EditLive view mode, switch to form mode to keep editing the form
                        if (!TreePathUtils.IsMenuItemType(node.NodeClassName) && (PortalContext.ViewMode != ViewModeEnum.EditLive))
                        {
                            refreshScript = String.Format("SetMode('{0}', true);", ViewModeEnum.EditForm);

                            PortalContext.ViewMode = ViewModeEnum.EditForm;
                            tab = "EditForm";
                        }

                        refreshScript += String.Format("RefreshTree({0}, {0}); SelectNode({0}, null, '{1}');", node.NodeID, tab);

                        // Document tree is refreshed and new document is displayed
                        AddScript(refreshScript);
                    }
                }
                break;
        }

        return refreshTree;
    }
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        // Keep original mode
        originalMode = DocumentManager.Mode;

        // Initialize e-mail check box
        if ((DocumentManager.Mode != FormModeEnum.Insert) && (DocumentManager.Mode != FormModeEnum.InsertNewCultureVersion))
        {
            WorkflowInfo workflow = DocumentManager.Workflow;
            if (workflow != null)
            {
                // Keep the value
                if (RequestHelper.IsPostBack())
                {
                    mSendNotification = chkEmails.Checked;
                }
                chkEmails.Checked = workflow.SendEmails(DocumentManager.SiteName, WorkflowEmailTypeEnum.Unknown);
            }
        }
    }
    protected override void OnLoad(EventArgs e)
    {
        // Handle callback in OnLoad event because of ShortIDs
        var parameters = Request.Form["params"];
        if (parameters != null)
        {
            if (parameters.StartsWith(CALLBACK_ID + ClientID))
            {
                string[] args = parameters.Split(new string[] { CALLBACK_SEP }, StringSplitOptions.None);
                DocumentManager.Mode = FormModeEnum.Update;
                DocumentManager.ClearNode();
                DocumentManager.NodeID = ValidationHelper.GetInteger(args[1], 0);
                DocumentManager.CultureCode = ValidationHelper.GetString(args[2], null);
                Response.Clear();
                bool refreshNode = (Node.NodeSiteID != CMSContext.CurrentSiteID);
                if (Step != null)
                {
                    Response.Write(CALLBACK_ID + DocumentManager.GetDocumentInfo(HandleWorkflow) + CALLBACK_SEP + DocumentManager.RefreshActionContent.ToString().ToLowerCSafe() + CALLBACK_SEP + Step.StepID + CALLBACK_SEP + refreshNode.ToString().ToLowerCSafe());
                }
                else
                {
                    Response.Write(CALLBACK_ID + DocumentManager.GetDocumentInfo(false) + CALLBACK_SEP + "false" + CALLBACK_SEP + "0" + CALLBACK_SEP + refreshNode.ToString().ToLowerCSafe());
                }
                Response.End();
                return;
            }
        }

        base.OnLoad(e);

        // Keep original mode
        originalMode = DocumentManager.Mode;

        if (!string.IsNullOrEmpty(HelpTopicName))
        {
            helpElem.TopicName = HelpTopicName;
            pnlHelp.Visible = true;
        }

        if (!string.IsNullOrEmpty(HelpName))
        {
            helpElem.HelpName = HelpName;
        }

        // Perform full post-back if not in update panel
        menu.PerformFullPostBack = !ControlsHelper.IsInUpdatePanel(this);

        // Initialize e-mail check box
        if ((DocumentManager.Mode != FormModeEnum.Insert) && (DocumentManager.Mode != FormModeEnum.InsertNewCultureVersion))
        {
            WorkflowInfo workflow = DocumentManager.Workflow;
            if (workflow != null)
            {
                if (!RequestHelper.IsPostBack())
                {
                    chkEmails.Checked = workflow.SendEmails(DocumentManager.SiteName, WorkflowEmailTypeEnum.Unknown);
                }
            }
        }
    }