//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using CommunityServer.Blogs.Controls;
using CommunityServer.Blogs.Components;
using CommunityServer.Components;
namespace CommunityServer.Blogs.Controls
{
	/// <summary>
	/// Provides access/security check to restrict only blog owners/admin from using the the current weblog
	/// </summary>
	public abstract class WeblogAdminTemplatedWebControl : WeblogTemplatedWebControl
	{
		public WeblogAdminTemplatedWebControl()
		{
          
		}

        /// <summary>
        /// Overrides Authorize and validates the current users has write access to this blogs content
        /// </summary>
        /// <param name="w"></param>
        protected override void Authorize(Weblog w)
        {
            base.Authorize (w);

            if(CurrentUser.IsAnonymous)
                throw new CSException(CSExceptionType.AccessDenied,"Anonymous Blog Posting Access");

            if(!CurrentUser.IsBlogAdministrator)
                Permissions.AccessCheck(w,Permission.Post,CurrentUser);
            
        }

  

	}
}
