Skip to content

Commit e199884

Browse files
authored
Merge pull request #168 from aspnetboilerplate/maliming/patch-4
Use GrantedPermissions instead of Permissions in Role.
2 parents 833029c + 1a4e3e9 commit e199884

File tree

9 files changed

+19
-20
lines changed

9 files changed

+19
-20
lines changed

src/AbpCompanyName.AbpProjectName.Application/AbpProjectNameApplicationModule.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Reflection;
1+
using System.Linq;
2+
using System.Reflection;
23
using Abp.Authorization;
34
using Abp.Authorization.Roles;
45
using Abp.Authorization.Users;
@@ -30,9 +31,11 @@ public override void Initialize()
3031
cfg.CreateMap<Permission, string>().ConvertUsing(r => r.Name);
3132
cfg.CreateMap<RolePermissionSetting, string>().ConvertUsing(r => r.Name);
3233

33-
cfg.CreateMap<CreateRoleDto, Role>().ForMember(x => x.Permissions, opt => opt.Ignore());
34-
cfg.CreateMap<RoleDto, Role>().ForMember(x => x.Permissions, opt => opt.Ignore());
35-
34+
cfg.CreateMap<CreateRoleDto, Role>();
35+
cfg.CreateMap<RoleDto, Role>();
36+
cfg.CreateMap<Role, RoleDto>().ForMember(x => x.GrantedPermissions,
37+
opt => opt.MapFrom(x => x.Permissions.Where(p => p.IsGranted)));
38+
3639
cfg.CreateMap<UserDto, User>();
3740
cfg.CreateMap<UserDto, User>().ForMember(x => x.Roles, opt => opt.Ignore());
3841

src/AbpCompanyName.AbpProjectName.Application/Roles/Dto/CreateRoleDto.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
using System.Collections.Generic;
22
using System.ComponentModel.DataAnnotations;
33
using Abp.Authorization.Roles;
4-
using Abp.AutoMapper;
54
using AbpCompanyName.AbpProjectName.Authorization.Roles;
65

76
namespace AbpCompanyName.AbpProjectName.Roles.Dto
87
{
9-
[AutoMapTo(typeof(Role))]
108
public class CreateRoleDto
119
{
1210
[Required]
@@ -24,6 +22,6 @@ public class CreateRoleDto
2422

2523
public bool IsStatic { get; set; }
2624

27-
public List<string> Permissions { get; set; }
25+
public List<string> GrantedPermissions { get; set; }
2826
}
2927
}

src/AbpCompanyName.AbpProjectName.Application/Roles/Dto/RoleDto.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22
using System.ComponentModel.DataAnnotations;
33
using Abp.Application.Services.Dto;
44
using Abp.Authorization.Roles;
5-
using Abp.AutoMapper;
65
using AbpCompanyName.AbpProjectName.Authorization.Roles;
76

87
namespace AbpCompanyName.AbpProjectName.Roles.Dto
98
{
10-
[AutoMapFrom(typeof(Role)), AutoMapTo(typeof(Role))]
119
public class RoleDto : EntityDto<int>
1210
{
1311
[Required]
@@ -23,6 +21,6 @@ public class RoleDto : EntityDto<int>
2321

2422
public bool IsStatic { get; set; }
2523

26-
public List<string> Permissions { get; set; }
24+
public List<string> GrantedPermissions { get; set; }
2725
}
2826
}

src/AbpCompanyName.AbpProjectName.Application/Roles/RoleAppService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public override async Task<RoleDto> Create(CreateRoleDto input)
5353

5454
var grantedPermissions = PermissionManager
5555
.GetAllPermissions()
56-
.Where(p => input.Permissions.Contains(p.Name))
56+
.Where(p => input.GrantedPermissions.Contains(p.Name))
5757
.ToList();
5858

5959
await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);
@@ -73,7 +73,7 @@ public override async Task<RoleDto> Update(RoleDto input)
7373

7474
var grantedPermissions = PermissionManager
7575
.GetAllPermissions()
76-
.Where(p => input.Permissions.Contains(p.Name))
76+
.Where(p => input.GrantedPermissions.Contains(p.Name))
7777
.ToList();
7878

7979
await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);

src/AbpCompanyName.AbpProjectName.WebMpa/Models/Roles/EditRoleModalViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class EditRoleModalViewModel
1212

1313
public bool HasPermission(PermissionDto permission)
1414
{
15-
return Permissions != null && Role.Permissions.Any(p => p == permission.Name);
15+
return Permissions != null && Role.GrantedPermissions.Any(p => p == permission.Name);
1616
}
1717
}
1818
}

src/AbpCompanyName.AbpProjectName.WebMpa/Views/Roles/Index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@
4242
}
4343

4444
var role = _$form.serializeFormToObject(); //serializeFormToObject is defined in main.js
45-
role.permissions = [];
45+
role.grantedPermissions = [];
4646
var _$permissionCheckboxes = $("input[name='permission']:checked:visible");
4747
if (_$permissionCheckboxes) {
4848
for (var permissionIndex = 0; permissionIndex < _$permissionCheckboxes.length; permissionIndex++) {
4949
var _$permissionCheckbox = $(_$permissionCheckboxes[permissionIndex]);
50-
role.permissions.push(_$permissionCheckbox.val());
50+
role.grantedPermissions.push(_$permissionCheckbox.val());
5151
}
5252
}
5353

src/AbpCompanyName.AbpProjectName.WebMpa/Views/Roles/_EditRoleModal.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
}
1212

1313
var role = _$form.serializeFormToObject(); //serializeFormToObject is defined in main.js
14-
role.permissions = [];
14+
role.grantedPermissions = [];
1515
var _$permissionCheckboxes = $("input[name='permission']:checked:visible");
1616
if (_$permissionCheckboxes) {
1717
for (var permissionIndex = 0; permissionIndex < _$permissionCheckboxes.length; permissionIndex++) {
1818
var _$permissionCheckbox = $(_$permissionCheckboxes[permissionIndex]);
19-
role.permissions.push(_$permissionCheckbox.val());
19+
role.grantedPermissions.push(_$permissionCheckbox.val());
2020
}
2121
}
2222

src/AbpCompanyName.AbpProjectName.WebSpaAngular/App/Main/views/roles/createModal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
assignedPermissions.push(permission.name);
2626
}
2727

28-
vm.role.permissions = assignedPermissions;
28+
vm.role.grantedPermissions = assignedPermissions;
2929
roleService.create(vm.role)
3030
.then(function () {
3131
abp.notify.info(App.localize('SavedSuccessfully'));

src/AbpCompanyName.AbpProjectName.WebSpaAngular/App/Main/views/roles/editModal.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
var setAssignedPermissions = function (role, permissions) {
1111
for (var i = 0; i < permissions.length; i++) {
1212
var permission = permissions[i];
13-
permission.isAssigned = $.inArray(permission.name, role.permissions) >= 0;
13+
permission.isAssigned = $.inArray(permission.name, role.grantedPermissions) >= 0;
1414
}
1515
}
1616

@@ -39,7 +39,7 @@
3939
assignedPermissions.push(permission.name);
4040
}
4141

42-
vm.role.permissions = assignedPermissions;
42+
vm.role.grantedPermissions = assignedPermissions;
4343
roleService.update(vm.role)
4444
.then(function () {
4545
abp.notify.info(App.localize('SavedSuccessfully'));

0 commit comments

Comments
 (0)