using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.UIControls;
using CMS.ExtendedControls;
using CMS.ExtendedControls.ActionsConfig;
public partial class CMSModules_Membership_Pages_Roles_Role_List : CMSRolesPage
{
#region "Properties"
///
/// Local header actions
///
public override HeaderActions HeaderActions
{
get
{
return headerActions;
}
}
#endregion
#region "Page events"
protected override void OnPreInit(EventArgs e)
{
((Panel)CurrentMaster.PanelBody.FindControl("pnlContent")).CssClass = "";
base.OnPreInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
// Setup page title text and image
CurrentMaster.Title.TitleText = GetString("general.roles");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/CMS_Role/object.png");
CurrentMaster.Title.HelpTopicName = "roles_list";
CurrentMaster.Title.HelpName = "helpTopic";
// Control initialization
HeaderActions.AddAction(new HeaderAction()
{
Text = GetString("Administration-Role_List.NewRole"),
ImageUrl = GetImageUrl("Objects/CMS_Role/add.png"),
OnClientClick = "AddNewItem();"
});
if (SiteID != 0)
{
pnlSites.Visible = false;
}
else
{
// Set site selector
siteSelector.DropDownSingleSelect.AutoPostBack = true;
siteSelector.AllowAll = false;
siteSelector.AllowEmpty = false;
siteSelector.OnlyRunningSites = false;
siteSelector.UniSelector.OnSelectionChanged += new EventHandler(UniSelector_OnSelectionChanged);
siteSelector.AllowSetSpecialFields = true;
if (!RequestHelper.IsPostBack())
{
if (SelectedSiteID > 0)
{
siteSelector.Value = SelectedSiteID;
}
else if (CMSContext.CurrentUser.UserSiteManagerAdmin)
{
siteSelector.Value = siteSelector.GlobalRecordValue;
SelectedSiteID = ValidationHelper.GetInteger(siteSelector.GlobalRecordValue, UniSelector.US_GLOBAL_RECORD);
}
}
else
{
SelectedSiteID = ValidationHelper.GetInteger(siteSelector.Value, 0);
}
}
roleListElem.SiteID = (SiteID > 0) ? SiteID : SelectedSiteID;
roleListElem.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(roleListElem_OnCheckPermissions);
roleListElem.OnEdit += new EventHandler(roleListElem_OnEdit);
}
protected void roleListElem_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.roles", permissionType))
{
RedirectToCMSDeskAccessDenied("CMS.Roles", permissionType);
}
}
protected void Page_PreRender(object sender, EventArgs e)
{
// Register correct script for new item
ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "AddNewItem", ScriptHelper.GetScript(
"function AddNewItem() { this.window.location = '" + ResolveUrl("Role_New.aspx?" + GetSiteOrSelectedSite() + "'} ")));
}
#endregion
#region "Private methods"
///
/// Returns 'siteid' or 'selectedsiteid' parametr depending on QueryString.
///
/// Query parameter
private string GetSiteOrSelectedSite()
{
// Site ID is used in CMS desk
if (SiteID > 0)
{
return "siteId=" + SiteID;
}
// SelectedSiteID is used in CMS Site Manager
else if (SelectedSiteID > 0)
{
return "selectedsiteid=" + SelectedSiteID;
}
return String.Empty;
}
#endregion
#region "Control events"
///
/// Handles site selection change event.
///
protected void UniSelector_OnSelectionChanged(object sender, EventArgs e)
{
// Update unigrid
pnlUpdate.Update();
}
///
/// Edit event handler.
///
protected void roleListElem_OnEdit(object sender, EventArgs e)
{
URLHelper.Redirect("Role_Edit_Frameset.aspx?roleId=" + roleListElem.SelectedItemID + "&" + GetSiteOrSelectedSite());
}
#endregion
}