[Bug #1262] Remove option to cancel progress assignments in Gantt view
It makes this window coherent with the one in WBS. Moreover, there were more problems than the one described in the bug itself. For example, if you remove a progress type and click cancel, the progress is removed when you come back to the pop-up. The problem is that we're not working against a copy so in cancel button we need to revert all the changes done, which is quite complicated. So, at this moment the decision is remove this option. FEA: ItEr75S04BugFixing
This commit is contained in:
parent
a7dce2c8a7
commit
bbb5611546
7 changed files with 3 additions and 114 deletions
|
|
@ -116,6 +116,4 @@ public interface IManageOrderElementAdvancesModel {
|
|||
|
||||
AdvanceAssignment getSpreadAdvance();
|
||||
|
||||
void cancel();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,10 +118,6 @@ public class ManageOrderElementAdvancesController extends
|
|||
return manageOrderElementAdvancesModel.getAdvanceAssignments();
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
manageOrderElementAdvancesModel.cancel();
|
||||
}
|
||||
|
||||
public boolean close() {
|
||||
return save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,11 +29,9 @@ import java.math.RoundingMode;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
|
@ -97,8 +95,6 @@ public class ManageOrderElementAdvancesModel implements
|
|||
|
||||
private List<AdvanceType> listAdvanceTypes;
|
||||
|
||||
private CancelOperation cancelOperation = new CancelOperation();
|
||||
|
||||
@Autowired
|
||||
public ManageOrderElementAdvancesModel(
|
||||
IAdvanceMeasurementDAO advanceMeasurementDAO,
|
||||
|
|
@ -241,11 +237,6 @@ public class ManageOrderElementAdvancesModel implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
cancelOperation.restoreOriginalState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addNewLineAdvanceAssignment() {
|
||||
DirectAdvanceAssignment newAdvance = DirectAdvanceAssignment.create();
|
||||
|
|
@ -311,7 +302,6 @@ public class ManageOrderElementAdvancesModel implements
|
|||
measurement.setDate(null);
|
||||
advanceAssignment.addAdvanceMeasurements(measurement);
|
||||
}
|
||||
cancelOperation.markAsAdded(measurement);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -324,7 +314,6 @@ public class ManageOrderElementAdvancesModel implements
|
|||
|
||||
@Override
|
||||
public void removeLineAdvanceMeasurement(AdvanceMeasurement measurement) {
|
||||
cancelOperation.markAsRemoved(measurement);
|
||||
this.advanceAssignment.removeAdvanceMeasurement(measurement);
|
||||
}
|
||||
|
||||
|
|
@ -431,7 +420,6 @@ public class ManageOrderElementAdvancesModel implements
|
|||
reattachmentOrderElement();
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
validateBasicData();
|
||||
cancelOperation.clear();
|
||||
}
|
||||
|
||||
private void validateBasicData() throws InstanceNotFoundException,
|
||||
|
|
@ -801,78 +789,4 @@ public class ManageOrderElementAdvancesModel implements
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
*
|
||||
* Keeps track of added and removed measurements. When the cancel button is
|
||||
* pressed, restores the original state of the advance assignments
|
||||
*
|
||||
*/
|
||||
private static class CancelOperation {
|
||||
|
||||
private Set<AdvanceMeasurement> addedMeasurements = new HashSet<AdvanceMeasurement>();
|
||||
|
||||
private Map<AdvanceAssignment, Set<AdvanceMeasurement>> removedMeasurements = new HashMap<AdvanceAssignment, Set<AdvanceMeasurement>>();
|
||||
|
||||
public void restoreOriginalState() {
|
||||
addRemovedMeasurements();
|
||||
removeAddedMeasurements();
|
||||
clear();
|
||||
}
|
||||
|
||||
private void clear() {
|
||||
addedMeasurements.clear();
|
||||
removedMeasurements.clear();
|
||||
}
|
||||
|
||||
private void addRemovedMeasurements() {
|
||||
for (AdvanceAssignment each : removedMeasurements.keySet()) {
|
||||
if (each instanceof DirectAdvanceAssignment) {
|
||||
DirectAdvanceAssignment directAdvanceAssignment = (DirectAdvanceAssignment) each;
|
||||
directAdvanceAssignment
|
||||
.addAdvanceMeasurements(removedMeasurements
|
||||
.get(each));
|
||||
}
|
||||
}
|
||||
removedMeasurements.clear();
|
||||
}
|
||||
|
||||
private void removeAddedMeasurements() {
|
||||
for (AdvanceMeasurement each : addedMeasurements) {
|
||||
AdvanceAssignment assignment = each.getAdvanceAssignment();
|
||||
if (assignment instanceof DirectAdvanceAssignment) {
|
||||
DirectAdvanceAssignment directAdvanceAssignment = (DirectAdvanceAssignment) assignment;
|
||||
directAdvanceAssignment.removeAdvanceMeasurement(each);
|
||||
}
|
||||
}
|
||||
addedMeasurements.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Keeps track of new measurement added to {@link AdvanceAssignment}. If
|
||||
* the user later clicks cancel these elements will be removed
|
||||
*
|
||||
* @param measurement
|
||||
*/
|
||||
public void markAsAdded(AdvanceMeasurement measurement) {
|
||||
addedMeasurements.add(measurement);
|
||||
}
|
||||
|
||||
/**
|
||||
* Keeps track of measurement removed from {@link AdvanceAssignment}. If
|
||||
* the user later clicks cancel these elements will be added back again
|
||||
*
|
||||
* @param measurement
|
||||
*/
|
||||
public void markAsRemoved(AdvanceMeasurement measurement) {
|
||||
AdvanceAssignment assignment = measurement.getAdvanceAssignment();
|
||||
if (!removedMeasurements.containsKey(assignment)) {
|
||||
removedMeasurements.put(assignment, new HashSet<AdvanceMeasurement>());
|
||||
}
|
||||
Set<AdvanceMeasurement> measurements = removedMeasurements.get(assignment);
|
||||
measurements.add(measurement);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,16 +104,10 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer
|
|||
}
|
||||
|
||||
public void onClose(Event event) {
|
||||
cancel();
|
||||
accept();
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
manageOrderElementAdvancesController.cancel();
|
||||
advanceAssignmentPlanningModel.cancel();
|
||||
close();
|
||||
}
|
||||
|
||||
public void accept() {
|
||||
boolean result = manageOrderElementAdvancesController.close();
|
||||
if (result) {
|
||||
|
|
|
|||
|
|
@ -63,11 +63,6 @@ public class AdvanceAssignmentPlanningModel implements
|
|||
|
||||
private OrderElement orderElement;
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept() {
|
||||
getOrderElement().updateAdvancePercentageTaskElement();
|
||||
|
|
|
|||
|
|
@ -37,11 +37,6 @@ public interface IAdvanceAssignmentPlanningModel {
|
|||
public T doInsideTransaction();
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancel operation
|
||||
*/
|
||||
void cancel();
|
||||
|
||||
/**
|
||||
* Save task
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -67,12 +67,9 @@
|
|||
|
||||
<!-- Control buttons -->
|
||||
<hbox>
|
||||
<button label="${i18n:_('Accept')}"
|
||||
sclass="save-button global-action"
|
||||
<button label="${i18n:_('Back')}"
|
||||
sclass="back-button global-action"
|
||||
onClick="advanceAssignmentController.accept();" />
|
||||
<button label="${i18n:_('Cancel')}"
|
||||
sclass="cancel-button global-action"
|
||||
onClick="advanceAssignmentController.cancel();" />
|
||||
</hbox>
|
||||
|
||||
</window>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue