/// <summary>
        /// Checks if a user has Edit Rights on a Tab or Module
        /// </summary>
        /// <param name="user">User Principal Object</param>
        /// <param name="roles">ArrayList with the users Roles</param>
        /// <returns>true if the user has Edit Rights</returns>
        public static bool HasEditRights(IPrincipal user, ArrayList roles)
        {
            if (user.IsInRole(Config.AdminRoles))
            {
                return(true);
            }

            foreach (PortalDefinition.Role r in roles)
            {
                PortalDefinition.EditRole er = r as PortalDefinition.EditRole;
                if (er != null)
                {
                    if (er.name == Config.EveryoneRoles)
                    {
                        return(true);
                    }
                    if (er.name == Config.AnonymousRole && !user.Identity.IsAuthenticated)
                    {
                        return(true);
                    }
                    //if (r.name == Config. && user.Identity.IsAuthenticated) return true;
                    if (user.IsInRole(er.name))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
        protected void OnAddRole(object sender, EventArgs args)
        {
            if(ShowRoleType && (cbAddRole.SelectedIndex == 0 || cbAddRoleType.SelectedIndex == 0)) return;
            if(!ShowRoleType && cbAddRole.SelectedIndex == 0 ) return;

            PortalDefinition.Role role = null;
            if(ShowRoleType)
            {
                if(cbAddRoleType.SelectedItem.Value == "view")
                {
                    role = new PortalDefinition.ViewRole();
                }
                else
                {
                    role = new PortalDefinition.EditRole();
                }
            }
            else
            {
                role = new PortalDefinition.ViewRole();
            }

            role.name = cbAddRole.SelectedItem.Value;
            roleList.Add(role);

            Bind();
        }
        protected void OnAddRole(object sender, EventArgs args)
        {
            if (ShowRoleType && (cbAddRole.SelectedIndex == 0 || cbAddRoleType.SelectedIndex == 0))
            {
                return;
            }
            if (!ShowRoleType && cbAddRole.SelectedIndex == 0)
            {
                return;
            }

            PortalDefinition.Role role = null;
            if (ShowRoleType)
            {
                if (cbAddRoleType.SelectedItem.Value == "view")
                {
                    role = new PortalDefinition.ViewRole();
                }
                else
                {
                    role = new PortalDefinition.EditRole();
                }
            }
            else
            {
                role = new PortalDefinition.ViewRole();
            }

            role.name = cbAddRole.SelectedItem.Text;
            roleList.Add(role);

            Bind();
        }