Disable change of scheduling state point in WBS for tasks updated from timesheets
FEA: ItEr77S12AdaptPlanningAccordingTimesheets
This commit is contained in:
parent
4397d43133
commit
f25897a6a4
4 changed files with 29 additions and 1 deletions
|
|
@ -1012,6 +1012,14 @@ public abstract class OrderElement extends IntegrationEntity implements
|
|||
return getCurrentSchedulingData().getTaskSource();
|
||||
}
|
||||
|
||||
public TaskElement getTaskElement() {
|
||||
TaskSource taskSource = getTaskSource();
|
||||
if (taskSource == null) {
|
||||
return null;
|
||||
}
|
||||
return taskSource.getTask();
|
||||
}
|
||||
|
||||
public Set<TaskElement> getTaskElements() {
|
||||
if (getTaskSource() == null) {
|
||||
return Collections.emptySet();
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import org.libreplan.business.orders.entities.OrderElement;
|
|||
import org.libreplan.business.orders.entities.OrderLine;
|
||||
import org.libreplan.business.orders.entities.OrderLineGroup;
|
||||
import org.libreplan.business.orders.entities.SchedulingState;
|
||||
import org.libreplan.business.planner.entities.TaskElement;
|
||||
import org.libreplan.business.requirements.entities.CriterionRequirement;
|
||||
import org.libreplan.business.templates.entities.OrderElementTemplate;
|
||||
import org.libreplan.business.users.entities.UserRole;
|
||||
|
|
@ -518,6 +519,15 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
super.removeCodeTextbox(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isUpdatedFromTimesheets(OrderElement currentElement) {
|
||||
TaskElement taskElement = currentElement.getTaskElement();
|
||||
if (taskElement != null) {
|
||||
return taskElement.isUpdatedFromTimesheets();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -169,6 +169,12 @@ public class TemplatesTreeController extends
|
|||
return currentElement.getSchedulingState();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isUpdatedFromTimesheets(
|
||||
OrderElementTemplate currentElement) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public TemplatesTreeController(IOrderTemplatesModel model,
|
||||
|
|
|
|||
|
|
@ -762,7 +762,8 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
final SchedulingState schedulingState = getSchedulingStateFrom(currentElement);
|
||||
SchedulingStateToggler schedulingStateToggler = new SchedulingStateToggler(
|
||||
schedulingState);
|
||||
schedulingStateToggler.setReadOnly(readOnly);
|
||||
schedulingStateToggler.setReadOnly(readOnly
|
||||
|| isUpdatedFromTimesheets(currentElement));
|
||||
final Treecell cell = addCell(
|
||||
getDecorationFromState(getSchedulingStateFrom(currentElement)),
|
||||
schedulingStateToggler);
|
||||
|
|
@ -1227,6 +1228,9 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
public void doTry() {
|
||||
|
||||
}
|
||||
|
||||
protected abstract boolean isUpdatedFromTimesheets(T currentElement);
|
||||
|
||||
}
|
||||
|
||||
public void setColumns(List<Column> columns) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue