New mute-label allows for temporarily unhighlighting changes in dashboard
If the "mute/<patchset_id>"-star is set by a user, and <patchset_id> matches the current patch set, the change is always reported as "reviewed" in the ChangeInfo. This allows users to "de-highlight" changes in a dashboard until a new patchset is uploaded. The ChangeInfo muted-field will show if the change is currently in a mute-state. Change-Id: I83085033ff99d7b0ce1fe834fabfad5956db90ae
This commit is contained in:
parent
aca5d89120
commit
e011d93ba6
@ -61,6 +61,19 @@ request. They can then decide to remove the ignore star.
|
||||
|
||||
The ignore star is represented by the special star label 'ignore'.
|
||||
|
||||
[[mute-star]]
|
||||
== Mute Star
|
||||
|
||||
If the "mute/<patchset_id>"-star is set by a user, and <patchset_id>
|
||||
matches the current patch set, the change is always reported as "reviewed"
|
||||
in the ChangeInfo.
|
||||
|
||||
This allows users to "de-highlight" changes in a dashboard until a new
|
||||
patchset has been uploaded.
|
||||
|
||||
The ChangeInfo muted-field will show if the change is currently in a
|
||||
mute state.
|
||||
|
||||
[[query-stars]]
|
||||
== Query Stars
|
||||
|
||||
|
@ -36,6 +36,7 @@ public class ChangeInfo {
|
||||
public Timestamp updated;
|
||||
public Timestamp submitted;
|
||||
public Boolean starred;
|
||||
public Boolean muted;
|
||||
public Collection<String> stars;
|
||||
public Boolean reviewed;
|
||||
public SubmitType submitType;
|
||||
|
@ -136,6 +136,8 @@ public class ChangeInfo extends JavaScriptObject {
|
||||
|
||||
public final native boolean starred() /*-{ return this.starred ? true : false; }-*/;
|
||||
|
||||
public final native boolean muted() /*-{ return this.muted ? true : false; }-*/;
|
||||
|
||||
public final native boolean reviewed() /*-{ return this.reviewed ? true : false; }-*/;
|
||||
|
||||
public final native boolean isPrivate() /*-{ return this.is_private ? true : false; }-*/;
|
||||
|
@ -147,6 +147,7 @@ public class StarredChangesUtil {
|
||||
|
||||
public static final String DEFAULT_LABEL = "star";
|
||||
public static final String IGNORE_LABEL = "ignore";
|
||||
public static final String MUTE_LABEL = "mute";
|
||||
public static final ImmutableSortedSet<String> DEFAULT_LABELS =
|
||||
ImmutableSortedSet.of(DEFAULT_LABEL);
|
||||
|
||||
|
@ -514,6 +514,11 @@ public class ChangeJson {
|
||||
if (user.isIdentifiedUser()) {
|
||||
Collection<String> stars = cd.stars(user.getAccountId());
|
||||
out.starred = stars.contains(StarredChangesUtil.DEFAULT_LABEL) ? true : null;
|
||||
out.muted =
|
||||
stars.contains(
|
||||
StarredChangesUtil.MUTE_LABEL + "/" + cd.currentPatchSet().getPatchSetId())
|
||||
? true
|
||||
: null;
|
||||
if (!stars.isEmpty()) {
|
||||
out.stars = stars;
|
||||
}
|
||||
@ -521,7 +526,11 @@ public class ChangeJson {
|
||||
|
||||
if (in.getStatus().isOpen() && has(REVIEWED) && user.isIdentifiedUser()) {
|
||||
Account.Id accountId = user.getAccountId();
|
||||
out.reviewed = cd.reviewedBy().contains(accountId) ? true : null;
|
||||
if (out.muted != null) {
|
||||
out.reviewed = true;
|
||||
} else {
|
||||
out.reviewed = cd.reviewedBy().contains(accountId) ? true : null;
|
||||
}
|
||||
}
|
||||
|
||||
out.labels = labelsFor(perm, ctl, cd, has(LABELS), has(DETAILED_LABELS));
|
||||
|
Loading…
Reference in New Issue
Block a user