Ensures we are not directly referencing Membership.Provider and instead targetting our provider by alias.

This commit is contained in:
Shannon
2014-03-18 20:36:02 +11:00
parent ff3b5baf06
commit 6f586c7eeb
9 changed files with 68 additions and 51 deletions

View File

@@ -5,6 +5,7 @@ using System.Net.Http.Formatting;
using System.Web.Security;
using Umbraco.Core;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Security;
using Umbraco.Web.Models.Trees;
using Umbraco.Web.Mvc;
using Umbraco.Web.WebApi.Filters;
@@ -29,6 +30,13 @@ namespace Umbraco.Web.Trees
[CoreTree]
public class MemberTreeController : TreeController
{
public MemberTreeController()
{
_provider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider();
}
private MembershipProvider _provider;
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
var nodes = new TreeNodeCollection();
@@ -44,7 +52,7 @@ namespace Umbraco.Web.Trees
nodes.Add(folder);
}
//list out 'Others' if the membership provider is umbraco
if (Membership.Provider.Name == Constants.Conventions.Member.UmbracoMemberProviderName)
if (_provider.IsUmbracoMembershipProvider())
{
var folder = CreateTreeNode("others", id, queryStrings, "Others", "icon-folder-close", true);
folder.NodeType = "member-folder";
@@ -56,7 +64,7 @@ namespace Umbraco.Web.Trees
//if it is a letter
if (id.Length == 1 && char.IsLower(id, 0))
{
if (Membership.Provider.Name == Constants.Conventions.Member.UmbracoMemberProviderName)
if (_provider.IsUmbracoMembershipProvider())
{
int totalRecs;
var foundMembers = Services.MemberService.FindMembersByDisplayName(
@@ -100,15 +108,15 @@ namespace Umbraco.Web.Trees
protected virtual MembershipUserCollection FindUsersByName(char letter)
{
int total;
if (Membership.Provider is SqlMembershipProvider)
if (_provider is SqlMembershipProvider)
{
//this provider uses the % syntax
return Membership.Provider.FindUsersByName(letter + "%", 0, 9999, out total);
return _provider.FindUsersByName(letter + "%", 0, 9999, out total);
}
else
{
//the AD provider - and potentiall all other providers will use the asterisk syntax.
return Membership.Provider.FindUsersByName(letter + "*", 0, 9999, out total);
return _provider.FindUsersByName(letter + "*", 0, 9999, out total);
}
}
@@ -136,7 +144,7 @@ namespace Umbraco.Web.Trees
if (id == Constants.System.Root.ToInvariantString())
{
// root actions
if (Membership.Provider.Name == Constants.Conventions.Member.UmbracoMemberProviderName)
if (_provider.IsUmbracoMembershipProvider())
{
//set default
menu.DefaultMenuAlias = ActionNew.Instance.Alias;