using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.DocumentEngine; using CMS.UIControls; using TreeNode = CMS.DocumentEngine.TreeNode; public partial class CMSFormControls_LiveSelectors_RelatedDocuments : CMSLiveModalPage { #region "Variables" private int nodeId = 0; private TreeProvider mTreeProvider = null; private TreeNode node = null; private string externalControlID = null; #endregion #region "Properties" /// /// Tree provider. /// protected TreeProvider TreeProvider { get { if (mTreeProvider == null) { mTreeProvider = new TreeProvider(CMSContext.CurrentUser); } return mTreeProvider; } } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { // Initialize modal page RegisterEscScript(); ScriptHelper.RegisterWOpenerScript(Page); if (QueryHelper.ValidateHash("hash")) { externalControlID = QueryHelper.GetString("externalControlID", string.Empty); string title = GetString("Relationship.AddRelatedDocs"); Page.Title = title; CurrentMaster.Title.TitleText = title; CurrentMaster.Title.TitleImage = GetImageUrl("/Objects/CMS_RelationshipName/new.png"); btnSave.Click += new EventHandler(btnSave_Click); btnClose.Attributes.Add("onclick", "return CloseDialog();"); AddNoCacheTag(); addRelatedDocument.ShowButtons = false; nodeId = QueryHelper.GetInteger("nodeid", 0); if (nodeId > 0) { // Get the node node = TreeProvider.SelectSingleNode(nodeId, CMSContext.PreferredCultureCode, TreeProvider.CombineWithDefaultCulture); if (node != null) { // Check read permissions if (CMSContext.CurrentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Read) == AuthorizationResultEnum.Denied) { RedirectToAccessDenied(String.Format(GetString("cmsdesk.notauthorizedtoreaddocument"), node.NodeAliasPath)); } else { lblInfo.Visible = false; } // Set tree node addRelatedDocument.TreeNode = node; } else { btnSave.Enabled = false; } } } else { // Hide all controls btnSave.Visible = false; btnClose.Visible = false; addRelatedDocument.Visible = false; string url = ResolveUrl("~/CMSMessages/Error.aspx?title=" + GetString("dialogs.badhashtitle") + "&text=" + GetString("dialogs.badhashtext") + "&cancel=1"); ltlScript.Text = ScriptHelper.GetScript("window.location = '" + url + "';"); } } /// /// Save meta data of attachment. /// /// Sender /// Argument protected void btnSave_Click(object sender, EventArgs e) { if (addRelatedDocument.SaveRelationship()) { string script = "if (wopener.RefreshUpdatePanel_" + externalControlID + ") { wopener.RefreshUpdatePanel_" + externalControlID + "(); CloseDialog(); } "; ltlScript.Text = ScriptHelper.GetScript(script); } } #endregion }