diff options
| author | Michael Wilson | 2014-11-21 14:08:53 +0100 |
|---|---|---|
| committer | Michael Wilson | 2014-11-21 14:08:53 +0100 |
| commit | 7675cf0b3f9e0cb7805a008684ba620aaa5b1fc1 (patch) | |
| tree | 702f828bffa0722c0d8ce79f2c5ac0f84491331d /dozentenmodul/src/main/java | |
| parent | Fixed Bug: no new user possible --> query changed (diff) | |
| download | tutor-module-7675cf0b3f9e0cb7805a008684ba620aaa5b1fc1.tar.gz tutor-module-7675cf0b3f9e0cb7805a008684ba620aaa5b1fc1.tar.xz tutor-module-7675cf0b3f9e0cb7805a008684ba620aaa5b1fc1.zip | |
• Only allow permission changes for users who are authorized to do so
Diffstat (limited to 'dozentenmodul/src/main/java')
5 files changed, 101 insertions, 32 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index 2b21bd04..f9701a0c 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -38,10 +38,10 @@ import javax.swing.border.TitledBorder; import server.generated.Server.Client; import thrift.ThriftConnection; -import util.GuiOrganizer; import util.OpenLinks; import models.Image; import models.Links; +import models.person; import javax.swing.JComboBox; @@ -348,20 +348,27 @@ public class EditImageTechnisch_GUI extends JFrame { Image.image.setInternet(chckbxIsInternetBlocked.isSelected()); Image.image.setLicensed(chckbxIsLicensed.isSelected()); Image.image.setOS(comboBox.getSelectedItem().toString()); + - //System.out.println("OS bei Klick auf Weiter: "+Image.image.getOS()); + LOGGER.info("user is '"+person.verantwortlicher.getUserID()+"' and imageID is '"+Image.image.getImageId()+"'."); - //LOGGER.info("OS: " + Image.image.getOS() + - // ", Vorlage: " + Image.image.isVorlage() + - // ", Lizenzpflichtig: " + Image.image.isLicensed() + - // ", Internetsperre: " + Image.image.isInternet() + - // ", CPU: " + Image.image.getCpu() + - // ", RAM: " + Image.image.getRam()); - // oeffnet das naechste Fenster - PermissionEditImage_GUI ea=new PermissionEditImage_GUI(c); - ea.setVisible(true); - dispose(); + try { + //check if user may change permissions and choose window + if(client.userIsImageAdmin(person.verantwortlicher.getUserID(),Image.image.getImageId()) == true){ + //user has permission, go to permission GUI + PermissionEditImage_GUI ea=new PermissionEditImage_GUI(c); + ea.setVisible(true); + dispose(); + } else { + // user does not have permission, go straight to upload GUI + FTPEditUploader_GUI ea = new FTPEditUploader_GUI(c); + ea.setVisible(true); + dispose(); + } + } catch (TException e1) { + e1.printStackTrace(); + } } }); diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java index d0a42e4b..415e3dee 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java @@ -453,10 +453,24 @@ public class FTPEditUploader_GUI extends JFrame implements } task.cancel(true); // not loading files, go back one page - dispose(); - PermissionEditImage_GUI ei = new PermissionEditImage_GUI( - c); - ei.setVisible(true); + + try { + if(client.userIsImageAdmin(person.verantwortlicher.getUserID(), Image.image.getImageId()) == true){ + //user is admin and may change permissions + PermissionEditImage_GUI ei = new PermissionEditImage_GUI(c); + ei.setVisible(true); + dispose(); + } else { + //user may not change permissions + EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI(c); + ei.setVisible(true); + dispose(); + } + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }// end if coice } else { @@ -468,10 +482,22 @@ public class FTPEditUploader_GUI extends JFrame implements "Abbrechen und zurück", JOptionPane.YES_NO_OPTION); if (selectedOption == JOptionPane.YES_OPTION) { - dispose(); - PermissionEditImage_GUI m = new PermissionEditImage_GUI( - c); - m.setVisible(true); + try { + if(client.userIsImageAdmin(person.verantwortlicher.getUserID(), Image.image.getImageId()) == true){ + //user is admin and may change permissions + PermissionEditImage_GUI ei = new PermissionEditImage_GUI(c); + ei.setVisible(true); + dispose(); + } else { + //user may not change permissions + EditImageTechnisch_GUI ei = new EditImageTechnisch_GUI(c); + ei.setVisible(true); + dispose(); + } + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } else { // for actions if "no" is selected. tbd. } diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index a794f404..7f61d827 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -571,15 +571,12 @@ public class PermissionEditImage_GUI extends JFrame { // save the entered rights into the model and prepare them to be written to // the database private void saveTableToList() { - //System.out.println("Saving Table to List"); + //LOGGER.info("Saving Table to List"); List<person> list = new ArrayList<person>(); int seperatorIndex = 0; - // get values from table and save the checkbox values - if (map == null) - //System.out.println("Error: map is null"); // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < table.getRowCount(); i++) { @@ -628,6 +625,7 @@ public class PermissionEditImage_GUI extends JFrame { //permissions could have changed, compare vals at the end and update in db (quick and dirty due to time limitations) RightsManagement.rightsManagement.setPermittedUserList(list); + //LOGGER.info("number of permission="+list.size()); }// end saveTableToList() private void checkIntegrity(int row) { diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index e66adea2..1d144c89 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -39,10 +39,15 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import org.apache.thrift.TException; + +//import server.generated.Server.Client; +import models.Client; import models.Image; import models.ItemOwner; import models.Lecture; import models.Links; +//import models.person; import models.person; import util.OpenLinks; @@ -70,6 +75,7 @@ public class EditLectureAllgemein_GUI extends JFrame { Date endDate; Component c = null; private final ButtonGroup buttonGroup = new ButtonGroup(); + server.generated.Server.Client client = models.Client.clientcon.getClient(); private boolean descriptionLengthOK = false; // description may not be // longer than // MAX_DESCRIPTION_LENGTH @@ -490,9 +496,26 @@ public class EditLectureAllgemein_GUI extends JFrame { Image.image.setImagename(textFieldLaborname .getText().trim()); - PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); - ev.setVisible(true); - dispose(); + //check which GUI to open + try { + if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid())){ + //user is admin of the lecture + PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); + ev.setVisible(true); + dispose(); + + } else { + //user is not admin of the lecture + EditLectureLink_GUI el = new EditLectureLink_GUI(c); + el.setVisible(true); + dispose(); + } + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + } } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 4171ff0e..d1fe57e3 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -627,11 +627,26 @@ public class EditLectureLink_GUI extends JFrame { JButton btnBack = new JButton("Zurück"); btnBack.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - PermissionEditLecture_GUI el = new PermissionEditLecture_GUI( - c); - el.setVisible(true); - dispose(); + + //check which GUI to open + try { + if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid())){ + //user is admin of the lecture + PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); + ev.setVisible(true); + dispose(); + + } else { + //user is not admin of the lecture + EditLectureAllgemein_GUI el = new EditLectureAllgemein_GUI(c); + el.setVisible(true); + dispose(); + } + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } }); btnBack.setActionCommand("OK"); |
