From 80f84d22ea6e374a1d9e9a06462fd508569d766f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenzo=20Tilve=20=C3=81lvaro?= Date: Mon, 4 Feb 2013 19:56:11 +0100 Subject: [PATCH] Delete stored filter session variables when saving changes on preferences values FEA: ItEr77S15FilteringEnhancements --- .../web/users/settings/SettingsController.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/settings/SettingsController.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/settings/SettingsController.java index 359e56322..aa4907e2a 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/settings/SettingsController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/settings/SettingsController.java @@ -36,6 +36,8 @@ import org.libreplan.web.common.Level; import org.libreplan.web.common.MessagesForUser; import org.libreplan.web.common.components.bandboxsearch.BandboxSearch; import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Session; +import org.zkoss.zk.ui.Sessions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; @@ -126,6 +128,7 @@ public class SettingsController extends GenericForwardComposer { public boolean save() { try { checkEmptyBandboxes(); + clearSessionVariables(); settingsModel.confirmSave(); messages.showMessage(Level.INFO, _("Settings saved")); return true; @@ -135,6 +138,20 @@ public class SettingsController extends GenericForwardComposer { return false; } + private void clearSessionVariables() { + Session current = Sessions.getCurrent(); + + // Projects filters + current.setAttribute("companyFilterStartDate", null); + current.setAttribute("companyFilterEndtDate", null); + current.setAttribute("companyFilterLabel", null); + + // ResourcesLoad filters + current.setAttribute("resourceLoadStartDate", null); + current.setAttribute("resourceLoadEndDate", null); + current.setAttribute("resourceLoadFilterWorkerOrCriterion", null); + } + private void checkEmptyBandboxes() { if (projectsFilterLabelBandboxSearch.getSelectedElement() == null) { settingsModel.setProjectsFilterLabel(null);