using System;
using System.Web.UI.WebControls;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.Synchronization;
using CMS.UIControls;
public partial class CMSModules_Staging_Tools_Log : CMSStagingPage
{
#region "Private variables"
private int serverId = 0;
private int taskId = 0;
#endregion
#region "Page events"
protected void Page_Load(object sender, EventArgs e)
{
// Check hash
if (!QueryHelper.ValidateHash("hash"))
{
URLHelper.Redirect(ResolveUrl("~/CMSMessages/Error.aspx?title=" + GetString("dialogs.badhashtitle") + "&text=" + GetString("dialogs.badhashtext") + "&cancel=1"));
}
else
{
string element = QueryHelper.GetString("tasktype", null);
// Check UI permissions for Staging
CurrentUserInfo user = CMSContext.CurrentUser;
if (!user.IsAuthorizedPerUIElement("cms.staging", element))
{
RedirectToCMSDeskUIElementAccessDenied("cms.staging", element);
}
// Check 'Manage XXX tasks' permission
if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.staging", "Manage" + element + "Tasks"))
{
RedirectToAccessDenied("cms.staging", "Manage" + element + "Tasks");
}
// Register modal dialog scripts
RegisterModalPageScripts();
serverId = QueryHelper.GetInteger("serverid", 0);
taskId = QueryHelper.GetInteger("taskid", 0);
QueryDataParameters parameters = new QueryDataParameters();
parameters.Add("@TaskID", taskId);
parameters.Add("@ServerID", serverId);
gridLog.QueryParameters = parameters;
gridLog.OnAction += gridLog_OnAction;
gridLog.ZeroRowsText = GetString("Task.LogNoEvents");
gridLog.OnBeforeDataReload += new OnBeforeDataReload(gridLog_OnBeforeDataReload);
CurrentMaster.Title.TitleText = GetString("Task.LogHeader");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Staging_Task/object.png");
CurrentMaster.DisplayControlsPanel = true;
}
}
protected override void OnPreRender(EventArgs e)
{
// Get task data
if (taskId > 0)
{
TaskInfo ti = TaskInfoProvider.GetTaskInfo(taskId);
if (ti != null)
{
lblInfo.Text += String.Format(GetString("Task.LogTaskInfo"), HTMLHelper.HTMLEncode(ti.TaskTitle));
}
}
// Get server data
if (serverId > 0)
{
ServerInfo si = ServerInfoProvider.GetServerInfo(serverId);
if (si != null)
{
if (lblInfo.Text != "")
{
lblInfo.Text += "
";
}
lblInfo.Text += String.Format(GetString("Task.LogServerInfo"), si.ServerDisplayName);
}
}
lblInfo.Visible = (lblInfo.Text != "");
base.OnPreRender(e);
}
#endregion
#region "Control events"
protected void gridLog_OnBeforeDataReload()
{
if (serverId > 0)
{
gridLog.GridView.Columns[3].Visible = false;
}
if (taskId > 0)
{
gridLog.GridView.Columns[1].Visible = false;
}
}
///
/// UniGrid action event handler.
///
protected void gridLog_OnAction(string actionName, object actionArgument)
{
switch (actionName.ToLowerCSafe())
{
case "delete":
int logid = ValidationHelper.GetInteger(actionArgument, 0);
if (logid > 0)
{
SyncLogInfoProvider.DeleteSyncLogInfo(logid);
}
break;
}
}
protected void btnClear_Click(object sender, EventArgs e)
{
SyncLogInfoProvider.DeleteSyncLogInfo(taskId, serverId);
gridLog.ReloadData();
}
#endregion
}