blob: 2d37238ac78a15062bbfede23729e66b0af38184 (
plain) (
tree)
|
|
package org.openslx.dozmod.gui.wizard.page;
import java.util.Map;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.LecturePermissions;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.LectureCustomPermissionPageLayout;
import org.openslx.dozmod.state.LectureWizardState;
import org.openslx.dozmod.thrift.Session;
/**
* Wizard page for setting custom permissions for the lecture to be created
*/
@SuppressWarnings("serial")
public class LectureCustomPermissionPage extends LectureCustomPermissionPageLayout {
private final static Logger LOGGER = Logger.getLogger(LectureCustomPermissionPage.class);
private boolean initDone = false;
private LectureWizardState state = null;
/**
* Page for setting custom permissions of a lecture
*/
public LectureCustomPermissionPage(Wizard wizard, LectureWizardState state) {
super(wizard);
this.state = state;
chkPermissionEdit.setSelected(state.defaultPermissions.edit);
chkPermissionAdmin.setSelected(state.defaultPermissions.admin);
setPageComplete(true);
}
@Override
protected void onPageEnter() {
if (!initDone) {
lectureCustomPermissionManager.initPanel(state.permissionMap, state.defaultPermissions,
Session.getUserId());
initDone = true;
}
}
@Override
protected boolean wantNextOrFinish() {
LOGGER.debug("Saving permissions to state ...");
// save the table stuff to our upload wizard state
state.defaultPermissions.edit = chkPermissionEdit.isSelected();
state.defaultPermissions.admin = chkPermissionAdmin.isSelected();
Map<String, LecturePermissions> newPermissionMap = lectureCustomPermissionManager.getPermissions();
if (newPermissionMap == null || newPermissionMap.isEmpty()) {
return true;
}
state.permissionMap = newPermissionMap;
return true;
}
}
|