From 2007596accee509052680e7df54ff246cd8415ce Mon Sep 17 00:00:00 2001 From: uhensler <none@none> Date: Mon, 5 Mar 2018 15:10:21 +0100 Subject: [PATCH] OO-3185: Keep summary view status when switching from entry list to overview, sync binder summary --- .../generic/spacesaver/ToggleBoxController.java | 17 ++++++++++++----- .../modules/portfolio/manager/BinderDAO.java | 1 + .../modules/portfolio/ui/BinderController.java | 1 + .../portfolio/ui/TableOfContentController.java | 4 ++++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/core/gui/control/generic/spacesaver/ToggleBoxController.java b/src/main/java/org/olat/core/gui/control/generic/spacesaver/ToggleBoxController.java index 2ca1280d17d..6d2b82a43ac 100644 --- a/src/main/java/org/olat/core/gui/control/generic/spacesaver/ToggleBoxController.java +++ b/src/main/java/org/olat/core/gui/control/generic/spacesaver/ToggleBoxController.java @@ -50,6 +50,8 @@ public class ToggleBoxController extends BasicController { private final String titleOpen; private final String titleClose; private final String key; + private final Component componentToToggle; + private final boolean defaultToggleStatus; private Link toggleButton; private Link hideButton; private final VelocityContainer mainVC; @@ -69,22 +71,27 @@ public class ToggleBoxController extends BasicController { this.key = key; this.titleOpen = titleOpen; this.titleClose = titleClose; + this.componentToToggle = componentToToggle; + this.defaultToggleStatus = defaultToggleStatus; mainVC = createVelocityContainer("togglebox"); toggleButton = LinkFactory.createCustomLink("toggle", "toggle", "", Link.NONTRANSLATED, mainVC, this); toggleButton.setIconLeftCSS("o_icon o_icon-fw"); - Preferences prefs = ureq.getUserSession().getGuiPreferences(); - toggleStatus = (Boolean) prefs.get(this.getClass(), key, defaultToggleStatus); - mainVC.put("cmpToToggle", componentToToggle); - hideButton = LinkFactory.createLink("hide", mainVC, this); hideButton.setCustomEnabledLinkCSS("o_hide"); - updateUI(); + reload(ureq); putInitialPanel(mainVC); } + public void reload(UserRequest ureq) { + Preferences prefs = ureq.getUserSession().getGuiPreferences(); + toggleStatus = (Boolean) prefs.get(this.getClass(), key, defaultToggleStatus); + mainVC.put("cmpToToggle", componentToToggle); + updateUI(); + } + protected void updateUI() { if(toggleStatus.booleanValue()) { toggleButton.setCustomDisplayText(titleClose); diff --git a/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java b/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java index 2378812136c..f2c5a8dfff0 100644 --- a/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java +++ b/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java @@ -137,6 +137,7 @@ public class BinderDAO { public Binder syncWithTemplate(BinderImpl template, BinderImpl binder, AtomicBoolean changes) { binder.setImagePath(template.getImagePath()); + binder.setSummary(template.getSummary()); List<Section> templateSections = template.getSections(); Map<Assignment,Section> assignmentTemplateToSectionTemplatesMap = new HashMap<>(); diff --git a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java index a1aceb519e4..f028ab14347 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java @@ -276,6 +276,7 @@ public class BinderController extends BasicController implements TooledControlle listenTo(overviewCtrl); } else { overviewCtrl.loadModel(); + overviewCtrl.updateSummaryView(ureq); } segmentButtonsCmp.setSelectedButton(overviewLink); diff --git a/src/main/java/org/olat/modules/portfolio/ui/TableOfContentController.java b/src/main/java/org/olat/modules/portfolio/ui/TableOfContentController.java index c80ae02cd9e..6ba407a88ab 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/TableOfContentController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/TableOfContentController.java @@ -170,6 +170,10 @@ public class TableOfContentController extends BasicController implements TooledC loadModel(); } + void updateSummaryView(UserRequest ureq) { + summaryCtrl.reload(ureq); + } + private String getGuiPrefsKey(OLATResourceable binderOres) { return new StringBuilder() .append(binderOres.getResourceableTypeName()) -- GitLab