diff options
| author | Stephan Schwaer | 2015-07-23 18:34:20 +0200 |
|---|---|---|
| committer | Stephan Schwaer | 2015-07-23 18:34:20 +0200 |
| commit | fe3ba57f75d7e748b51ed51f5fc2ec607ab7b5ce (patch) | |
| tree | bed31dad53543569a90b05d7b341eb2a7ead6fa5 | |
| parent | [*] Adapt to ChunkList changes; [server] Support multiple connections per upload (diff) | |
| download | tutor-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.
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; + } + +} |
