TSK-1977: fix setting ownerLongName while claiming
This commit is contained in:
parent
291cc38ea6
commit
8bfb7fae95
|
@ -19,6 +19,7 @@ import org.junit.jupiter.api.TestTemplate;
|
||||||
import pro.taskana.classification.api.ClassificationService;
|
import pro.taskana.classification.api.ClassificationService;
|
||||||
import pro.taskana.classification.api.models.ClassificationSummary;
|
import pro.taskana.classification.api.models.ClassificationSummary;
|
||||||
import pro.taskana.common.api.BulkOperationResults;
|
import pro.taskana.common.api.BulkOperationResults;
|
||||||
|
import pro.taskana.common.api.TaskanaEngine;
|
||||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.common.api.exceptions.TaskanaException;
|
import pro.taskana.common.api.exceptions.TaskanaException;
|
||||||
import pro.taskana.common.api.security.CurrentUserContext;
|
import pro.taskana.common.api.security.CurrentUserContext;
|
||||||
|
@ -35,8 +36,10 @@ import pro.taskana.testapi.DefaultTestEntities;
|
||||||
import pro.taskana.testapi.TaskanaInject;
|
import pro.taskana.testapi.TaskanaInject;
|
||||||
import pro.taskana.testapi.TaskanaIntegrationTest;
|
import pro.taskana.testapi.TaskanaIntegrationTest;
|
||||||
import pro.taskana.testapi.builder.TaskBuilder;
|
import pro.taskana.testapi.builder.TaskBuilder;
|
||||||
|
import pro.taskana.testapi.builder.UserBuilder;
|
||||||
import pro.taskana.testapi.builder.WorkbasketAccessItemBuilder;
|
import pro.taskana.testapi.builder.WorkbasketAccessItemBuilder;
|
||||||
import pro.taskana.testapi.security.WithAccessId;
|
import pro.taskana.testapi.security.WithAccessId;
|
||||||
|
import pro.taskana.user.api.UserService;
|
||||||
import pro.taskana.workbasket.api.WorkbasketPermission;
|
import pro.taskana.workbasket.api.WorkbasketPermission;
|
||||||
import pro.taskana.workbasket.api.WorkbasketService;
|
import pro.taskana.workbasket.api.WorkbasketService;
|
||||||
import pro.taskana.workbasket.api.exceptions.MismatchedWorkbasketPermissionException;
|
import pro.taskana.workbasket.api.exceptions.MismatchedWorkbasketPermissionException;
|
||||||
|
@ -48,6 +51,10 @@ class CompleteTaskAccTest {
|
||||||
@TaskanaInject TaskService taskService;
|
@TaskanaInject TaskService taskService;
|
||||||
@TaskanaInject CurrentUserContext currentUserContext;
|
@TaskanaInject CurrentUserContext currentUserContext;
|
||||||
|
|
||||||
|
@TaskanaInject UserService userService;
|
||||||
|
|
||||||
|
@TaskanaInject TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
ClassificationSummary defaultClassificationSummary;
|
ClassificationSummary defaultClassificationSummary;
|
||||||
WorkbasketSummary defaultWorkbasketSummary;
|
WorkbasketSummary defaultWorkbasketSummary;
|
||||||
ObjectReference defaultObjectReference;
|
ObjectReference defaultObjectReference;
|
||||||
|
@ -68,6 +75,11 @@ class CompleteTaskAccTest {
|
||||||
.buildAndStore(workbasketService);
|
.buildAndStore(workbasketService);
|
||||||
|
|
||||||
defaultObjectReference = DefaultTestEntities.defaultTestObjectReference().build();
|
defaultObjectReference = DefaultTestEntities.defaultTestObjectReference().build();
|
||||||
|
|
||||||
|
taskanaEngine.getConfiguration().setAddAdditionalUserInfo(true);
|
||||||
|
UserBuilder user11 = UserBuilder.newUser().id("user-1-1")
|
||||||
|
.longName("Mustermann, Max - (user-1-1)").firstName("Max").lastName("Mustermann");
|
||||||
|
user11.buildAndStore(userService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "user-1-1")
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@ -246,6 +258,7 @@ class CompleteTaskAccTest {
|
||||||
|
|
||||||
assertThat(claimedTask).isNotNull();
|
assertThat(claimedTask).isNotNull();
|
||||||
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
||||||
|
assertThat(claimedTask.getOwnerLongName()).isEqualTo("Mustermann, Max - (user-1-1)");
|
||||||
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
||||||
assertThat(claimedTask.isRead()).isTrue();
|
assertThat(claimedTask.isRead()).isTrue();
|
||||||
assertThat(claimedTask.getClaimed())
|
assertThat(claimedTask.getClaimed())
|
||||||
|
@ -266,6 +279,7 @@ class CompleteTaskAccTest {
|
||||||
|
|
||||||
assertThat(claimedTask).isNotNull();
|
assertThat(claimedTask).isNotNull();
|
||||||
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
||||||
|
assertThat(claimedTask.getOwnerLongName()).isEqualTo("Mustermann, Max - (user-1-1)");
|
||||||
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
||||||
assertThat(claimedTask.isRead()).isTrue();
|
assertThat(claimedTask.isRead()).isTrue();
|
||||||
assertThat(claimedTask.getClaimed())
|
assertThat(claimedTask.getClaimed())
|
||||||
|
|
|
@ -1110,13 +1110,24 @@ public class TaskServiceImpl implements TaskService {
|
||||||
addErrorToBulkLog(this::checkPreconditionsForCompleteTask, bulkLog));
|
addErrorToBulkLog(this::checkPreconditionsForCompleteTask, bulkLog));
|
||||||
} else {
|
} else {
|
||||||
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
||||||
|
String userLongName;
|
||||||
|
if (taskanaEngine.getEngine().getConfiguration().getAddAdditionalUserInfo()) {
|
||||||
|
User user = userMapper.findById(userId);
|
||||||
|
if (user != null) {
|
||||||
|
userLongName = user.getLongName();
|
||||||
|
} else {
|
||||||
|
userLongName = null;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
userLongName = null;
|
||||||
|
}
|
||||||
filteredSummaries =
|
filteredSummaries =
|
||||||
filteredSummaries.filter(
|
filteredSummaries.filter(
|
||||||
addErrorToBulkLog(
|
addErrorToBulkLog(
|
||||||
summary -> {
|
summary -> {
|
||||||
if (taskIsNotClaimed(summary)) {
|
if (taskIsNotClaimed(summary)) {
|
||||||
checkPreconditionsForClaimTask(summary, true);
|
checkPreconditionsForClaimTask(summary, true);
|
||||||
claimActionsOnTask(summary, userId, now);
|
claimActionsOnTask(summary, userId, userLongName, now);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
bulkLog));
|
bulkLog));
|
||||||
|
@ -1208,6 +1219,13 @@ public class TaskServiceImpl implements TaskService {
|
||||||
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException,
|
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException,
|
||||||
NotAuthorizedException {
|
NotAuthorizedException {
|
||||||
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
||||||
|
String userLongName = null;
|
||||||
|
if (taskanaEngine.getEngine().getConfiguration().getAddAdditionalUserInfo()) {
|
||||||
|
User user = userMapper.findById(userId);
|
||||||
|
if (user != null) {
|
||||||
|
userLongName = user.getLongName();
|
||||||
|
}
|
||||||
|
}
|
||||||
TaskImpl task;
|
TaskImpl task;
|
||||||
try {
|
try {
|
||||||
taskanaEngine.openConnection();
|
taskanaEngine.openConnection();
|
||||||
|
@ -1217,7 +1235,7 @@ public class TaskServiceImpl implements TaskService {
|
||||||
Instant now = Instant.now();
|
Instant now = Instant.now();
|
||||||
|
|
||||||
checkPreconditionsForClaimTask(task, forceClaim);
|
checkPreconditionsForClaimTask(task, forceClaim);
|
||||||
claimActionsOnTask(task, userId, now);
|
claimActionsOnTask(task, userId, userLongName, now);
|
||||||
taskMapper.update(task);
|
taskMapper.update(task);
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Task '{}' claimed by user '{}'.", taskId, userId);
|
LOGGER.debug("Task '{}' claimed by user '{}'.", taskId, userId);
|
||||||
|
@ -1339,8 +1357,10 @@ public class TaskServiceImpl implements TaskService {
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void claimActionsOnTask(TaskSummaryImpl task, String userId, Instant now) {
|
private static void claimActionsOnTask(
|
||||||
|
TaskSummaryImpl task, String userId, String userLongName, Instant now) {
|
||||||
task.setOwner(userId);
|
task.setOwner(userId);
|
||||||
|
task.setOwnerLongName(userLongName);
|
||||||
task.setModified(now);
|
task.setModified(now);
|
||||||
task.setClaimed(now);
|
task.setClaimed(now);
|
||||||
task.setRead(true);
|
task.setRead(true);
|
||||||
|
|
Loading…
Reference in New Issue