Removed checkIncludeOrderElements checkbox and its functional
Removed checkbox, all corresponding functional and condition checking, predicate refactor, code refactor
This commit is contained in:
parent
e327ecfe30
commit
2d52ba4ddb
7 changed files with 9 additions and 73 deletions
|
|
@ -180,8 +180,6 @@ public class OrderCRUDController extends GenericForwardComposer {
|
||||||
|
|
||||||
private BandboxMultipleSearch bdFilters;
|
private BandboxMultipleSearch bdFilters;
|
||||||
|
|
||||||
private Checkbox checkIncludeOrderElements;
|
|
||||||
|
|
||||||
private BandboxSearch bdExternalCompanies;
|
private BandboxSearch bdExternalCompanies;
|
||||||
|
|
||||||
private OnlyOneVisible cachedOnlyOneVisible;
|
private OnlyOneVisible cachedOnlyOneVisible;
|
||||||
|
|
@ -247,7 +245,6 @@ public class OrderCRUDController extends GenericForwardComposer {
|
||||||
filterStartDate = (Datebox) filterComponent.getFellow("filterStartDate");
|
filterStartDate = (Datebox) filterComponent.getFellow("filterStartDate");
|
||||||
filterFinishDate = (Datebox) filterComponent.getFellow("filterFinishDate");
|
filterFinishDate = (Datebox) filterComponent.getFellow("filterFinishDate");
|
||||||
bdFilters = (BandboxMultipleSearch) filterComponent.getFellow("bdFilters");
|
bdFilters = (BandboxMultipleSearch) filterComponent.getFellow("bdFilters");
|
||||||
checkIncludeOrderElements = (Checkbox) filterComponent.getFellow("checkIncludeOrderElements");
|
|
||||||
|
|
||||||
filterProjectName = (Textbox) filterComponent.getFellow("filterProjectName");
|
filterProjectName = (Textbox) filterComponent.getFellow("filterProjectName");
|
||||||
|
|
||||||
|
|
@ -781,10 +778,6 @@ public class OrderCRUDController extends GenericForwardComposer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Order> getOrders() {
|
public List<Order> getOrders() {
|
||||||
if ( checkIncludeOrderElements.isChecked() ) {
|
|
||||||
return orderModel.getOrders();
|
|
||||||
}
|
|
||||||
|
|
||||||
return getOrdersFiltered();
|
return getOrdersFiltered();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1471,12 +1464,11 @@ public class OrderCRUDController extends GenericForwardComposer {
|
||||||
|
|
||||||
Date startDate = filterStartDate.getValue();
|
Date startDate = filterStartDate.getValue();
|
||||||
Date finishDate = filterFinishDate.getValue();
|
Date finishDate = filterFinishDate.getValue();
|
||||||
Boolean includeOrderElements = checkIncludeOrderElements.isChecked();
|
|
||||||
String name = filterProjectName.getValue();
|
String name = filterProjectName.getValue();
|
||||||
|
|
||||||
return listFilters.isEmpty() && startDate == null && finishDate == null && name == null
|
return listFilters.isEmpty() && startDate == null && finishDate == null && name == null
|
||||||
? null
|
? null
|
||||||
: new OrderPredicate(listFilters, startDate, finishDate, includeOrderElements, name);
|
: new OrderPredicate(listFilters, startDate, finishDate, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void filterByPredicate(OrderPredicate predicate) {
|
private void filterByPredicate(OrderPredicate predicate) {
|
||||||
|
|
|
||||||
|
|
@ -54,15 +54,12 @@ public class OrderPredicate implements IPredicate {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
private Boolean includeOrderElements;
|
|
||||||
|
|
||||||
public OrderPredicate(List<FilterPair> filters, Date startDate,
|
public OrderPredicate(List<FilterPair> filters, Date startDate,
|
||||||
Date finishDate, Boolean includeOrderElements, String name) {
|
Date finishDate, String name) {
|
||||||
this.filters = filters;
|
this.filters = filters;
|
||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
this.finishDate = finishDate;
|
this.finishDate = finishDate;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.includeOrderElements = includeOrderElements;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -117,13 +114,6 @@ public class OrderPredicate implements IPredicate {
|
||||||
if (existCriterionInOrderElement(filterCriterion, order)) {
|
if (existCriterionInOrderElement(filterCriterion, order)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (includeOrderElements) {
|
|
||||||
for (OrderElement orderElement : order.getAllOrderElements()) {
|
|
||||||
if (existCriterionInOrderElement(filterCriterion, orderElement)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -149,13 +139,6 @@ public class OrderPredicate implements IPredicate {
|
||||||
if (existLabelInOrderElement(filterLabel, order)) {
|
if (existLabelInOrderElement(filterLabel, order)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (this.includeOrderElements) {
|
|
||||||
for (OrderElement orderElement : order.getAllOrderElements()) {
|
|
||||||
if (existLabelInOrderElement(filterLabel, orderElement)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,11 @@ public class TaskGroupPredicate implements IPredicate {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
private Boolean includeChildren;
|
|
||||||
|
|
||||||
public TaskGroupPredicate(List<FilterPair> filters, Date startDate,
|
public TaskGroupPredicate(List<FilterPair> filters, Date startDate,
|
||||||
Date finishDate, Boolean includeChildren, String name) {
|
Date finishDate, String name) {
|
||||||
this.filters = filters;
|
this.filters = filters;
|
||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
this.finishDate = finishDate;
|
this.finishDate = finishDate;
|
||||||
this.includeChildren = includeChildren;
|
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,14 +119,6 @@ public class TaskGroupPredicate implements IPredicate {
|
||||||
taskElement)) {
|
taskElement)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (includeChildren) {
|
|
||||||
for (TaskElement each : taskElement.getAllChildren()) {
|
|
||||||
if (existCriterionInTaskElementResourceAllocations(
|
|
||||||
filterCriterion, each)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -164,13 +153,6 @@ public class TaskGroupPredicate implements IPredicate {
|
||||||
if (existLabelInOrderElement(filterLabel, order)) {
|
if (existLabelInOrderElement(filterLabel, order)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (this.includeChildren) {
|
|
||||||
for (OrderElement orderElement : order.getAllOrderElements()) {
|
|
||||||
if (existLabelInOrderElement(filterLabel, orderElement)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -288,10 +270,6 @@ public class TaskGroupPredicate implements IPredicate {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isIncludeChildren() {
|
|
||||||
return includeChildren;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<FilterPair> getFilters() {
|
public List<FilterPair> getFilters() {
|
||||||
if (filters == null) {
|
if (filters == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,6 @@ public class CompanyPlanningController implements Composer {
|
||||||
|
|
||||||
private BandboxMultipleSearch bdFilters;
|
private BandboxMultipleSearch bdFilters;
|
||||||
|
|
||||||
private Checkbox checkIncludeOrderElements;
|
|
||||||
|
|
||||||
private ICommandOnTask<TaskElement> doubleClickCommand;
|
private ICommandOnTask<TaskElement> doubleClickCommand;
|
||||||
|
|
||||||
private Map<String, String[]> parameters;
|
private Map<String, String[]> parameters;
|
||||||
|
|
@ -143,7 +141,6 @@ public class CompanyPlanningController implements Composer {
|
||||||
|
|
||||||
loadPredefinedBandboxFilter();
|
loadPredefinedBandboxFilter();
|
||||||
|
|
||||||
checkIncludeOrderElements = (Checkbox) filterComponent.getFellow("checkIncludeOrderElements");
|
|
||||||
filterComponent.setVisible(true);
|
filterComponent.setVisible(true);
|
||||||
checkCreationPermissions();
|
checkCreationPermissions();
|
||||||
|
|
||||||
|
|
@ -336,14 +333,13 @@ public class CompanyPlanningController implements Composer {
|
||||||
List<FilterPair> listFilters = (List<FilterPair>) bdFilters.getSelectedElements();
|
List<FilterPair> listFilters = (List<FilterPair>) bdFilters.getSelectedElements();
|
||||||
Date startDate = filterStartDate.getValue();
|
Date startDate = filterStartDate.getValue();
|
||||||
Date finishDate = filterFinishDate.getValue();
|
Date finishDate = filterFinishDate.getValue();
|
||||||
Boolean includeOrderElements = checkIncludeOrderElements.isChecked();
|
|
||||||
|
|
||||||
String name = filterProjectName.getValue();
|
String name = filterProjectName.getValue();
|
||||||
|
|
||||||
filterProjectName.setValue(name);
|
filterProjectName.setValue(name);
|
||||||
|
|
||||||
if ( startDate == null && finishDate == null ) {
|
if ( startDate == null && finishDate == null ) {
|
||||||
TaskGroupPredicate predicate = model.getDefaultPredicate(includeOrderElements);
|
TaskGroupPredicate predicate = model.getDefaultPredicate();
|
||||||
|
|
||||||
// Show filter dates calculated by default on screen
|
// Show filter dates calculated by default on screen
|
||||||
if ( model.getFilterStartDate() != null && !FilterUtils.hasProjectsStartDateChanged()) {
|
if ( model.getFilterStartDate() != null && !FilterUtils.hasProjectsStartDateChanged()) {
|
||||||
|
|
@ -358,7 +354,7 @@ public class CompanyPlanningController implements Composer {
|
||||||
return predicate;
|
return predicate;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TaskGroupPredicate(listFilters, startDate, finishDate, includeOrderElements, name);
|
return new TaskGroupPredicate(listFilters, startDate, finishDate, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void filterByPredicate(TaskGroupPredicate predicate) {
|
private void filterByPredicate(TaskGroupPredicate predicate) {
|
||||||
|
|
|
||||||
|
|
@ -673,15 +673,11 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
|
||||||
|
|
||||||
if (associatedTaskElement != null) {
|
if (associatedTaskElement != null) {
|
||||||
if (predicate != null) {
|
if (predicate != null) {
|
||||||
// If predicate includeChildren then we check if it accepts the element
|
|
||||||
if (!predicate.accepts(associatedTaskElement)) {
|
if (!predicate.accepts(associatedTaskElement)) {
|
||||||
// If it doesn't accept the element we move on to the next order
|
// If predicate doesn't accept the element we move on to the next order
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If predicate doesn't includeChildren then the orders where already filtered in the DB query.
|
|
||||||
// Otherwise they've been filtered with the predicate above, and
|
|
||||||
// if they didn't pass the filter the execution doesn't reach this point.
|
|
||||||
associatedTaskElement.setSimplifiedAssignedStatusCalculationEnabled(true);
|
associatedTaskElement.setSimplifiedAssignedStatusCalculationEnabled(true);
|
||||||
result.add(associatedTaskElement);
|
result.add(associatedTaskElement);
|
||||||
}
|
}
|
||||||
|
|
@ -694,10 +690,6 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
|
||||||
private List<Order> getOrders(TaskGroupPredicate predicate) {
|
private List<Order> getOrders(TaskGroupPredicate predicate) {
|
||||||
String username = SecurityUtils.getSessionUserLoginName();
|
String username = SecurityUtils.getSessionUserLoginName();
|
||||||
|
|
||||||
if (predicate.isIncludeChildren()) {
|
|
||||||
return orderDAO.getOrdersByReadAuthorizationByScenario(username, currentScenario);
|
|
||||||
}
|
|
||||||
|
|
||||||
Date startDate = predicate.getStartDate();
|
Date startDate = predicate.getStartDate();
|
||||||
Date endDate = predicate.getFinishDate();
|
Date endDate = predicate.getFinishDate();
|
||||||
List<org.libreplan.business.labels.entities.Label> labels = new ArrayList<>();
|
List<org.libreplan.business.labels.entities.Label> labels = new ArrayList<>();
|
||||||
|
|
@ -745,7 +737,7 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public TaskGroupPredicate getDefaultPredicate(Boolean includeOrderElements) {
|
public TaskGroupPredicate getDefaultPredicate() {
|
||||||
|
|
||||||
Date startDate = FilterUtils.readProjectsStartDate();
|
Date startDate = FilterUtils.readProjectsStartDate();
|
||||||
Date endDate = FilterUtils.readProjectsEndDate();
|
Date endDate = FilterUtils.readProjectsEndDate();
|
||||||
|
|
@ -785,7 +777,7 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
|
||||||
filterStartDate = startDate != null ? LocalDate.fromDateFields(startDate) : null;
|
filterStartDate = startDate != null ? LocalDate.fromDateFields(startDate) : null;
|
||||||
filterFinishDate = endDate != null ? LocalDate.fromDateFields(endDate) : null;
|
filterFinishDate = endDate != null ? LocalDate.fromDateFields(endDate) : null;
|
||||||
|
|
||||||
return new TaskGroupPredicate(null, startDate, endDate, includeOrderElements, name);
|
return new TaskGroupPredicate(null, startDate, endDate, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static <T> List<T> notNull(T... values) {
|
private static <T> List<T> notNull(T... values) {
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public interface ICompanyPlanningModel {
|
||||||
|
|
||||||
ProgressType getProgressTypeFromConfiguration();
|
ProgressType getProgressTypeFromConfiguration();
|
||||||
|
|
||||||
TaskGroupPredicate getDefaultPredicate(Boolean includeOrderElements);
|
TaskGroupPredicate getDefaultPredicate();
|
||||||
|
|
||||||
User getUser();
|
User getUser();
|
||||||
}
|
}
|
||||||
|
|
@ -41,11 +41,6 @@
|
||||||
<datebox id="filterFinishDate" constraint = "@{orderFilterController.checkConstraintFinishDate}"
|
<datebox id="filterFinishDate" constraint = "@{orderFilterController.checkConstraintFinishDate}"
|
||||||
onChange="orderFilterController.onApplyFilter()"/>
|
onChange="orderFilterController.onApplyFilter()"/>
|
||||||
|
|
||||||
<label value="${i18n:_('subelements')}"/>
|
|
||||||
|
|
||||||
<!-- TODO Jeroen is thinking about tooltip for this checkbox -->
|
|
||||||
<checkbox id="checkIncludeOrderElements"/>
|
|
||||||
|
|
||||||
<button mold="trendy" image="/common/img/ico_filter.png" style="margin-top: -4px"
|
<button mold="trendy" image="/common/img/ico_filter.png" style="margin-top: -4px"
|
||||||
tooltiptext="${i18n:_('Apply filtering to tasks satisfying required criteria')}"
|
tooltiptext="${i18n:_('Apply filtering to tasks satisfying required criteria')}"
|
||||||
onClick="orderFilterController.onApplyFilter()"/>
|
onClick="orderFilterController.onApplyFilter()"/>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue