Fix error message if assignee is not found
If a user tries to add an invalid assignee, this results in the
following error message:
<INPUT> does not identify a registered user or group
This gives the wrong impression that you could assign a change to a
group. Fix this message so that it says:
<INPUT> does not identify a registered user
Change-Id: If4acc49c408095392429f2349584cae0954d1084
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeMessages.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeMessages.java
index 8236d3d..92b4150 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeMessages.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeMessages.java
@@ -23,7 +23,8 @@
}
public String revertChangeDefaultMessage;
- public String reviewerNotFound;
+ public String reviewerNotFoundUser;
+ public String reviewerNotFoundUserOrGroup;
public String groupIsNotAllowed;
public String groupHasTooManyMembers;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
index cd62e45..ae440c8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
@@ -209,7 +209,7 @@
reviewerInput.notify = NotifyHandling.NONE;
PostReviewers.Addition result = postReviewers.prepareApplication(
- revision.getChangeResource(), reviewerInput);
+ revision.getChangeResource(), reviewerInput, true);
reviewerJsonResults.put(reviewerInput.reviewer, result.result);
if (result.result.error != null) {
hasError = true;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
index f0af5da..0cdddca 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
@@ -147,7 +147,7 @@
throw new BadRequestException("missing reviewer field");
}
- Addition addition = prepareApplication(rsrc, input);
+ Addition addition = prepareApplication(rsrc, input, true);
if (addition.op == null) {
return addition.result;
}
@@ -161,18 +161,24 @@
return addition.result;
}
- public Addition prepareApplication(ChangeResource rsrc, AddReviewerInput input)
- throws OrmException, RestApiException, IOException {
+ public Addition prepareApplication(ChangeResource rsrc,
+ AddReviewerInput input, boolean allowGroup)
+ throws OrmException, RestApiException, IOException {
Account.Id accountId;
try {
accountId = accounts.parse(input.reviewer).getAccountId();
} catch (UnprocessableEntityException e) {
- try {
- return putGroup(rsrc, input);
- } catch (UnprocessableEntityException e2) {
- throw new UnprocessableEntityException(MessageFormat
- .format(ChangeMessages.get().reviewerNotFound, input.reviewer));
+ if (allowGroup) {
+ try {
+ return putGroup(rsrc, input);
+ } catch (UnprocessableEntityException e2) {
+ throw new UnprocessableEntityException(MessageFormat.format(
+ ChangeMessages.get().reviewerNotFoundUserOrGroup,
+ input.reviewer));
+ }
}
+ throw new UnprocessableEntityException(MessageFormat
+ .format(ChangeMessages.get().reviewerNotFoundUser, input.reviewer));
}
return putAccount(input.reviewer, reviewerFactory.create(rsrc, accountId),
input.state(), input.notify);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutAssignee.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutAssignee.java
index 5002436..42328a4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutAssignee.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutAssignee.java
@@ -91,7 +91,7 @@
reviewerInput.state = ReviewerState.CC;
reviewerInput.confirmed = true;
reviewerInput.notify = NotifyHandling.NONE;
- return postReviewers.prepareApplication(rsrc, reviewerInput);
+ return postReviewers.prepareApplication(rsrc, reviewerInput, false);
}
@Override
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/change/ChangeMessages.properties b/gerrit-server/src/main/resources/com/google/gerrit/server/change/ChangeMessages.properties
index f05f23b..f34c992 100644
--- a/gerrit-server/src/main/resources/com/google/gerrit/server/change/ChangeMessages.properties
+++ b/gerrit-server/src/main/resources/com/google/gerrit/server/change/ChangeMessages.properties
@@ -1,7 +1,8 @@
# Changes to this file should also be made in
# gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeMessages.properties
revertChangeDefaultMessage = Revert \"{0}\"\n\nThis reverts commit {1}.
-reviewerNotFound = {0} does not identify a registered user or group
+reviewerNotFoundUser = {0} does not identify a registered user
+reviewerNotFoundUserOrGroup = {0} does not identify a registered user or group
groupIsNotAllowed = The group {0} cannot be added as reviewer.
groupHasTooManyMembers = The group {0} has too many members to add them all as reviewers.