summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwaer2015-07-23 18:34:20 +0200
committerStephan Schwaer2015-07-23 18:34:20 +0200
commitfe3ba57f75d7e748b51ed51f5fc2ec607ab7b5ce (patch)
treebed31dad53543569a90b05d7b341eb2a7ead6fa5
parent[*] Adapt to ChunkList changes; [server] Support multiple connections per upload (diff)
downloadtutor-module-fe3ba57f75d7e748b51ed51f5fc2ec607ab7b5ce.tar.gz
tutor-module-fe3ba57f75d7e748b51ed51f5fc2ec607ab7b5ce.tar.xz
tutor-module-fe3ba57f75d7e748b51ed51f5fc2ec607ab7b5ce.zip
[client] Added ImagePerms for checking permissions, removed edit button from image list.
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java28
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java16
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java17
6 files changed, 38 insertions, 36 deletions
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 7f1d9ad3..f7fdff4c 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
@@ -1,16 +1,13 @@
package org.openslx.dozmod.gui.window;
import java.util.List;
-import java.util.Map;
import org.apache.log4j.Logger;
-import org.apache.thrift.TException;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Shell;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
-import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
import org.openslx.bwlp.thrift.iface.Virtualizer;
import org.openslx.dozmod.gui.Gui;
@@ -18,6 +15,7 @@ import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.helper.SwtUtil;
import org.openslx.dozmod.gui.window.layout.ImageDetailsWindowLayout;
+import org.openslx.dozmod.permissions.ImagePerms;
import org.openslx.dozmod.thrift.MetaDataCache;
import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.UserCache;
@@ -105,32 +103,18 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
}
txtTags.setText(tagsString);
btnIsTemplate.setSelection(image.isTemplate);
- boolean isAdmin = false;
- Map<String, ImagePermissions> result = null;
- try {
- result = ThriftManager.getSatClient().getImagePermissions(Session.getSatelliteToken(), image.getImageBaseId());
-
- } catch (TException e) {
- LOGGER.error("Couldn't fetch permissions of image.");
- e.printStackTrace();
- }
- if (result != null) {
- ImagePermissions user = result.get(Session.getUserId());
- if (user != null)
- isAdmin = user.edit;
- }
- makeEditable(isAdmin);
+ makeEditable(ImagePerms.canEdit(image));
getShell().layout(true, true);
MainWindow.centerShell(getShell());
}
- // make text fields editable if admin
+ // make text fields editable if allowed
private void makeEditable(boolean editable){
- txtTitle.setEditable(editable);
- txtDescription.setEditable(editable);
+ txtTitle.setEnabled(editable);
+ txtDescription.setEnabled(editable);
cboOperatingSystem.getCombo().setEnabled(editable);
- txtTags.setEditable(editable);
+ txtTags.setEnabled(editable);
btnIsTemplate.setEnabled(editable);
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
index 2392409e..efe926da 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
@@ -128,14 +128,14 @@ public class ImageListWindow extends ImageListWindowLayout {
}
});
- editButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ImageWizard wizard = new ImageWizard(true);
- WizardDialog wd = new WizardDialog(getShell(), wizard);
- refreshList(wd.open() == Window.OK);
- }
- });
+// editButton.addSelectionListener(new SelectionAdapter() {
+// @Override
+// public void widgetSelected(SelectionEvent e) {
+// ImageWizard wizard = new ImageWizard(true);
+// WizardDialog wd = new WizardDialog(getShell(), wizard);
+// refreshList(wd.open() == Window.OK);
+// }
+// });
//deleteImageVersion
deleteButton.addSelectionListener(new SelectionAdapter() {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
index e89ac8fd..3d024a54 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
@@ -44,6 +44,8 @@ public abstract class ImageDetailsWindowLayout extends Composite {
protected final Button btnIsTemplate;
protected final ComboViewer cboShareMode;
+
+ protected final Button btnSaveChanges;
protected final Button btnClose;
@@ -118,9 +120,12 @@ public abstract class ImageDetailsWindowLayout extends Composite {
// Is template
new Label(this, SWT.NONE).setText("Vorlage");
btnIsTemplate = new Button(this, SWT.CHECK);
+
+ btnSaveChanges = new Button(this, SWT.PUSH);
+ btnSaveChanges.setText("Änderungen speichern");
// Close button
- btnClose = new org.eclipse.swt.widgets.Button(this, SWT.PUSH | SWT.RIGHT | SWT.DOWN);
+ btnClose = new Button(this, SWT.PUSH | SWT.RIGHT | SWT.DOWN);
btnClose.setText("Schließen");
btnClose.setLayoutData(SwtUtil.gridData(SWT.RIGHT, SWT.BOTTOM, false, false, 2));
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
index 093e73ea..8772b592 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
@@ -35,7 +35,6 @@ public abstract class ImageListWindowLayout extends CompositePage {
// buttons
protected Button newButton;
protected Button deleteButton;
- protected Button editButton;
protected Button downloadButton;
protected Button backButton;
@@ -128,9 +127,6 @@ public abstract class ImageListWindowLayout extends CompositePage {
newButton = new Button(buttonComposite, SWT.PUSH);
newButton.setText(newButtonLabel);
- editButton = new Button(buttonComposite, SWT.PUSH);
- editButton.setText(editButtonLabel);
-
deleteButton = new Button(buttonComposite, SWT.PUSH);
deleteButton.setText(deleteButtonLabel);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
index 28380185..1522cd72 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
@@ -66,7 +66,7 @@ public abstract class LectureCreationPageLayout extends WizardPage {
Label endTimelabel = new Label(container, SWT.NONE);
endTimelabel.setText("Startzeit:");
endTimelabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
- startTime = new DateTime (container, SWT.TIME | SWT.SHORT | SWT.DROP_DOWN);
+ startTime = new DateTime (container, SWT.TIME | SWT.SHORT);
Label endTimeLabel = new Label(container, SWT.NONE);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java
new file mode 100644
index 00000000..5b9441ed
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java
@@ -0,0 +1,17 @@
+package org.openslx.dozmod.permissions;
+
+import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
+import org.openslx.dozmod.thrift.Session;
+
+public class ImagePerms {
+
+ public static boolean canEdit(ImageDetailsRead image){
+ if(image.getOwnerId().equals(Session.getUserId()))
+ return true;
+ if(image.userPermissions !=null) {
+ return image.userPermissions.edit;
+ }
+ return image.defaultPermissions.edit;
+ }
+
+}