improvements to module/theme installation and removal

This commit is contained in:
Shaun Walker
2019-10-09 12:06:53 -04:00
parent 879dae75aa
commit 2607d4dbb3
23 changed files with 169 additions and 37 deletions

View File

@ -61,8 +61,9 @@ namespace Oqtane.Repository
// get current permissions and delete
IEnumerable<Permission> permissions = db.Permission
.Where(item => item.EntityName == EntityName)
.Where(item => item.EntityId == EntityId);
foreach(Permission permission in permissions)
.Where(item => item.EntityId == EntityId)
.Where(item => item.SiteId == SiteId);
foreach (Permission permission in permissions)
{
db.Permission.Remove(permission);
}
@ -87,6 +88,19 @@ namespace Oqtane.Repository
db.SaveChanges();
}
public void DeletePermissions(int SiteId, string EntityName, int EntityId)
{
IEnumerable<Permission> permissions = db.Permission
.Where(item => item.EntityName == EntityName)
.Where(item => item.EntityId == EntityId)
.Where(item => item.SiteId == SiteId);
foreach (Permission permission in permissions)
{
db.Permission.Remove(permission);
}
db.SaveChanges();
}
// permissions are stored in the format "{permissionname:!rolename1;![userid1];rolename2;rolename3;[userid2];[userid3]}" where "!" designates Deny permissions
public string EncodePermissions(int EntityId, IEnumerable<Permission> Permissions)
{