summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod
diff options
context:
space:
mode:
authorStephan Schwaer2015-09-03 15:45:58 +0200
committerStephan Schwaer2015-09-03 15:45:58 +0200
commitd7d9407791e54b8a06d0c4297dd6f0e6d096543d (patch)
treef9d23b1937f6bb1f9fd00ad4f993c64180a76b04 /dozentenmodul/src/main/java/org/openslx/dozmod
parent[server] Update usage stats of lectures (diff)
downloadtutor-module-d7d9407791e54b8a06d0c4297dd6f0e6d096543d.tar.gz
tutor-module-d7d9407791e54b8a06d0c4297dd6f0e6d096543d.tar.xz
tutor-module-d7d9407791e54b8a06d0c4297dd6f0e6d096543d.zip
[client] Don't show owner in userList when changing owner or adding user for permission. Refresh and show lecture list after lecture creation.
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java8
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java10
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java9
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java13
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java25
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java9
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java2
11 files changed, 59 insertions, 33 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
index ae77394c..4a78a4d1 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
@@ -36,6 +36,8 @@ public class ImageCustomPermissionManager extends JPanel {
protected JButton btnRemoveUser;
private ImageCustomPermissionManager me;
+
+ private String ownerId;
private ArrayList<UserImagePermissions> permissionList = new ArrayList<UserImagePermissions>();
private Map<String, ImagePermissions> newPermissionMap;
@@ -91,7 +93,7 @@ public class ImageCustomPermissionManager extends JPanel {
LOGGER.debug("User added: " + newUser);
permissionTable.setData(permissionList, false);
}
- }, "Hinzufügen");
+ }, "Hinzufügen", ownerId);
}
});
@@ -114,8 +116,10 @@ public class ImageCustomPermissionManager extends JPanel {
* Initialise the PermissionManager
* @param permissionMap the old permission, to initialise the table with, null creates empty table.
* @param defaultPermissions the permissions for a newly added user
+ * @param ownerId The user to exclude from the add user list. Can be null.
*/
- public void initPanel(Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions){
+ public void initPanel(Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions, String ownerId){
+ this.ownerId = ownerId;
this.newPermissionMap = permissionMap == null ? new HashMap<String, ImagePermissions>() : permissionMap;
permissionList.clear();
this.defaultPermissions = defaultPermissions;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
index 1d566ff6..53d84264 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
@@ -28,6 +28,7 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
/**
* Panel including LecturePermissionTable and add/remove buttons for setting customLecturePermissions.
*/
+@SuppressWarnings("serial")
public class LectureCustomPermissionManager extends JPanel{
/**
@@ -44,6 +45,8 @@ public class LectureCustomPermissionManager extends JPanel{
private Map<String, LecturePermissions> newPermissionMap;
private LecturePermissions defaultPermissions;
+
+ private String ownerId = null;
private static final Logger LOGGER = Logger.getLogger(LectureCustomPermissionManager.class);
@@ -97,7 +100,7 @@ public class LectureCustomPermissionManager extends JPanel{
LOGGER.debug("User added: " + newUser);
permissionTable.setData(permissionList, false);
}
- }, "Hinzufügen");
+ }, "Hinzufügen", ownerId);
}
});
@@ -120,8 +123,10 @@ public class LectureCustomPermissionManager extends JPanel{
* Initialise the PermissionManager
* @param permissionMap the old permission, to initialise the table with, null creates empty table.
* @param defaultPermissions the permissions for a newly added user
+ * @param ownerId The user to exclude in the list do add user. May be null.
*/
- public void initPanel(Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions){
+ public void initPanel(Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions, String ownerId){
+ this.ownerId = ownerId;
this.newPermissionMap = permissionMap == null ? new HashMap<String, LecturePermissions>() : permissionMap;
permissionList.clear();
this.defaultPermissions = defaultPermissions;
@@ -148,4 +153,5 @@ public class LectureCustomPermissionManager extends JPanel{
}
return newPermissionMap;
}
+
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
index 3fce3d6b..a91287fa 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
@@ -21,9 +21,9 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
private boolean okUsed = false;
- protected ImageCustomPermissionWindow(final Window modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions) {
+ protected ImageCustomPermissionWindow(final Window modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions, String ownerId) {
super(modalParent);
- imagePermissionManager.initPanel(permissionMap, defaultPermissions);
+ imagePermissionManager.initPanel(permissionMap, defaultPermissions, ownerId);
btnOk.addActionListener(new ActionListener() {
@Override
@@ -65,10 +65,11 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
* @param modalParent parentwindow of this dialog
* @param permissionMap The current user permissions with which the permission manager to initialise, null creates empty list.
* @param defaultPermissions The current default permissions, should not be null!
+ * @param ownerId The id of the user to exclude when adding users. Can be null.
* @return PermissionDefaultToCustomLink with resulting permissions or null, if abort has been used to exit the dialog
*/
- public static PermissionDefaultToCustomLink<ImagePermissions> open(Window modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) {
- return new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn();
+ public static PermissionDefaultToCustomLink<ImagePermissions> open(Window modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions, String ownerId) {
+ return new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions, ownerId).runAndReturn();
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index f716ce1b..1d5fe8a8 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -144,16 +144,18 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
@Override
public void userAdded(UserInfo user, UserListWindow window) {
window.dispose();
+ if(Gui.showMessageBox(me, "Sind Sie sicher, dass sie die Besitzerrechte an "
+ + "einen anderen Account übertragen wollen?", MessageType.QUESTION_YESNO , LOGGER, null))
setImageOwner(user);
}
- }, "Besitzer festlegen");
+ }, "Besitzer festlegen", image.ownerId);
}
});
btnPermissions.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
- PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(me, me.permissionMap, image.defaultPermissions);
+ PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(me, me.permissionMap, image.defaultPermissions, image.ownerId);
if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null){
image.defaultPermissions = pl.defaultPermissions;
permissionMap = pl.customPermissions;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java
index a95dd66c..a9848880 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java
@@ -18,20 +18,20 @@ import org.openslx.dozmod.permissions.PermissionDefaultToCustomLink;
public class LectureCustomPermissionWindow extends LectureCustomPermissionWindowLayout implements UiFeedback {
private static final Logger LOGGER = Logger.getLogger(LectureCustomPermissionWindow.class);
-
+
private boolean okUsed = false;
/**
* Don't use this constructor, use static function LectureCustomPermissionWindow.open instead.
*/
- protected LectureCustomPermissionWindow(final Window modalParent, final Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions) {
+ protected LectureCustomPermissionWindow(final Window modalParent, final Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions, String ownerId) {
super(modalParent);
/**
* initialise the lecturePermissionManager
*/
- lecturePermissionManager.initPanel(permissionMap, defaultPermissions);
-
+ lecturePermissionManager.initPanel(permissionMap, defaultPermissions, ownerId);
+
chkCustomPermAdmin.setSelected(defaultPermissions.admin);
chkCustomPermEdit.setSelected(defaultPermissions.edit);
@@ -74,12 +74,13 @@ public class LectureCustomPermissionWindow extends LectureCustomPermissionWindow
* @param modalParent parentwindow of the popup window
* @param permissionMap the permissions of the lecture
* @param defaultPermissions default permissions of the lecture
+ * @param ownerId Id not to be shown in the list to add new users. Can be null.
* @return PermissionDefaultToCustomLink with new permissions of null, if abort button has been used
*/
public static PermissionDefaultToCustomLink<LecturePermissions> open(
- Window modalParent, Map<String, LecturePermissions> permissionMap, LecturePermissions defaultPermissions) {
- return new LectureCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn();
+ Window modalParent, Map<String, LecturePermissions> permissionMap, LecturePermissions defaultPermissions, String ownerId) {
+ return new LectureCustomPermissionWindow(modalParent, permissionMap, defaultPermissions, ownerId).runAndReturn();
}
@Override
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
index 23dcac64..8c7b2b24 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
@@ -180,7 +180,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
window.dispose();
setLectureOwner(user);
}
- }, "Besitzer festlegen");
+ }, "Besitzer festlegen", lecture.ownerId);
}
});
btnPermissions.addActionListener(new ActionListener() {
@@ -189,7 +189,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
LOGGER.info(permissionMap);
LOGGER.info(lecture.defaultPermissions);
PermissionDefaultToCustomLink<LecturePermissions> pl = LectureCustomPermissionWindow.open(
- me, permissionMap, lecture.defaultPermissions);
+ me, permissionMap, lecture.defaultPermissions, lecture.ownerId);
if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null) {
lecture.defaultPermissions = pl.defaultPermissions;
permissionMap = pl.customPermissions;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java
index d4b11857..bdb16483 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java
@@ -21,7 +21,6 @@ import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.UiFeedback;
import org.openslx.dozmod.gui.window.layout.UserListWindowLayout;
-import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.cache.UserCache;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
@@ -33,12 +32,14 @@ public class UserListWindow extends UserListWindowLayout implements UiFeedback {
private final UserListWindow me = this;
+ private String ownerId = null;
+
public interface UserAddedCallback {
public void userAdded(UserInfo user, UserListWindow window);
}
- public UserListWindow(final Window modalParent, final UserAddedCallback callback, String actionCaption) {
- super(modalParent, actionCaption);
+ public UserListWindow(final Window modalParent, final UserAddedCallback callback, String buttonCaption) {
+ super(modalParent, buttonCaption);
addWindowListener(new WindowAdapter() {
@Override
@@ -50,8 +51,9 @@ public class UserListWindow extends UserListWindowLayout implements UiFeedback {
final List<UserInfo> cacheList = UserCache.getAll();
final List<UserInfo> userList = new ArrayList<>(cacheList.size() - 1);
for (UserInfo user : cacheList) {
- if (user.getUserId().equals(Session.getUserId()))
+ if (ownerId != null && user.getUserId().equals(ownerId))
continue;
+
userList.add(user);
}
Gui.asyncExec(new Runnable() {
@@ -121,10 +123,21 @@ public class UserListWindow extends UserListWindowLayout implements UiFeedback {
// this.setLocationRelativeTo(SwingUtilities.getWindowAncestor(modalParent));
}
- public static void open(Window modalParent, UserAddedCallback callback, String actionCaption) {
- new UserListWindow(modalParent, callback, actionCaption).setVisible(true);
+ /**
+ * Open a new UserListWindow
+ *
+ * @param modalParent
+ * @param callback
+ * @param buttonCaption
+ * @param ownerId The Id of the owner of an image or lecture. Should not be shown in the list. Can be null
+ */
+ public static void open(Window modalParent, UserAddedCallback callback, String buttonCaption, String ownerId) {
+ UserListWindow win = new UserListWindow(modalParent, callback, buttonCaption);
+ win.ownerId = ownerId;
+ win.setVisible(true);
}
+
@Override
public boolean wantConfirmQuit() {
return false;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
index 20864992..948a2476 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
@@ -30,7 +30,7 @@ public class UserListWindowLayout extends JDialog {
private static String title = "Benutzerliste";
- protected UserListWindowLayout(Window modalParent, String actionCaption) {
+ protected UserListWindowLayout(Window modalParent, String buttonCaption) {
super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL
: ModalityType.MODELESS);
@@ -61,7 +61,7 @@ public class UserListWindowLayout extends JDialog {
cancelButton = new JButton("Schließen");
buttonPane.add(cancelButton);
buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
- setButton = new JButton(actionCaption);
+ setButton = new JButton(buttonCaption);
buttonPane.add(setButton);
// --------------- end button panel ----------------------------------
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java
index fe8da98b..944e82f4 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java
@@ -98,11 +98,10 @@ public class LectureWizard extends Wizard implements UiFeedback {
return false;
// all good, feedback
- if (Gui.showMessageBox(this, "Veranstaltung erstellt! Wollen Sie zur Übersicht wechseln?",
- MessageType.QUESTION_YESNO, null, null)) {
- LectureCache.get(true);
- MainWindow.showPage(LectureListWindow.class);
- }
+ Gui.showMessageBox(this, "Veranstaltung erstellt!", MessageType.INFO, null, null);
+ LectureCache.get(true);
+ MainWindow.showPage(LectureListWindow.class);
+
return true;
}
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 f6cfe0b7..c0809aac 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
@@ -31,7 +31,7 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout {
@Override
protected void onPageEnter() {
if(!initDone){
- imageCustomPermissionManager.initPanel(state.permissionMap, state.defaultPermissions);
+ imageCustomPermissionManager.initPanel(state.permissionMap, state.defaultPermissions, null);
initDone = true;
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java
index d99b0952..ffdaaea6 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java
@@ -32,7 +32,7 @@ public class LectureCustomPermissionPage extends LectureCustomPermissionPageLayo
@Override
protected void onPageEnter() {
if(!initDone){
- lectureCustomPermissionManager.initPanel(state.permissionMap, state.defaultPermissions);
+ lectureCustomPermissionManager.initPanel(state.permissionMap, state.defaultPermissions, null);
initDone = true;
}
}