Beispiel #1
0
    /// <summary>
    /// Gets and bulk updates UI elements. Called when the "Get and bulk update elements" button is pressed.
    /// Expects the CreateUIElement method to be run first.
    /// </summary>
    private bool GetAndBulkUpdateUIElements()
    {
        // Prepare the parameters
        string where = "ElementName LIKE N'MyNewElement%'";

        // Get the data
        DataSet elements = UIElementInfoProvider.GetUIElements(where, null);

        if (!DataHelper.DataSourceIsEmpty(elements))
        {
            // Loop through the individual items
            foreach (DataRow elementDr in elements.Tables[0].Rows)
            {
                // Create object from DataRow
                UIElementInfo modifyElement = new UIElementInfo(elementDr);

                // Update the properties
                modifyElement.ElementDisplayName = modifyElement.ElementDisplayName.ToUpper();

                // Save the changes
                UIElementInfoProvider.SetUIElementInfo(modifyElement);
            }

            return(true);
        }

        return(false);
    }
    /// <summary>
    /// Handles btnOK's OnClick event - Update resource info.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        // Finds whether required fields are not empty
        string result = new Validator().NotEmpty(tbModuleDisplayName.Text.Trim(), GetString("Administration-Module_New.ErrorEmptyModuleDisplayName")).NotEmpty(tbModuleCodeName.Text, GetString("Administration-Module_New.ErrorEmptyModuleCodeName"))
                        .IsCodeName(tbModuleCodeName.Text, GetString("general.invalidcodename"))
                        .Result;

        if (result == "")
        {
            // Check unique name
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(tbModuleCodeName.Text);
            if ((ri == null) || (ri.ResourceId == moduleId))
            {
                // Get object
                if (ri == null)
                {
                    ri = ResourceInfoProvider.GetResourceInfo(moduleId);
                    if (ri == null)
                    {
                        ri = new ResourceInfo();
                    }
                }

                // Update resource info
                ri.ResourceId          = moduleId;
                ri.ResourceName        = tbModuleCodeName.Text;
                ri.ResourceDescription = txtModuleDescription.Text.Trim();
                ri.ResourceDisplayName = tbModuleDisplayName.Text.Trim();

                ResourceInfoProvider.SetResourceInfo(ri);

                // Update root UIElementInfo of the module
                UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceId);
                if (elemInfo == null)
                {
                    elemInfo = new UIElementInfo();
                }
                elemInfo.ElementResourceID  = ri.ResourceId;
                elemInfo.ElementDisplayName = ri.ResourceDisplayName;
                elemInfo.ElementName        = ri.ResourceName.ToLowerCSafe().Replace(".", "");
                elemInfo.ElementIsCustom    = false;
                UIElementInfoProvider.SetUIElementInfo(elemInfo);

                // Show message
                ShowChangesSaved();
            }
            else
            {
                // Show error message
                ShowError(GetString("Administration-Module_New.UniqueCodeName"));
            }
        }
        else
        {
            // Show error message
            ShowError(result);
        }
    }
Beispiel #3
0
    /// <summary>
    /// Gets and updates UI element. Called when the "Get and update element" button is pressed.
    /// Expects the CreateUIElement method to be run first.
    /// </summary>
    private bool GetAndUpdateUIElement()
    {
        // Get the UI element
        UIElementInfo updateElement = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement");

        if (updateElement != null)
        {
            // Update the properties
            updateElement.ElementDisplayName = updateElement.ElementDisplayName.ToLower();

            // Save the changes
            UIElementInfoProvider.SetUIElementInfo(updateElement);

            return(true);
        }

        return(false);
    }
Beispiel #4
0
    /// <summary>
    /// Creates UI element. Called when the "Create element" button is pressed.
    /// Expects the CreateModule method to be run first.
    /// </summary>
    private bool CreateUIElement()
    {
        // Get the module
        ResourceInfo module = ResourceInfoProvider.GetResourceInfo("MyNewModule");

        if (module != null)
        {
            // Get the parent UI element
            UIElementInfo rootElement = UIElementInfoProvider.GetRootUIElementInfo(module.ResourceId);
            if (rootElement == null)
            {
                // Create root UI element
                rootElement = new UIElementInfo();
                rootElement.ElementResourceID  = module.ResourceId;
                rootElement.ElementDisplayName = module.ResourceDisplayName;
                rootElement.ElementName        = module.ResourceName.ToLower().Replace(".", "");
                rootElement.ElementIsCustom    = false;

                // Save root UI element
                UIElementInfoProvider.SetUIElementInfo(rootElement);
            }

            // Create new UI element object
            UIElementInfo newElement = new UIElementInfo();

            // Set the properties
            newElement.ElementDisplayName = "My new element";
            newElement.ElementName        = "MyNewElement";
            newElement.ElementResourceID  = module.ResourceId;
            newElement.ElementIsCustom    = true;
            newElement.ElementParentID    = rootElement.ElementID;

            // Save the UI element
            UIElementInfoProvider.SetUIElementInfo(newElement);

            return(true);
        }

        return(false);
    }
    protected void btnOk_Click(object sender, EventArgs e)
    {
        string result = ValidateForm();

        if (String.IsNullOrEmpty(result))
        {
            if (ElementID == 0)
            {
                // Create new UI element info
                elemInfo = new UIElementInfo();
                elemInfo.ElementResourceID  = ResourceID;
                elemInfo.ElementParentID    = ParentID;
                elemInfo.ElementFromVersion = string.Empty;
                elemInfo.ElementOrder       = UIElementInfoProvider.GetLastElementOrder(ParentID) + 1;
            }
            else
            {
                // If parent changed set last order
                if (elemSelector.ElementID != elemInfo.ElementParentID)
                {
                    elemInfo.ElementOrder = UIElementInfoProvider.GetLastElementOrder(elemSelector.ElementID) + 1;
                }
                elemInfo.ElementParentID = this.elemSelector.ElementID;
            }
            elemInfo.ElementDisplayName = this.txtDisplayName.Text.Trim();
            elemInfo.ElementName        = this.txtName.Text.Trim();
            elemInfo.ElementIsCustom    = this.chkCustom.Checked;
            elemInfo.ElementCaption     = this.txtCaption.Text.Trim();
            elemInfo.ElementDisplayName = this.txtDisplayName.Text.Trim();
            elemInfo.ElementTargetURL   = this.txtTargetURL.Text.Trim();
            elemInfo.ElementIconPath    = this.txtIconPath.Text.Trim();
            elemInfo.ElementDescription = this.txtDescription.Text.Trim();
            elemInfo.ElementSize        = (this.radRegular.Checked ? UIElementSizeEnum.Regular : UIElementSizeEnum.Large);
            if (plcCMSVersion.Visible)
            {
                elemInfo.ElementFromVersion = this.versionSelector.Value.ToString();
            }

            // Set UI element info
            UIElementInfoProvider.SetUIElementInfo(elemInfo);

            // Get updated element info (ElementIDPath was changed in DB)
            elemInfo = UIElementInfoProvider.GetUIElementInfo(elemInfo.ElementID);

            // Reload header and content after save
            StringBuilder sb = new StringBuilder();
            sb.Append("if (window.parent != null) {");
            if (ElementID == 0)
            {
                sb.Append("if (window.parent.parent.frames['uicontent'] != null) {");
                sb.Append("window.parent.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "&saved=1';");
                sb.Append("}");
                sb.Append("if (window.parent.frames['uicontent'] != null) {");
                sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "&saved=1';");
                sb.Append("}");
            }
            else
            {
                sb.Append("if (window.parent.parent.frames['header'] != null) {");
                sb.Append("window.parent.parent.frames['header'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Header.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';");
                sb.Append("}");
                sb.Append("if (window.parent.frames['header'] != null) {");
                sb.Append("window.parent.frames['header'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Header.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';");
                sb.Append("}");
            }
            sb.Append("if (window.parent.parent.frames['tree'] != null) {");
            sb.Append("window.parent.parent.frames['tree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Tree.aspx") + "?moduleID=" + ResourceID + "&path=" + elemInfo.ElementIDPath + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';");
            sb.Append("}");
            sb.Append("if (window.parent.frames['tree'] != null) {");
            sb.Append("window.parent.frames['tree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Tree.aspx") + "?moduleID=" + ResourceID + "&path=" + elemInfo.ElementIDPath + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';");
            sb.Append("}");
            sb.Append("}");

            this.lblInfo.ResourceString = "general.changessaved";
            this.lblInfo.Visible        = true;

            this.ltlScript.Text = ScriptHelper.GetScript(sb.ToString());
        }
        else
        {
            lblError.Visible = true;
            lblError.Text    = result;
        }
    }
Beispiel #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int moduleId = QueryHelper.GetInteger("moduleid", 0);
        int parentId = QueryHelper.GetInteger("parentId", 0);

        ScriptHelper.RegisterJQuery(this.Page);

        // Use images according to culture
        if (CultureHelper.IsUICultureRTL())
        {
            this.uniTree.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false);
        }
        else
        {
            this.uniTree.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false);
        }

        if (!RequestHelper.IsPostBack())
        {
            // Get module root element
            UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(moduleId);
            if (elemInfo != null)
            {
                this.uniTree.SelectPath = elemInfo.ElementIDPath;
                this.uniTree.ExpandPath = elemInfo.ElementIDPath + "/";
                this.menuElem.Value     = elemInfo.ElementID + "|" + elemInfo.ElementParentID;
            }
            else
            {
                // Get current resource
                ResourceInfo resInfo = ResourceInfoProvider.GetResourceInfo(moduleId);
                if (resInfo != null)
                {
                    // Create new UI element
                    elemInfo = new UIElementInfo();
                    elemInfo.ElementResourceID  = moduleId;
                    elemInfo.ElementDisplayName = resInfo.ResourceDisplayName;
                    elemInfo.ElementName        = resInfo.ResourceName.ToLower().Replace(".", "");
                    elemInfo.ElementIsCustom    = false;

                    UIElementInfoProvider.SetUIElementInfo(elemInfo);
                    this.uniTree.SelectPath = elemInfo.ElementIDPath;
                    this.uniTree.ExpandPath = elemInfo.ElementIDPath;
                    this.menuElem.Value     = elemInfo.ElementID + "|0";
                }
            }
        }

        this.menuElem.ResourceID   = moduleId;
        this.menuElem.AfterAction += new OnActionEventHandler(menuElem_AfterAction);

        // Create and set UIElements provider
        UniTreeProvider elementProvider = new UniTreeProvider();

        elementProvider.ObjectType        = "CMS.UIElement";
        elementProvider.DisplayNameColumn = "ElementDisplayName";
        elementProvider.IDColumn          = "ElementID";
        elementProvider.LevelColumn       = "ElementLevel";
        elementProvider.OrderColumn       = "ElementOrder";
        elementProvider.ParentIDColumn    = "ElementParentID";
        elementProvider.PathColumn        = "ElementIDPath";
        elementProvider.ValueColumn       = "ElementID";
        elementProvider.ChildCountColumn  = "ElementChildCount";
        elementProvider.WhereCondition    = "ElementResourceID = " + moduleId;
        elementProvider.Columns           = "ElementID,ElementLevel,ElementOrder,ElementParentID,ElementIDPath,ElementChildCount,ElementDisplayName";

        this.uniTree.UsePostBack     = false;
        this.uniTree.ProviderObject  = elementProvider;
        this.uniTree.ExpandTooltip   = GetString("general.expand");
        this.uniTree.CollapseTooltip = GetString("general.collapse");

        this.uniTree.NodeTemplate         = "<span id=\"node_##NODEID##\" onclick=\"SelectNode(##NODEID##,##PARENTNODEID##," + moduleId + "); return false;\" name=\"treeNode\" class=\"ContentTreeItem\"><span class=\"Name\">##NODENAME##</span></span>";
        this.uniTree.SelectedNodeTemplate = "<span id=\"node_##NODEID##\" onclick=\"SelectNode(##NODEID##,##PARENTNODEID##," + moduleId + "); return false;\" name=\"treeNode\" class=\"ContentTreeItem ContentTreeSelectedItem\"><span class=\"Name\">##NODENAME##</span></span>";

        if (!RequestHelper.IsPostBack())
        {
            string selectedPath = QueryHelper.GetString("path", String.Empty);
            int    elementId    = QueryHelper.GetInteger("elementId", 0);

            if (!string.IsNullOrEmpty(selectedPath))
            {
                this.uniTree.SelectPath = selectedPath;
            }

            if (elementId > 0)
            {
                this.menuElem.ElementID = elementId;
                this.menuElem.ParentID  = parentId;
                this.menuElem.Value     = elementId + "|" + parentId;
            }
        }

        // Load data
        this.uniTree.ReloadData();

        string script = "var frameURL = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "';";

        script += "var newURL = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_New.aspx") + "';";
        script += "var postParentId = " + parentId + ";";

        this.ltlScript.Text = ScriptHelper.GetScript(script);
    }
Beispiel #7
0
    /// <summary>
    /// Handles btnOK's OnClick event - Update resource info.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        // finds whether required fields are not empty
        string result = new Validator().NotEmpty(tbModuleDisplayName.Text.Trim(), GetString("Administration-Module_New.ErrorEmptyModuleDisplayName")).NotEmpty(tbModuleCodeName.Text, GetString("Administration-Module_New.ErrorEmptyModuleCodeName"))
                        .IsCodeName(tbModuleCodeName.Text, GetString("general.invalidcodename"))
                        .Result;

        if (this.chkShowInDevelopment.Checked && String.IsNullOrEmpty(this.txtResourceUrl.Text.Trim()))
        {
            result = GetString("module_edit.emptyurl");
        }

        if (result == "")
        {
            // Check unique name
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(tbModuleCodeName.Text);
            if ((ri == null) || (ri.ResourceId == moduleId))
            {
                // Get object
                if (ri == null)
                {
                    ri = ResourceInfoProvider.GetResourceInfo(moduleId);
                    if (ri == null)
                    {
                        ri = new ResourceInfo();
                    }
                }

                //Update resource info
                ri.ResourceId          = moduleId;
                ri.ResourceName        = tbModuleCodeName.Text;
                ri.ResourceDescription = txtModuleDescription.Text.Trim();
                ri.ResourceDisplayName = tbModuleDisplayName.Text.Trim();

                ri.ShowInDevelopment = chkShowInDevelopment.Checked;
                ri.ResourceUrl       = (ri.ShowInDevelopment ? txtResourceUrl.Text : "");
                pnlResourceUrl.Style.Add("display", (ri.ShowInDevelopment ? "block" : "none"));

                ResourceInfoProvider.SetResourceInfo(ri);

                // Update root UIElementInfo of the module
                UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceId);
                if (elemInfo == null)
                {
                    elemInfo = new UIElementInfo();
                }
                elemInfo.ElementResourceID  = ri.ResourceId;
                elemInfo.ElementDisplayName = ri.ResourceDisplayName;
                elemInfo.ElementName        = ri.ResourceName.ToLower().Replace(".", "");
                elemInfo.ElementIsCustom    = false;
                UIElementInfoProvider.SetUIElementInfo(elemInfo);

                lblInfo.Visible = true;
                lblInfo.Text    = GetString("General.ChangesSaved");
            }
            else
            {
                lblInfo.Visible  = false;
                lblError.Visible = true;
                lblError.Text    = GetString("Administration-Module_New.UniqueCodeName");
            }
        }
        else
        {
            lblInfo.Visible  = false;
            lblError.Visible = true;
            lblError.Text    = result;
        }
    }