using System;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.DocumentEngine;
using CMS.UIControls;
using TreeNode = CMS.DocumentEngine.TreeNode;
public partial class CMSFormControls_Selectors_RelatedDocuments : CMSModalPage
{
#region "Variables"
private TreeProvider mTreeProvider = null;
private TreeNode node = null;
private string externalControlID = null;
#endregion
#region "Properties"
///
/// Tree provider.
///
protected TreeProvider TreeProvider
{
get
{
return mTreeProvider ?? (mTreeProvider = new TreeProvider(CMSContext.CurrentUser));
}
}
#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 += btnSave_Click;
btnClose.Attributes.Add("onclick", "return CloseDialog();");
AddNoCacheTag();
addRelatedDocument.ShowButtons = false;
if (EditedDocument != null)
{
// Get the node
node = EditedDocument;
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
}