From 45f14723ffdac1e6587b05f77e6ae917a65bf4c4 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 4 Aug 2015 16:41:03 +0200 Subject: [client] save custom image permissions to state --- .../gui/wizard/page/ImageCustomPermissionPage.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'dozentenmodul/src/main/java') diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java index f7ec1d9e..c137edda 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java @@ -3,6 +3,7 @@ package org.openslx.dozmod.gui.wizard.page; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; +import java.util.HashMap; import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.ImagePermissions; @@ -31,12 +32,14 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout { setPageComplete(true); this.uploadWizardState = uploadWizardState; + // setup permission list for the table permissionList = new ArrayList<>(); for (UserInfo user : UserCache.getAll()) { permissionList.add(new UserImagePermissions(user.getUserId(), new ImagePermissions(true, true, true, false))); } permissionTable.setData(permissionList, true); + // add user button adapter addUser.addActionListener(new ActionListener() { @@ -47,4 +50,23 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout { }); } + @Override + protected void onPageLeave() { + LOGGER.debug("Saving permissions to state ..."); + // save the table stuff to our upload wizard state + if (permissionList == null || permissionList.isEmpty()) + return; + // stuff in our list, clear old list in state before continuing + if (uploadWizardState.permissionList == null) { + uploadWizardState.permissionList = new HashMap(); + } else { + uploadWizardState.permissionList.clear(); + } + + // add them one by one + for (UserImagePermissions perm : permissionList) { + // for now just overwrite the saved permission list of the state + uploadWizardState.permissionList.put(perm.userId, perm.permissions); + } + } } -- cgit v1.2.3-55-g7522