Example #1
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            int documentTypeId = int.Parse(helper.Request("nodeID"));

            if (documentTypeId > 0)
            {
                cms.businesslogic.web.DocumentType dt = new cms.businesslogic.web.DocumentType(documentTypeId);
                if (dt != null)
                {
                    Response.AddHeader("Content-Disposition", "attachment;filename=" + dt.Alias + ".udt");
                    Response.ContentType = "application/octet-stream";

                    XmlDocument doc = new XmlDocument();
                    doc.AppendChild(dt.ToXml(doc));


                    XmlWriterSettings writerSettings = new XmlWriterSettings();
                    writerSettings.Indent = true;

                    XmlWriter xmlWriter = XmlWriter.Create(Response.OutputStream, writerSettings);
                    doc.Save(xmlWriter);

                    //Response.Write(editDataType.ToXml(new XmlDocument()).OuterXml);
                }
            }
        }
		private void Page_Load(object sender, System.EventArgs e)
		{
			int documentTypeId = int.Parse(helper.Request("nodeID"));
			if (documentTypeId > 0) 
			{
				cms.businesslogic.web.DocumentType dt = new cms.businesslogic.web.DocumentType(documentTypeId);
				if (dt != null) 
				{
					Response.AddHeader("Content-Disposition", "attachment;filename=" + dt.Alias + ".udt");
					Response.ContentType = "application/octet-stream";

					XmlDocument doc = new XmlDocument();
					doc.AppendChild(dt.ToXml(doc));


					XmlWriterSettings writerSettings = new XmlWriterSettings();
					writerSettings.Indent = true;

					XmlWriter xmlWriter = XmlWriter.Create(Response.OutputStream, writerSettings);
					doc.Save(xmlWriter);

					//Response.Write(editDataType.ToXml(new XmlDocument()).OuterXml);
				}
			}
		}
Example #3
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            dt = new DocumentType(int.Parse(Request.QueryString["id"]));
            if (!Page.IsPostBack)
            {
                bindTemplates();

                ClientTools
                .SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree <loadNodeTypes>().Tree.Alias)
                .SyncTree(dt.Id.ToString(), false);
            }
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            dt = new DocumentType(int.Parse(Request.QueryString["id"]));
            if (!Page.IsPostBack)
            {
                bindTemplates();

                ClientTools
                    .SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree<loadNodeTypes>().Tree.Alias)
                     .SyncTree("-1,init," + dt.Path.Replace("-1,", ""), false);

            }


        }
Example #5
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            //validate!
            int id;
            if (!int.TryParse(Request.QueryString["id"], out id))
            {
                //if this is invalid show an error
                this.DisplayFatalError("Invalid query string");
                return;
            }
            m_ContentId = id;


            this.UnPublish.Click += new System.EventHandler(this.UnPublishDo);

            //_document = new cms.businesslogic.web.Document(int.Parse(Request.QueryString["id"]));
            _document = new Document(true, id);

            //check if the doc exists
            if (string.IsNullOrEmpty(_document.Path))
            {
                //if this is invalid show an error
                this.DisplayFatalError("No document found with id " + m_ContentId);
                //reset the content id to null so processing doesn't continue on OnLoad
                m_ContentId = null;
                return;
            }

            // we need to check if there's a published version of this document
            _documentHasPublishedVersion = _document.HasPublishedVersion();

            // Check publishing permissions
            if (!base.getUser().GetPermissions(_document.Path).Contains(ActionPublish.Instance.Letter.ToString()))
                _canPublish = controls.ContentControl.publishModes.SendToPublish;
            cControl = new controls.ContentControl(_document, _canPublish, "TabView1");

            cControl.ID = "TabView1";

            cControl.Width = Unit.Pixel(666);
            cControl.Height = Unit.Pixel(666);

            // Add preview button

            foreach (uicontrols.TabPage tp in cControl.GetPanels())
            {
                addPreviewButton(tp.Menu, _document.Id);
            }

            plc.Controls.Add(cControl);


            System.Web.UI.WebControls.PlaceHolder publishStatus = new PlaceHolder();
            if (_documentHasPublishedVersion)
            {
                littPublishStatus.Text = ui.Text("content", "lastPublished", base.getUser()) + ": " + _document.VersionDate.ToShortDateString() + " &nbsp; ";

                publishStatus.Controls.Add(littPublishStatus);
                if (base.getUser().GetPermissions(_document.Path).IndexOf("U") > -1)
                    UnPublish.Visible = true;
                else
                    UnPublish.Visible = false;
            }
            else
            {
                littPublishStatus.Text = ui.Text("content", "itemNotPublished", base.getUser());
                publishStatus.Controls.Add(littPublishStatus);
                UnPublish.Visible = false;
            }

            UnPublish.Text = ui.Text("content", "unPublish", base.getUser());
            UnPublish.ID = "UnPublishButton";
            UnPublish.Attributes.Add("onClick", "if (!confirm('" + ui.Text("defaultdialogs", "confirmSure", base.getUser()) + "')) return false; ");
            publishStatus.Controls.Add(UnPublish);

            publishProps.addProperty(ui.Text("content", "publishStatus", base.getUser()), publishStatus);

            // Template
            PlaceHolder template = new PlaceHolder();
            cms.businesslogic.web.DocumentType DocumentType = new cms.businesslogic.web.DocumentType(_document.ContentType.Id);
            cControl.PropertiesPane.addProperty(ui.Text("documentType"), new LiteralControl(DocumentType.Text));


            //template picker
            cControl.PropertiesPane.addProperty(ui.Text("template"), template);
            int defaultTemplate;
            if (_document.Template != 0)
                defaultTemplate = _document.Template;
            else
                defaultTemplate = DocumentType.DefaultTemplate;

            if (this.getUser().UserType.Name == "writer")
            {
                if (defaultTemplate != 0)
                    template.Controls.Add(new LiteralControl(cms.businesslogic.template.Template.GetTemplate(defaultTemplate).Text));
                else
                    template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate")));
            }
            else
            {
                ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", ""));
                foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates)
                {

                    ListItem tTemp = new ListItem(t.Text, t.Id.ToString());
                    if (t.Id == defaultTemplate)
                        tTemp.Selected = true;
                    ddlDefaultTemplate.Items.Add(tTemp);
                }
                template.Controls.Add(ddlDefaultTemplate);
            }


            // Editable update date, release date and expire date added by NH 13.12.04
            dp.ID = "updateDate";
            dp.Text = _document.UpdateDate.ToShortDateString() + " " + _document.UpdateDate.ToShortTimeString();
            publishProps.addProperty(ui.Text("content", "updateDate", base.getUser()), dp);

            dpRelease.ID = "releaseDate";
            dpRelease.DateTime = _document.ReleaseDate;
            dpRelease.ShowTime = true;
            publishProps.addProperty(ui.Text("content", "releaseDate", base.getUser()), dpRelease);

            dpExpire.ID = "expireDate";
            dpExpire.DateTime = _document.ExpireDate;
            dpExpire.ShowTime = true;
            publishProps.addProperty(ui.Text("content", "expireDate", base.getUser()), dpExpire);

            cControl.Save += new System.EventHandler(Save);
            cControl.SaveAndPublish += new System.EventHandler(Publish);
            cControl.SaveToPublish += new System.EventHandler(SendToPublish);

            // Add panes to property page...
            cControl.tpProp.Controls.AddAt(1, publishProps);
            cControl.tpProp.Controls.AddAt(2, linkProps);

            // add preview to properties pane too
            addPreviewButton(cControl.tpProp.Menu, _document.Id);


        }
        //PPH Handle doctype copies..
        private void HandleDocumentTypeCopy()
        {
            cms.businesslogic.web.DocumentType eDt = new umbraco.cms.businesslogic.web.DocumentType(int.Parse(helper.Request("id")));

            //Documentype exists.. create new doc type...
            if (eDt != null)
            {
                string Alias = rename.Text;
                cms.businesslogic.web.DocumentType dt = cms.businesslogic.web.DocumentType.MakeNew(base.getUser(), Alias.Replace("'", "''"));

                dt.IconUrl                    = eDt.IconUrl;
                dt.Thumbnail                  = eDt.Thumbnail;
                dt.Description                = eDt.Description;
                dt.allowedTemplates           = eDt.allowedTemplates;
                dt.DefaultTemplate            = eDt.DefaultTemplate;
                dt.AllowedChildContentTypeIDs = eDt.AllowedChildContentTypeIDs;

                dt.MasterContentType = int.Parse(masterType.SelectedValue);

                Hashtable oldNewTabIds = new Hashtable();
                foreach (cms.businesslogic.web.DocumentType.TabI tab in eDt.getVirtualTabs.ToList())
                {
                    if (tab.ContentType == eDt.Id)
                    {
                        int tId = dt.AddVirtualTab(tab.Caption);
                        oldNewTabIds.Add(tab.Id, tId);
                    }
                }

                foreach (cms.businesslogic.propertytype.PropertyType pt in eDt.PropertyTypes)
                {
                    if (pt.ContentTypeId == eDt.Id)
                    {
                        cms.businesslogic.propertytype.PropertyType nPt = umbraco.cms.businesslogic.propertytype.PropertyType.MakeNew(pt.DataTypeDefinition, dt, pt.Name, pt.Alias);
                        nPt.ValidationRegExp = pt.ValidationRegExp;
                        nPt.SortOrder        = pt.SortOrder;
                        nPt.Mandatory        = pt.Mandatory;
                        nPt.Description      = pt.Description;

                        if (pt.TabId > 0 && oldNewTabIds[pt.TabId] != null)
                        {
                            int newTabId = (int)oldNewTabIds[pt.TabId];
                            nPt.TabId = newTabId;
                        }
                    }
                }

                string returnUrl = SystemDirectories.Umbraco + "/settings/EditNodeTypeNew.aspx?id=" + dt.Id.ToString();

                dt.Save();


                pane_settings.Visible = false;
                panel_buttons.Visible = false;

                feedback.Text = "Document type copied";
                feedback.type = umbraco.uicontrols.Feedback.feedbacktype.success;

                ClientTools.ChangeContentFrameUrl(returnUrl);
            }
        }
Example #7
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            //validate!
            int id;

            if (!int.TryParse(Request.QueryString["id"], out id))
            {
                //if this is invalid show an error
                this.DisplayFatalError("Invalid query string");
                return;
            }
            m_ContentId = id;


            this.UnPublish.Click += new System.EventHandler(this.UnPublishDo);

            //_document = new cms.businesslogic.web.Document(int.Parse(Request.QueryString["id"]));
            _document = new Document(true, id);

            //check if the doc exists
            if (string.IsNullOrEmpty(_document.Path))
            {
                //if this is invalid show an error
                this.DisplayFatalError("No document found with id " + m_ContentId);
                //reset the content id to null so processing doesn't continue on OnLoad
                m_ContentId = null;
                return;
            }

            // we need to check if there's a published version of this document
            _documentHasPublishedVersion = _document.HasPublishedVersion();

            // Check publishing permissions
            if (!base.getUser().GetPermissions(_document.Path).Contains(ActionPublish.Instance.Letter.ToString()))
            {
                _canPublish = controls.ContentControl.publishModes.SendToPublish;
            }
            cControl = new controls.ContentControl(_document, _canPublish, "TabView1");

            cControl.ID = "TabView1";

            cControl.Width  = Unit.Pixel(666);
            cControl.Height = Unit.Pixel(666);

            // Add preview button

            foreach (uicontrols.TabPage tp in cControl.GetPanels())
            {
                addPreviewButton(tp.Menu, _document.Id);
            }

            plc.Controls.Add(cControl);


            System.Web.UI.WebControls.PlaceHolder publishStatus = new PlaceHolder();
            if (_documentHasPublishedVersion)
            {
                littPublishStatus.Text = ui.Text("content", "lastPublished", base.getUser()) + ": " + _document.VersionDate.ToShortDateString() + " &nbsp; ";

                publishStatus.Controls.Add(littPublishStatus);
                if (base.getUser().GetPermissions(_document.Path).IndexOf("U") > -1)
                {
                    UnPublish.Visible = true;
                }
                else
                {
                    UnPublish.Visible = false;
                }
            }
            else
            {
                littPublishStatus.Text = ui.Text("content", "itemNotPublished", base.getUser());
                publishStatus.Controls.Add(littPublishStatus);
                UnPublish.Visible = false;
            }

            UnPublish.Text = ui.Text("content", "unPublish", base.getUser());
            UnPublish.ID   = "UnPublishButton";
            UnPublish.Attributes.Add("onClick", "if (!confirm('" + ui.Text("defaultdialogs", "confirmSure", base.getUser()) + "')) return false; ");
            publishStatus.Controls.Add(UnPublish);

            publishProps.addProperty(ui.Text("content", "publishStatus", base.getUser()), publishStatus);

            // Template
            PlaceHolder template = new PlaceHolder();

            cms.businesslogic.web.DocumentType DocumentType = new cms.businesslogic.web.DocumentType(_document.ContentType.Id);
            cControl.PropertiesPane.addProperty(ui.Text("documentType"), new LiteralControl(DocumentType.Text));



            //template picker
            cControl.PropertiesPane.addProperty(ui.Text("template"), template);
            int defaultTemplate;

            if (_document.Template != 0)
            {
                defaultTemplate = _document.Template;
            }
            else
            {
                defaultTemplate = DocumentType.DefaultTemplate;
            }

            if (this.getUser().UserType.Name == "writer")
            {
                if (defaultTemplate != 0)
                {
                    template.Controls.Add(new LiteralControl(cms.businesslogic.template.Template.GetTemplate(defaultTemplate).Text));
                }
                else
                {
                    template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate")));
                }
            }
            else
            {
                ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", ""));
                foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates)
                {
                    ListItem tTemp = new ListItem(t.Text, t.Id.ToString());
                    if (t.Id == defaultTemplate)
                    {
                        tTemp.Selected = true;
                    }
                    ddlDefaultTemplate.Items.Add(tTemp);
                }
                template.Controls.Add(ddlDefaultTemplate);
            }


            // Editable update date, release date and expire date added by NH 13.12.04
            dp.ID   = "updateDate";
            dp.Text = _document.UpdateDate.ToShortDateString() + " " + _document.UpdateDate.ToShortTimeString();
            publishProps.addProperty(ui.Text("content", "updateDate", base.getUser()), dp);

            dpRelease.ID       = "releaseDate";
            dpRelease.DateTime = _document.ReleaseDate;
            dpRelease.ShowTime = true;
            publishProps.addProperty(ui.Text("content", "releaseDate", base.getUser()), dpRelease);

            dpExpire.ID       = "expireDate";
            dpExpire.DateTime = _document.ExpireDate;
            dpExpire.ShowTime = true;
            publishProps.addProperty(ui.Text("content", "expireDate", base.getUser()), dpExpire);

            // url's
            updateLinks();
            linkProps.addProperty(ui.Text("content", "urls", base.getUser()), l);

            if (domainText.Text != "")
            {
                linkProps.addProperty(ui.Text("content", "alternativeUrls", base.getUser()), domainText);
            }

            cControl.Save           += new System.EventHandler(Save);
            cControl.SaveAndPublish += new System.EventHandler(Publish);
            cControl.SaveToPublish  += new System.EventHandler(SendToPublish);

            // Add panes to property page...
            cControl.tpProp.Controls.AddAt(1, publishProps);
            cControl.tpProp.Controls.AddAt(2, linkProps);

            // add preview to properties pane too
            addPreviewButton(cControl.tpProp.Menu, _document.Id);
        }
Example #8
0
        /// <summary>
        /// If the user has permissions to update, then add the template drop down list, otherwise just write out the template that is currently used.
        /// </summary>
        /// <param name="defaultTemplate"></param>
        /// <param name="template"></param>
        /// <param name="DocumentType"></param>
        private void AddTemplateDropDown(int defaultTemplate, ref PlaceHolder template, ref cms.businesslogic.web.DocumentType DocumentType)
        {
            string permissions = this.getUser().GetPermissions(_document.Path);

            if (permissions.IndexOf(ActionUpdate.Instance.Letter) >= 0)
            {
                ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", ""));
                foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates)
                {
                    ListItem tTemp = new ListItem(t.Text, t.Id.ToString());
                    if (t.Id == defaultTemplate)
                    {
                        tTemp.Selected = true;
                    }
                    ddlDefaultTemplate.Items.Add(tTemp);
                }


                template.Controls.Add(ddlDefaultTemplate);
            }
            else
            {
                if (defaultTemplate != 0)
                {
                    template.Controls.Add(new LiteralControl(new cms.businesslogic.template.Template(defaultTemplate).Text));
                }
                else
                {
                    template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate")));
                }
            }
        }