U4-6247 - fix PublicAccess repo
This commit is contained in:
@@ -17,8 +17,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
{
|
||||
public PublicAccessRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
|
||||
: base(work, cache, logger, sqlSyntax)
|
||||
{
|
||||
}
|
||||
{ }
|
||||
|
||||
private FullDataSetRepositoryCachePolicyFactory<PublicAccessEntry, Guid> _cachePolicyFactory;
|
||||
protected override IRepositoryCachePolicyFactory<PublicAccessEntry, Guid> CachePolicyFactory
|
||||
@@ -46,6 +45,8 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
sql.Where("umbracoAccess.id IN (@ids)", new { ids = ids });
|
||||
}
|
||||
|
||||
sql.OrderBy<AccessDto>(x => x.NodeId, SqlSyntax);
|
||||
|
||||
var factory = new PublicAccessEntryFactory();
|
||||
var dtos = Database.Fetch<AccessDto, AccessRuleDto, AccessDto>(new AccessRulesRelator().Map, sql);
|
||||
return dtos.Select(factory.BuildEntity);
|
||||
@@ -69,7 +70,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
.From<AccessDto>(SqlSyntax)
|
||||
.LeftJoin<AccessRuleDto>(SqlSyntax)
|
||||
.On<AccessDto, AccessRuleDto>(SqlSyntax, left => left.Id, right => right.AccessId);
|
||||
|
||||
|
||||
return sql;
|
||||
}
|
||||
|
||||
@@ -162,7 +163,5 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
{
|
||||
return entity.Key;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -133,19 +133,21 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
_memberGroups.ID = "Membergroups";
|
||||
_memberGroups.Width = 175;
|
||||
var selectedGroups = "";
|
||||
var roles = Roles.GetAllRoles().OrderBy(x => x);
|
||||
|
||||
if (roles.Any())
|
||||
// get roles from the membership provider
|
||||
var roles = Roles.GetAllRoles().OrderBy(x => x).ToArray();
|
||||
|
||||
if (roles.Length > 0)
|
||||
{
|
||||
foreach (string role in roles)
|
||||
foreach (var role in roles)
|
||||
{
|
||||
ListItem li = new ListItem(role, role);
|
||||
if (IsPostBack == false)
|
||||
{
|
||||
if (Access.IsProtectedByMembershipRole(int.Parse(helper.Request("nodeid")), role))
|
||||
selectedGroups += role + ",";
|
||||
}
|
||||
_memberGroups.Items.Add(li);
|
||||
var listItem = new ListItem(role, role);
|
||||
_memberGroups.Items.Add(listItem);
|
||||
if (IsPostBack) continue;
|
||||
|
||||
// first time, initialize selected roles
|
||||
if (Access.IsProtectedByMembershipRole(documentId, role))
|
||||
selectedGroups += role + ",";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -153,6 +155,7 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
p_noGroupsFound.Visible = true;
|
||||
rb_advanced.Enabled = false;
|
||||
}
|
||||
|
||||
_memberGroups.Value = selectedGroups;
|
||||
groupsSelector.Controls.Add(_memberGroups);
|
||||
|
||||
@@ -183,7 +186,7 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
SimpleLoginNameValidator.IsValid = true;
|
||||
|
||||
var provider = MembershipProviderExtensions.GetMembersMembershipProvider();
|
||||
|
||||
|
||||
int pageId = int.Parse(helper.Request("nodeId"));
|
||||
|
||||
if (e.CommandName == "simple")
|
||||
|
||||
Reference in New Issue
Block a user