Created Criterion configuration bandbox on user settings to filter Resources Load results
FEA: ItEr77S15FilteringEnhancements
This commit is contained in:
parent
dcd7cd8c09
commit
13a4473d3f
5 changed files with 82 additions and 2 deletions
|
|
@ -34,6 +34,7 @@ import org.libreplan.business.common.IHumanIdentifiable;
|
|||
import org.libreplan.business.common.Registry;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.labels.entities.Label;
|
||||
import org.libreplan.business.resources.entities.Criterion;
|
||||
import org.libreplan.business.resources.entities.Worker;
|
||||
import org.libreplan.business.scenarios.entities.Scenario;
|
||||
import org.libreplan.business.settings.entities.Language;
|
||||
|
|
@ -89,6 +90,8 @@ public class User extends BaseEntity implements IHumanIdentifiable{
|
|||
|
||||
private Integer projectsFilterPeriodTo;
|
||||
|
||||
private Criterion resourcesLoadFilterCriterion = null;
|
||||
|
||||
private Integer resourcesLoadFilterPeriodSince;
|
||||
|
||||
private Integer resourcesLoadFilterPeriodTo;
|
||||
|
|
@ -393,6 +396,14 @@ public class User extends BaseEntity implements IHumanIdentifiable{
|
|||
projectsFilterLabel = label;
|
||||
}
|
||||
|
||||
public Criterion getResourcesLoadFilterCriterion() {
|
||||
return resourcesLoadFilterCriterion;
|
||||
}
|
||||
|
||||
public void setResourcesLoadFilterCriterion(Criterion criterion) {
|
||||
resourcesLoadFilterCriterion = criterion;
|
||||
}
|
||||
|
||||
public Integer getProjectsFilterPeriodSince() {
|
||||
return projectsFilterPeriodSince;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import java.util.List;
|
|||
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.labels.entities.Label;
|
||||
import org.libreplan.business.resources.entities.Criterion;
|
||||
import org.libreplan.business.settings.entities.Language;
|
||||
|
||||
|
||||
|
|
@ -94,4 +95,10 @@ public interface ISettingsModel {
|
|||
|
||||
void setProjectsFilterLabel(Label label);
|
||||
|
||||
List<Criterion> getAllCriteria();
|
||||
|
||||
Criterion getResourcesLoadFilterCriterion();
|
||||
|
||||
void setResourcesLoadFilterCriterion(Criterion criterion);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import java.util.List;
|
|||
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.labels.entities.Label;
|
||||
import org.libreplan.business.resources.entities.Criterion;
|
||||
import org.libreplan.business.settings.entities.Language;
|
||||
import org.libreplan.web.common.IMessagesForUser;
|
||||
import org.libreplan.web.common.Level;
|
||||
|
|
@ -63,6 +64,8 @@ public class SettingsController extends GenericForwardComposer {
|
|||
|
||||
private BandboxSearch projectsFilterLabelBandboxSearch;
|
||||
|
||||
private BandboxSearch resourcesLoadFilterCriterionBandboxSearch;
|
||||
|
||||
public static ListitemRenderer languagesRenderer = new ListitemRenderer() {
|
||||
@Override
|
||||
public void render(org.zkoss.zul.Listitem item, Object data)
|
||||
|
|
@ -91,6 +94,16 @@ public class SettingsController extends GenericForwardComposer {
|
|||
setProjectsFilterLabel((Label) selectedItem.getValue());
|
||||
}
|
||||
});
|
||||
resourcesLoadFilterCriterionBandboxSearch.setListboxEventListener(
|
||||
Events.ON_SELECT, new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) {
|
||||
Listitem selectedItem = (Listitem) ((SelectEvent) event)
|
||||
.getSelectedItems().iterator().next();
|
||||
setResourcesLoadFilterCriterion((Criterion) selectedItem
|
||||
.getValue());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public List<Language> getLanguages() {
|
||||
|
|
@ -240,4 +253,16 @@ public class SettingsController extends GenericForwardComposer {
|
|||
settingsModel.setProjectsFilterLabel(label);
|
||||
}
|
||||
|
||||
public List<Criterion> getAllCriteria() {
|
||||
return settingsModel.getAllCriteria();
|
||||
}
|
||||
|
||||
public Criterion getResourcesLoadFilterCriterion() {
|
||||
return settingsModel.getResourcesLoadFilterCriterion();
|
||||
}
|
||||
|
||||
public void setResourcesLoadFilterCriterion(Criterion criterion) {
|
||||
settingsModel.setResourcesLoadFilterCriterion(criterion);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
|||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.labels.daos.ILabelDAO;
|
||||
import org.libreplan.business.labels.entities.Label;
|
||||
import org.libreplan.business.resources.daos.ICriterionDAO;
|
||||
import org.libreplan.business.resources.entities.Criterion;
|
||||
import org.libreplan.business.settings.entities.Language;
|
||||
import org.libreplan.business.users.daos.IUserDAO;
|
||||
import org.libreplan.business.users.entities.Profile;
|
||||
|
|
@ -58,10 +60,15 @@ public class SettingsModel implements ISettingsModel {
|
|||
@Autowired
|
||||
private ILabelDAO labelsDAO;
|
||||
|
||||
@Autowired
|
||||
private ICriterionDAO criterionDAO;
|
||||
|
||||
private User user;
|
||||
|
||||
private List<Label> allLabels;
|
||||
|
||||
private List<Criterion> allCriteria;
|
||||
|
||||
@Override
|
||||
public Language getApplicationLanguage() {
|
||||
return user.getApplicationLanguage();
|
||||
|
|
@ -86,6 +93,7 @@ public class SettingsModel implements ISettingsModel {
|
|||
User user = findByLoginUser(SecurityUtils.getSessionUserLoginName());
|
||||
this.user = getFromDB(user);
|
||||
loadAllLabels();
|
||||
loadAllCriteria();
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
|
|
@ -97,6 +105,15 @@ public class SettingsModel implements ISettingsModel {
|
|||
}
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
private void loadAllCriteria() {
|
||||
allCriteria = criterionDAO.getAll();
|
||||
// initialize the criteria
|
||||
for (Criterion criterion : allCriteria) {
|
||||
criterion.getType().getName();
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
private User getFromDB(User user) {
|
||||
return getFromDB(user.getId());
|
||||
|
|
@ -279,4 +296,20 @@ public class SettingsModel implements ISettingsModel {
|
|||
user.setProjectsFilterLabel(label);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<Criterion> getAllCriteria() {
|
||||
return allCriteria;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Criterion getResourcesLoadFilterCriterion() {
|
||||
return user.getResourcesLoadFilterCriterion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setResourcesLoadFilterCriterion(Criterion criterion) {
|
||||
user.setResourcesLoadFilterCriterion(criterion);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,8 +138,12 @@
|
|||
<label
|
||||
value="${i18n:_('Resources load filtering')}" />
|
||||
<hbox>
|
||||
<label value="${i18n:_('Label filter')}" />
|
||||
<listbox id="resourcesFilterLabel" width="200px" height="15px"/>
|
||||
<label value="${i18n:_('Criterion filter')}" />
|
||||
<bandboxSearch
|
||||
id="resourcesLoadFilterCriterionBandboxSearch"
|
||||
finder="CriterionBandboxFinder"
|
||||
model="@{settingsController.allCriteria}"
|
||||
selectedElement="@{settingsController.resourcesLoadFilterCriterion}" />
|
||||
<label value="${i18n:_('Resources load since')}" />
|
||||
<intbox id="resourcesLoadFilterPeriodSince" value="@{settingsController.resourcesLoadFilterPeriodSince}" />
|
||||
<label value="${i18n:_('months to')}" />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue