diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java index e130ba3205..cf05d95d28 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java @@ -48,21 +48,24 @@ public class Ignore return new UiAction.Description() .setLabel("Ignore") .setTitle("Ignore the change") - .setVisible(!rsrc.isUserOwner() && !isIgnored(rsrc)); + .setVisible(canIgnore(rsrc)); } @Override public Response apply(ChangeResource rsrc, Input input) throws RestApiException { try { - if (rsrc.isUserOwner() || isIgnored(rsrc)) { - // early exit for own changes and already ignored changes - return Response.ok(""); + // Don't try to ignore own changes or already ignored changes + if (canIgnore(rsrc)) { + stars.ignore(rsrc); } - stars.ignore(rsrc); + return Response.ok(""); } catch (OrmException e) { throw new RestApiException("failed to ignore change", e); } - return Response.ok(""); + } + + private boolean canIgnore(ChangeResource rsrc) { + return !rsrc.isUserOwner() && !isIgnored(rsrc); } private boolean isIgnored(ChangeResource rsrc) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Unignore.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Unignore.java index 524e1abe4c..82e6fe9142 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Unignore.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Unignore.java @@ -48,21 +48,24 @@ public class Unignore return new UiAction.Description() .setLabel("Unignore") .setTitle("Unignore the change") - .setVisible(!rsrc.isUserOwner() && isIgnored(rsrc)); + .setVisible(canUnignore(rsrc)); } @Override public Response apply(ChangeResource rsrc, Input input) throws RestApiException { try { - if (rsrc.isUserOwner() || !isIgnored(rsrc)) { - // early exit for own changes and not ignored changes - return Response.ok(""); + // Don't try to unignore own changes or not ignored changes + if (canUnignore(rsrc)) { + stars.unignore(rsrc); } - stars.unignore(rsrc); + return Response.ok(""); } catch (OrmException e) { throw new RestApiException("failed to unignore change", e); } - return Response.ok(""); + } + + private boolean canUnignore(ChangeResource rsrc) { + return !rsrc.isUserOwner() && isIgnored(rsrc); } private boolean isIgnored(ChangeResource rsrc) {