Skip to content

Commit 5fa4268

Browse files
committed
fix #446 Use GrantedPermissions instead of Permissions in Role.
1 parent e61be4d commit 5fa4268

File tree

25 files changed

+54
-75
lines changed

25 files changed

+54
-75
lines changed

angular/src/app/roles/create-role/create-role-dialog.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export class CreateRoleDialogComponent extends AppComponentBase
8181
save(): void {
8282
this.saving = true;
8383

84-
this.role.permissions = this.getCheckedPermissions();
84+
this.role.grantedPermissions = this.getCheckedPermissions();
8585

8686
const role_ = new CreateRoleDto();
8787
role_.init(this.role);

angular/src/app/roles/edit-role/edit-role-dialog.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export class EditRoleDialogComponent extends AppComponentBase
8888
save(): void {
8989
this.saving = true;
9090

91-
this.role.permissions = this.getCheckedPermissions();
91+
this.role.grantedPermissions = this.getCheckedPermissions();
9292

9393
this._roleService
9494
.update(this.role)

angular/src/shared/service-proxies/service-proxies.ts

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,8 +1933,7 @@ export class CreateRoleDto implements ICreateRoleDto {
19331933
displayName: string;
19341934
normalizedName: string | undefined;
19351935
description: string | undefined;
1936-
isStatic: boolean | undefined;
1937-
permissions: string[] | undefined;
1936+
grantedPermissions: string[] | undefined;
19381937

19391938
constructor(data?: ICreateRoleDto) {
19401939
if (data) {
@@ -1951,11 +1950,10 @@ export class CreateRoleDto implements ICreateRoleDto {
19511950
this.displayName = data["displayName"];
19521951
this.normalizedName = data["normalizedName"];
19531952
this.description = data["description"];
1954-
this.isStatic = data["isStatic"];
1955-
if (data["permissions"] && data["permissions"].constructor === Array) {
1956-
this.permissions = [];
1957-
for (let item of data["permissions"])
1958-
this.permissions.push(item);
1953+
if (data["grantedPermissions"] && data["grantedPermissions"].constructor === Array) {
1954+
this.grantedPermissions = [];
1955+
for (let item of data["grantedPermissions"])
1956+
this.grantedPermissions.push(item);
19591957
}
19601958
}
19611959
}
@@ -1973,11 +1971,10 @@ export class CreateRoleDto implements ICreateRoleDto {
19731971
data["displayName"] = this.displayName;
19741972
data["normalizedName"] = this.normalizedName;
19751973
data["description"] = this.description;
1976-
data["isStatic"] = this.isStatic;
1977-
if (this.permissions && this.permissions.constructor === Array) {
1978-
data["permissions"] = [];
1979-
for (let item of this.permissions)
1980-
data["permissions"].push(item);
1974+
if (this.grantedPermissions && this.grantedPermissions.constructor === Array) {
1975+
data["grantedPermissions"] = [];
1976+
for (let item of this.grantedPermissions)
1977+
data["grantedPermissions"].push(item);
19811978
}
19821979
return data;
19831980
}
@@ -1995,17 +1992,15 @@ export interface ICreateRoleDto {
19951992
displayName: string;
19961993
normalizedName: string | undefined;
19971994
description: string | undefined;
1998-
isStatic: boolean | undefined;
1999-
permissions: string[] | undefined;
1995+
grantedPermissions: string[] | undefined;
20001996
}
20011997

20021998
export class RoleDto implements IRoleDto {
20031999
name: string;
20042000
displayName: string;
20052001
normalizedName: string | undefined;
20062002
description: string | undefined;
2007-
isStatic: boolean | undefined;
2008-
permissions: string[] | undefined;
2003+
grantedPermissions: string[] | undefined;
20092004
id: number | undefined;
20102005

20112006
constructor(data?: IRoleDto) {
@@ -2023,11 +2018,10 @@ export class RoleDto implements IRoleDto {
20232018
this.displayName = data["displayName"];
20242019
this.normalizedName = data["normalizedName"];
20252020
this.description = data["description"];
2026-
this.isStatic = data["isStatic"];
2027-
if (data["permissions"] && data["permissions"].constructor === Array) {
2028-
this.permissions = [];
2029-
for (let item of data["permissions"])
2030-
this.permissions.push(item);
2021+
if (data["grantedPermissions"] && data["grantedPermissions"].constructor === Array) {
2022+
this.grantedPermissions = [];
2023+
for (let item of data["grantedPermissions"])
2024+
this.grantedPermissions.push(item);
20312025
}
20322026
this.id = data["id"];
20332027
}
@@ -2046,11 +2040,10 @@ export class RoleDto implements IRoleDto {
20462040
data["displayName"] = this.displayName;
20472041
data["normalizedName"] = this.normalizedName;
20482042
data["description"] = this.description;
2049-
data["isStatic"] = this.isStatic;
2050-
if (this.permissions && this.permissions.constructor === Array) {
2051-
data["permissions"] = [];
2052-
for (let item of this.permissions)
2053-
data["permissions"].push(item);
2043+
if (this.grantedPermissions && this.grantedPermissions.constructor === Array) {
2044+
data["grantedPermissions"] = [];
2045+
for (let item of this.grantedPermissions)
2046+
data["grantedPermissions"].push(item);
20542047
}
20552048
data["id"] = this.id;
20562049
return data;
@@ -2069,8 +2062,7 @@ export interface IRoleDto {
20692062
displayName: string;
20702063
normalizedName: string | undefined;
20712064
description: string | undefined;
2072-
isStatic: boolean | undefined;
2073-
permissions: string[] | undefined;
2065+
grantedPermissions: string[] | undefined;
20742066
id: number | undefined;
20752067
}
20762068

aspnet-core/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]
@@ -22,6 +20,6 @@ public class CreateRoleDto
2220
[StringLength(Role.MaxDescriptionLength)]
2321
public string Description { get; set; }
2422

25-
public List<string> Permissions { get; set; }
23+
public List<string> GrantedPermissions { get; set; }
2624
}
2725
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Application/Roles/Dto/RoleDto.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
namespace AbpCompanyName.AbpProjectName.Roles.Dto
99
{
10-
[AutoMap(typeof(Role))]
1110
public class RoleDto : EntityDto<int>
1211
{
1312
[Required]
@@ -23,6 +22,6 @@ public class RoleDto : EntityDto<int>
2322
[StringLength(Role.MaxDescriptionLength)]
2423
public string Description { get; set; }
2524

26-
public List<string> Permissions { get; set; }
25+
public List<string> GrantedPermissions { get; set; }
2726
}
2827
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Application/Roles/Dto/RoleMapProfile.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using AutoMapper;
1+
using System.Linq;
2+
using AutoMapper;
23
using Abp.Authorization;
34
using Abp.Authorization.Roles;
45
using AbpCompanyName.AbpProjectName.Authorization.Roles;
@@ -13,8 +14,12 @@ public RoleMapProfile()
1314
CreateMap<Permission, string>().ConvertUsing(r => r.Name);
1415
CreateMap<RolePermissionSetting, string>().ConvertUsing(r => r.Name);
1516

16-
CreateMap<CreateRoleDto, Role>().ForMember(x => x.Permissions, opt => opt.Ignore());
17-
CreateMap<RoleDto, Role>().ForMember(x => x.Permissions, opt => opt.Ignore());
17+
CreateMap<CreateRoleDto, Role>();
18+
19+
CreateMap<RoleDto, Role>();
20+
21+
CreateMap<Role, RoleDto>().ForMember(x => x.GrantedPermissions,
22+
opt => opt.MapFrom(x => x.Permissions.Where(p => p.IsGranted)));
1823
}
1924
}
2025
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Application/Roles/RoleAppService.cs

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

4242
var grantedPermissions = PermissionManager
4343
.GetAllPermissions()
44-
.Where(p => input.Permissions.Contains(p.Name))
44+
.Where(p => input.GrantedPermissions.Contains(p.Name))
4545
.ToList();
4646

4747
await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);
@@ -74,7 +74,7 @@ public override async Task<RoleDto> Update(RoleDto input)
7474

7575
var grantedPermissions = PermissionManager
7676
.GetAllPermissions()
77-
.Where(p => input.Permissions.Contains(p.Name))
77+
.Where(p => input.GrantedPermissions.Contains(p.Name))
7878
.ToList();
7979

8080
await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/wwwroot/view-resources/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");
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

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/wwwroot/view-resources/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

reactjs/src/models/Roles/roleModel.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ class RoleModel {
22
name: string;
33
displayName: string;
44
description?: any;
5-
isStatic: boolean;
65
id: number;
76
}
87

0 commit comments

Comments
 (0)