📄 weblogpermissionadmin.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Web;
using System.Web.UI.WebControls;
using CommunityServer.Blogs.Components;
using CommunityServer.Components;
using CommunityServer.Controls;
namespace CommunityServer.Blogs.Controls
{
public class WeblogPermissionAdmin : WeblogAdminTemplatedWebControl
{
#region Child Controls
HyperLink BlogID;
HyperLink RoleID;
AccessControlEntryRadioButtonList View;
AccessControlEntryRadioButtonList Post;
AccessControlEntryRadioButtonList Reply;
Button Save;
Button Cancel;
#endregion
private bool _isDefaultEditor;
/// <summary>
/// Property IsDefaultEditor (bool)
/// </summary>
public bool IsDefaultEditor
{
get { return this._isDefaultEditor; }
set { this._isDefaultEditor = value; }
}
protected override void OnLoad(EventArgs e)
{
if ( !Page.IsPostBack )
{
this.DataBind();
}
base.OnLoad (e);
}
protected override void AttachChildControls()
{
BlogID = (HyperLink)FindControl( "BlogID" );
RoleID = (HyperLink)FindControl( "RoleID" );
View = (AccessControlEntryRadioButtonList)FindControl( "View" );
Post = (AccessControlEntryRadioButtonList)FindControl( "Post" );
Reply = (AccessControlEntryRadioButtonList)FindControl( "Reply" );
Save = (Button)FindControl( "Save" );
Save.Click += new EventHandler( Save_Click );
Cancel = (Button)FindControl("Cancel");
Cancel.Click +=new EventHandler(Cancel_Click);
}
public override void DataBind()
{
base.DataBind();
Save.Text = ResourceManager.GetString( "Save" );
Cancel.Text = ResourceManager.GetString("Cancel");
WeblogPermission permission = GetCurrentPermission();
if ( permission != null )
{
LoadPermission( permission );
}
}
protected virtual void LoadPermission( WeblogPermission permission )
{
Role role = Roles.GetRole( permission.RoleID, false );
if(IsDefaultEditor)
{
BlogID.Text = "Default Permissions";
}
else
{
BlogID.Text = string.Format("{0} (AppKey:{1}, BlogID:{2})",CurrentWeblog.Name,CurrentWeblog.ApplicationKey,CurrentWeblog.SectionID);
BlogID.NavigateUrl = BlogUrls.Instance().AdminSettings(CurrentWeblog.ApplicationKey);
}
RoleID.Text = role.Name + ": " + permission.RoleID.ToString();
RoleID.NavigateUrl = Globals.GetSiteUrls().AdminRoleEdit( permission.RoleID );
View.SelectedBooleanValue = permission.View;
Post.SelectedBooleanValue = permission.Post;
Reply.SelectedBooleanValue = permission.Reply;
}
protected AccessControlEntry GetValue(string SelectedValue)
{
return (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), SelectedValue );
}
protected virtual void SavePermission( WeblogPermission permission )
{
Permission mask;
mask = Permission.View;
permission.SetBit( mask, GetValue(View.SelectedValue));
mask = Permission.Post;
permission.SetBit( mask, (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), Post.SelectedValue ));
mask = Permission.Reply;
permission.SetBit( mask, (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), Reply.SelectedValue ));
permission.ApplicationType = ApplicationType.Weblog;
Permissions.UpdatePermission( permission );
}
private void Save_Click(object sender, EventArgs e)
{
WeblogPermission permission = GetCurrentPermission();
if ( permission != null )
{
SavePermission( permission );
}
Cancel_Click(sender,e);
}
private WeblogPermission GetCurrentPermission()
{
Guid roleID = CSContext.Current.GetGuidFromQueryString( "RoleID" );
int sectionID;
if(IsDefaultEditor)
sectionID = -1;
else
sectionID = CurrentWeblog.SectionID;
WeblogPermission perm = WeblogPermissions.GetBlogPermission( sectionID, roleID );
if( perm == null ) {
perm = new WeblogPermission();
perm.SectionID = sectionID;
perm.RoleID = roleID;
perm.SettingsID = CSContext.Current.SiteSettings.SettingsID;
perm.ApplicationType = ApplicationType.Weblog;
}
return perm;
}
private void Cancel_Click(object sender, EventArgs e)
{
if(IsDefaultEditor)
Context.Response.Redirect(BlogUrls.Instance().ManageDefaultPermissions);
else
{
string qs = (Context.Request.QueryString["DM"] == null ? string.Empty : "?DM=" + Context.Request.QueryString["DM"]);
Context.Response.Redirect(BlogUrls.Instance().ManagePermissions + qs);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -