TSK-572: refactored permission initializition.
This commit is contained in:
parent
3aee44f52b
commit
71cedd85de
|
|
@ -45,9 +45,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
private DistributionTargetMapper distributionTargetMapper;
|
private DistributionTargetMapper distributionTargetMapper;
|
||||||
private WorkbasketAccessMapper workbasketAccessMapper;
|
private WorkbasketAccessMapper workbasketAccessMapper;
|
||||||
|
|
||||||
public WorkbasketServiceImpl() {
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkbasketServiceImpl(TaskanaEngine taskanaEngine, WorkbasketMapper workbasketMapper,
|
WorkbasketServiceImpl(TaskanaEngine taskanaEngine, WorkbasketMapper workbasketMapper,
|
||||||
DistributionTargetMapper distributionTargetMapper, WorkbasketAccessMapper workbasketAccessMapper) {
|
DistributionTargetMapper distributionTargetMapper, WorkbasketAccessMapper workbasketAccessMapper) {
|
||||||
this.taskanaEngine = (TaskanaEngineImpl) taskanaEngine;
|
this.taskanaEngine = (TaskanaEngineImpl) taskanaEngine;
|
||||||
|
|
@ -275,7 +272,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> accessIds = CurrentUserContext.getAccessIds();
|
List<String> accessIds = CurrentUserContext.getAccessIds();
|
||||||
List<WorkbasketPermission> grantedPermissions = new ArrayList<>();
|
|
||||||
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
|
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
|
||||||
accessIds);
|
accessIds);
|
||||||
if (wbAcc == null) {
|
if (wbAcc == null) {
|
||||||
|
|
@ -285,7 +281,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
+ "' is needed.");
|
+ "' is needed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions);
|
List<WorkbasketPermission> grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc);
|
||||||
|
|
||||||
for (WorkbasketPermission perm : requestedPermissions) {
|
for (WorkbasketPermission perm : requestedPermissions) {
|
||||||
if (!grantedPermissions.contains(perm)) {
|
if (!grantedPermissions.contains(perm)) {
|
||||||
|
|
@ -317,7 +313,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<String> accessIds = CurrentUserContext.getAccessIds();
|
List<String> accessIds = CurrentUserContext.getAccessIds();
|
||||||
List<WorkbasketPermission> grantedPermissions = new ArrayList<>();
|
|
||||||
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketKeyDomainAndAccessId(
|
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketKeyDomainAndAccessId(
|
||||||
workbasketKey, domain, accessIds);
|
workbasketKey, domain, accessIds);
|
||||||
if (wbAcc == null) {
|
if (wbAcc == null) {
|
||||||
|
|
@ -327,7 +322,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
+ workbasketKey
|
+ workbasketKey
|
||||||
+ "' and domain '" + domain + "' is needed.");
|
+ "' and domain '" + domain + "' is needed.");
|
||||||
}
|
}
|
||||||
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions);
|
List<WorkbasketPermission> grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc);
|
||||||
|
|
||||||
for (WorkbasketPermission perm : requestedPermissions) {
|
for (WorkbasketPermission perm : requestedPermissions) {
|
||||||
if (!grantedPermissions.contains(perm)) {
|
if (!grantedPermissions.contains(perm)) {
|
||||||
|
|
@ -409,14 +404,9 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WorkbasketPermission> getPermissionsForWorkbasket(String workbasketId) {
|
public List<WorkbasketPermission> getPermissionsForWorkbasket(String workbasketId) {
|
||||||
List<WorkbasketPermission> permissions = new ArrayList<>();
|
|
||||||
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
|
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
|
||||||
CurrentUserContext.getAccessIds());
|
CurrentUserContext.getAccessIds());
|
||||||
if (wbAcc != null) {
|
return this.getPermissionsFromWorkbasketAccessItem(wbAcc);
|
||||||
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, permissions);
|
|
||||||
}
|
|
||||||
return permissions;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -446,8 +436,12 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addWorkbasketAccessItemValuesToPermissionSet(WorkbasketAccessItem workbasketAccessItem,
|
private List<WorkbasketPermission> getPermissionsFromWorkbasketAccessItem(
|
||||||
List<WorkbasketPermission> permissions) {
|
WorkbasketAccessItem workbasketAccessItem) {
|
||||||
|
List<WorkbasketPermission> permissions = new ArrayList<WorkbasketPermission>();
|
||||||
|
if (workbasketAccessItem == null) {
|
||||||
|
return permissions;
|
||||||
|
}
|
||||||
if (workbasketAccessItem.isPermOpen()) {
|
if (workbasketAccessItem.isPermOpen()) {
|
||||||
permissions.add(WorkbasketPermission.OPEN);
|
permissions.add(WorkbasketPermission.OPEN);
|
||||||
}
|
}
|
||||||
|
|
@ -499,6 +493,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
||||||
if (workbasketAccessItem.isPermCustom12()) {
|
if (workbasketAccessItem.isPermCustom12()) {
|
||||||
permissions.add(WorkbasketPermission.CUSTOM_12);
|
permissions.add(WorkbasketPermission.CUSTOM_12);
|
||||||
}
|
}
|
||||||
|
return permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue