Show dependency list when change is needed by another change

In the current implementation the dependency list is opened only when
the change depends on another unmerged change.

This patch changes the behaviour so that the dependency list will also
be opened when the change is needed by (is a dependency of) another
change that is in new or submitted state.

Change-Id: If3009aba59fdbeebe8d1d7d81300894bb47c0daf
This commit is contained in:
David Pursehouse
2012-05-30 10:51:16 +09:00
committed by Gustaf Lundh
parent 277ce33c33
commit 7cc8ef4b01

View File

@@ -291,18 +291,28 @@ public class ChangeScreen extends Screen
addComments(detail);
// If any dependency change is still open, or is outdated,
// or the change is needed by a change that is new or submitted,
// show our dependency list.
//
boolean depsOpen = false;
int outdated = 0;
if (!detail.getChange().getStatus().isClosed()
&& detail.getDependsOn() != null) {
for (final ChangeInfo ci : detail.getDependsOn()) {
if (! ci.isLatest()) {
depsOpen = true;
outdated++;
} else if (ci.getStatus() != Change.Status.MERGED) {
depsOpen = true;
if (!detail.getChange().getStatus().isClosed()) {
if (detail.getDependsOn() != null) {
for (final ChangeInfo ci : detail.getDependsOn()) {
if (!ci.isLatest()) {
depsOpen = true;
outdated++;
} else if (ci.getStatus() != Change.Status.MERGED) {
depsOpen = true;
}
}
}
if (detail.getNeededBy() != null) {
for (final ChangeInfo ci : detail.getNeededBy()) {
if ((ci.getStatus() == Change.Status.NEW) ||
(ci.getStatus() == Change.Status.SUBMITTED)) {
depsOpen = true;
}
}
}
}