blob: 116870868893623a6a9a0da5e1510ccf42a6cc0f (
plain) (
tree)
|
|
package org.openslx.dozmod.gui.window;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Map;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.LecturePermissions;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.window.layout.LectureCustomPermissionWindowLayout;
import org.openslx.dozmod.thrift.Session;
import org.openslx.thrifthelper.ThriftManager;
/**
* Window for modifying the custom permissions of an lecture.
*/
@SuppressWarnings("serial")
public class LectureCustomPermissionWindow extends LectureCustomPermissionWindowLayout {
private static final Logger LOGGER = Logger.getLogger(LectureCustomPermissionWindow.class);
/**
* Self-reference
*/
private final LectureCustomPermissionWindow me;
/**
* Don't use this constructor, use static function LectureCustomPermissionWindow.open instead.
*/
protected LectureCustomPermissionWindow(final Frame modalParent, final Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions, final String lectureBaseId) {
super(modalParent);
me = this;
/**
* initialise the lecturePermissionManager
*/
lecturePermissionManager.initPanel(permissionMap, defaultPermissions);
/**
* ActionListeners for the buttons.
*/
btnSave.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// push permissions to satellite server
try {
ThriftManager.getSatClient().writeLecturePermissions(Session.getSatelliteToken(),
lectureBaseId, lecturePermissionManager.getMap());
} catch (TException er) {
Gui.showMessageBox(me, "Konnte Berechtigungen nicht an den Satelliten übertragen: ", MessageType.ERROR, LOGGER, er);
}
dispose();
}
});
btnClose.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
dispose();
}
});
}
/**
* Create new LecturePermissionWindow dialog
* @param modalParent parent of the popup window
* @param permissionMap the permissions of the lecture
* @param defaultPermissions default permissions of the lecture
* @param lectureBaseId baseId of the lecture, for which the permissionWindow should be opened
*/
public static void open(Frame modalParent, Map<String, LecturePermissions> permissionMap, LecturePermissions defaultPermissions, String lectureBaseId) {
new LectureCustomPermissionWindow(modalParent, permissionMap, defaultPermissions, lectureBaseId).setVisible(true);
}
}
|