File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/CMSModules/Membership/Controls/Roles/Roles.ascx.cs
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.Helpers;
using CMS.SiteProvider;
using CMS.Membership;
using CMS.UIControls;
using CMS.ExtendedControls;
public partial class CMSModules_Membership_Controls_Roles_Roles : CMSAdminEditControl
{
#region "Variables"
private bool mHideWhenGroupIsNotSupplied = false;
#endregion
#region "Properties"
/// <summary>
/// Determines whether to hide the content of the control when GroupID is not supplied.
/// </summary>
public bool HideWhenGroupIsNotSupplied
{
get
{
return mHideWhenGroupIsNotSupplied;
}
set
{
mHideWhenGroupIsNotSupplied = value;
}
}
/// <summary>
/// Gets and sets current group ID.
/// </summary>
public int GroupID
{
get
{
int groupId = ValidationHelper.GetInteger(ViewState["groupid"], 0);
if (groupId <= 0)
{
groupId = ValidationHelper.GetInteger(GetValue("GroupID"), 0);
}
return groupId;
}
set
{
ViewState["groupid"] = value;
}
}
/// <summary>
/// Gets and sets current group GUID.
/// </summary>
public Guid GroupGUID
{
get
{
Guid groupGuid = ValidationHelper.GetGuid(ViewState["groupguid"], Guid.Empty);
if (groupGuid == Guid.Empty)
{
groupGuid = ValidationHelper.GetGuid(GetValue("GroupGUID"), Guid.Empty);
}
return groupGuid;
}
set
{
ViewState["groupguid"] = value;
}
}
/// <summary>
/// Gets and sets current site ID.
/// </summary>
public int SiteID
{
get
{
int siteId = ValidationHelper.GetInteger(ViewState["siteid"], 0);
if (siteId <= 0)
{
siteId = ValidationHelper.GetInteger(GetValue("SiteID"), 0);
}
return siteId;
}
set
{
ViewState["siteid"] = value;
}
}
/// <summary>
/// Gets and sets current role ID.
/// </summary>
public int RoleID
{
get
{
return ValidationHelper.GetInteger(ViewState["roleid"], 0);
}
set
{
ViewState["roleid"] = value;
}
}
/// <summary>
/// Gets and sets control to be displayed.
/// </summary>
public string SelectedControl
{
get
{
return ValidationHelper.GetString(ViewState["selectedcontrol"], "general");
}
set
{
ViewState["selectedcontrol"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
#region "Security"
RoleList.OnCheckPermissions += new CheckPermissionsEventHandler(RoleList_OnCheckPermissions);
RoleEdit.OnCheckPermissions += new CheckPermissionsEventHandler(RoleEdit_OnCheckPermissions);
Role.OnCheckPermissions += new CheckPermissionsEventHandler(Role_OnCheckPermissions);
#endregion
if (!Visible)
{
EnableViewState = false;
}
if (StopProcessing)
{
Role.StopProcessing = true;
RoleList.StopProcessing = true;
RoleEdit.StopProcessing = true;
}
else
{
if ((GroupID == 0) && HideWhenGroupIsNotSupplied)
{
Visible = false;
return;
}
// Is live site
Role.IsLiveSite = IsLiveSite;
RoleList.SiteID = SiteID;
RoleList.GroupID = GroupID;
RoleEdit.GroupID = GroupID;
RoleEdit.GroupGUID = GroupGUID;
RoleEdit.SiteID = SiteID;
RoleEdit.DisplayMode = DisplayMode;
Role.GroupID = GroupID;
Role.GroupGUID = GroupGUID;
Role.SiteID = SiteID;
Role.DisplayMode = DisplayMode;
// Setup new role button
btnNewRole.Click += new EventHandler(btnNewRole_Click);
imgNewRole.ImageUrl = GetImageUrl("Objects/CMS_Role/add.png");
imgNewRole.AlternateText = GetString("Administration-Role_New.NewRole");
// BreadCrumbs setup
lnkBackHidden.Click += new EventHandler(lnkBackHidden_Click);
RoleList.OnEdit += new EventHandler(RoleList_OnEdit);
RoleEdit.OnSaved += new EventHandler(RoleEdit_OnSaved);
DisplayControls(SelectedControl);
}
}
#region "Security handlers"
private void Role_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
RaiseOnCheckPermissions(permissionType, sender);
}
private void RoleEdit_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
RaiseOnCheckPermissions(permissionType, sender);
}
private void RoleList_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
RaiseOnCheckPermissions(permissionType, sender);
}
#endregion
/// <summary>
/// Displays appropriate controls.
/// </summary>
public void DisplayControls(string control)
{
// Hide all controls first and set all IDs
Role.Visible = false;
RoleList.Visible = false;
RoleEdit.Visible = false;
headerLinks.Visible = false;
pnlRolesBreadcrumbs.Visible = false;
// Display edit control
if (RoleID > 0)
{
Role.Visible = true;
pnlRolesBreadcrumbs.Visible = true;
InitializeBreadcrumbs();
Role.SiteID = SiteID;
Role.ItemID = RoleID;
Role.ReloadData(false);
}
else
{
switch (control)
{
// Display list control
case "general":
default:
RoleList.Visible = true;
headerLinks.Visible = true;
RoleList.SiteID = SiteID;
RoleEdit.SiteID = SiteID;
RoleEdit.ReloadData(false);
break;
// Display new control
case "newrole":
RoleEdit.Visible = true;
pnlRolesBreadcrumbs.Visible = true;
InitializeBreadcrumbs();
break;
}
}
}
/// <summary>
/// Edit action delegate handler.
/// </summary>
private void RoleList_OnEdit(object sender, EventArgs e)
{
RoleID = Role.ItemID = RoleList.SelectedItemID;
Role.ReloadData(true);
DisplayControls("");
}
/// <summary>
/// New role click handler.
/// </summary>
private void btnNewRole_Click(object sender, EventArgs e)
{
RoleID = RoleEdit.ItemID = Role.ItemID = 0;
RoleEdit.ReloadData(true);
SelectedControl = "newrole";
DisplayControls(SelectedControl);
}
/// <summary>
/// Breadcrumbs click handler.
/// </summary>
private void lnkBackHidden_Click(object sender, EventArgs e)
{
RoleID = 0;
SelectedControl = "general";
DisplayControls(SelectedControl);
Role.SelectedTab = 0;
}
/// <summary>
/// OnSave event handler.
/// </summary>
private void RoleEdit_OnSaved(object sender, EventArgs e)
{
Role.ItemID = RoleID = RoleEdit.ItemID;
Role.ReloadData(true);
SelectedControl = "general";
DisplayControls(SelectedControl);
}
/// <summary>
/// Initializes breadcrumbs items.
/// </summary>
private void InitializeBreadcrumbs()
{
ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem {
Text = GetString("general.roles"),
Index = 0,
RedirectUrl = "javascript:" + ControlsHelper.GetPostBackEventReference(lnkBackHidden)
});
RoleInfo role = RoleInfoProvider.GetRoleInfo(RoleID);
ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem {
Text = (role == null) ? GetString("Administration-Role_New.NewRole") : role.DisplayName,
Index = 1
});
}
}