Added REMOVE_NOT_PERMITTED to ReviewerResult
Previously, RemoveReviewer would store error details in the `name` property of ReviewerResult because there were not specific enough error codes. This change lets us keep the intended seperation of argument and error detail. Change-Id: I3eb431a017cd39e19276f98663f7da37f0d53f43
This commit is contained in:
@@ -56,8 +56,11 @@ public class ReviewerResult {
|
||||
/** The account is not permitted to see the change. */
|
||||
CHANGE_NOT_VISIBLE,
|
||||
|
||||
/** Could not remove this reviewer from the change. */
|
||||
COULD_NOT_REMOVE
|
||||
/** Could not remove this reviewer from the change due to ORMException. */
|
||||
COULD_NOT_REMOVE,
|
||||
|
||||
/** Not permitted to remove this reviewer from the change. */
|
||||
REMOVE_NOT_PERMITTED
|
||||
}
|
||||
|
||||
protected Type type;
|
||||
|
||||
@@ -304,7 +304,18 @@ public class ApprovalTable extends Composite {
|
||||
final ChangeDetail r = result.getChange();
|
||||
display(r.getChange(), r.getMissingApprovals(), r.getApprovals());
|
||||
} else {
|
||||
new ErrorDialog(result.getErrors().get(0).toString()).center();
|
||||
final ReviewerResult.Error resultError =
|
||||
result.getErrors().get(0);
|
||||
String message;
|
||||
switch (resultError.getType()) {
|
||||
case REMOVE_NOT_PERMITTED:
|
||||
message = Util.C.approvalTableRemoveNotPermitted();
|
||||
break;
|
||||
case COULD_NOT_REMOVE:
|
||||
default:
|
||||
message = Util.C.approvalTableCouldNotRemove();
|
||||
}
|
||||
new ErrorDialog(message + " " + resultError.getName()).center();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,8 @@ public interface ChangeConstants extends Constants {
|
||||
|
||||
String approvalTableReviewer();
|
||||
String approvalTableAddReviewer();
|
||||
String approvalTableRemoveNotPermitted();
|
||||
String approvalTableCouldNotRemove();
|
||||
|
||||
String changeInfoBlockOwner();
|
||||
String changeInfoBlockProject();
|
||||
|
||||
@@ -55,6 +55,8 @@ changeScreenComments = Comments
|
||||
|
||||
approvalTableReviewer = Reviewer
|
||||
approvalTableAddReviewer = Add Reviewer
|
||||
approvalTableRemoveNotPermitted = Not allowed to remove reviewer
|
||||
approvalTableCouldNotRemove = Could not remove reviewer
|
||||
|
||||
changeInfoBlockOwner = Owner
|
||||
changeInfoBlockProject = Project
|
||||
|
||||
@@ -78,12 +78,12 @@ public class RemoveReviewer implements Callable<ReviewerResult> {
|
||||
} catch (OrmException ex) {
|
||||
result.addError(new ReviewerResult.Error(
|
||||
ReviewerResult.Error.Type.COULD_NOT_REMOVE,
|
||||
"Could not remove reviewer " + reviewerId));
|
||||
reviewerId.toString()));
|
||||
}
|
||||
} else {
|
||||
result.addError(new ReviewerResult.Error(
|
||||
ReviewerResult.Error.Type.COULD_NOT_REMOVE,
|
||||
"Not allowed to remove reviewer " + reviewerId));
|
||||
ReviewerResult.Error.Type.REMOVE_NOT_PERMITTED,
|
||||
reviewerId.toString()));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user