diff options
author | Michael Wilson | 2014-10-27 18:13:20 +0100 |
---|---|---|
committer | Michael Wilson | 2014-10-27 18:13:20 +0100 |
commit | 0ed4549c028e2523534a09fd6e41c49c9d178ec1 (patch) | |
tree | b7a829b485b644eadb4801faad15be8a81c723b1 /dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java | |
parent | Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff) | |
download | tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.gz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.xz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.zip |
Sämtliche Logik und Grafiken zur Vergabe und Verwaltung von Berechtigungen eingeführt. Kleinere Bugs sind bekannt, werden aktuell behoben
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java')
-rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java | 74 |
1 files changed, 59 insertions, 15 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index 09cf5dd8..239b5a0f 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,6 +1,7 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -77,6 +78,8 @@ public class PermissionCreateImage_GUI extends JFrame { private List<Person> map = null; // List of people who have rights Component c = null; // Map<String,String> ogUsers = new HashMap(); + + List<String> user = new ArrayList<String>(); final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -112,6 +115,8 @@ public class PermissionCreateImage_GUI extends JFrame { + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + "</div></html>"; + private JButton btnAddUser; + private JButton btnDeleteUser; public PermissionCreateImage_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() { @@ -165,16 +170,16 @@ public class PermissionCreateImage_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Berechtigungen", + panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 170, 557, 354); + panel_1.setBounds(10, 170, 557, 361); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 228); + scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); table = new JTable(); @@ -193,13 +198,20 @@ public class PermissionCreateImage_GUI extends JFrame { table.getColumnModel().getColumn(5).setWidth(0); table.getColumnModel().getColumn(5).setMinWidth(0); table.getColumnModel().getColumn(5).setMaxWidth(0); - - // if new session, get values for table from database + + + // if new session, get values for table from database -> initialiting users if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { System.out.println("Loading data from db"); - try { - map = client.getAllOtherSatelliteUsers(person.verantwortlicher - .getUserID()); + //do nothing + /*try { + + user.add(0, person.verantwortlicher.getUserID()); + if(user==null){ + System.out.println("user is null"); + } + //map = client.getAllOtherSatelliteUsers(person.verantwortlicher.getUserID()); + map = client.getAllOtherSatelliteUsers(user); Iterator<server.generated.Person> i = map.iterator(); int x = 0; @@ -224,7 +236,7 @@ public class PermissionCreateImage_GUI extends JFrame { } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); - } + }*/ } else // read from model { System.out.println("reading from model"); @@ -239,7 +251,6 @@ public class PermissionCreateImage_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -259,14 +270,16 @@ public class PermissionCreateImage_GUI extends JFrame { x++; } }// end set list of permitted users + - TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); + //TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); TableColumn tc1 = table.getColumnModel().getColumn(1); tc1.setCellEditor(table.getDefaultEditor(Boolean.class)); tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), (String) titles[1])); + // tc1.setCellRenderer(cellRenderer) TableColumn tc2 = table.getColumnModel().getColumn(2); @@ -286,7 +299,8 @@ public class PermissionCreateImage_GUI extends JFrame { tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(), (String) titles[4])); - + + scrollPane.setViewportView(table); JPanel panel = new JPanel(); @@ -309,6 +323,37 @@ public class PermissionCreateImage_GUI extends JFrame { comboBox_1.setSelectedIndex(0); comboBox_1.setBounds(270, 30, 250, 20); panel.add(comboBox_1); + + btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.setBounds(10, 217, 113, 23); + panel_1.add(btnAddUser); + + btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // delete selected users from table + int[] deletableRows= table.getSelectedRows(); + int pointerCorrection=0; //after deleting a row, the length of selected rows is reduced by 1. This pointer counts the already deleted rows and correct the offset of i + LOGGER.info("deletabelRows.length="+deletableRows.length); + + for (int i=0; i<deletableRows.length; i++){ + + LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i-pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(134, 217, 113, 23); + panel_1.add(btnDeleteUser); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, 5); //give access to the table model and inform that the userID is position 5 in the model + lu.setVisible(true); + } + }); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -509,8 +554,8 @@ public class PermissionCreateImage_GUI extends JFrame { } }); menuBar.add(mnNewMenu_Info); - c = this; - + c = this; + this.setLocationRelativeTo(formerGUI); this.setVisible(true); }// end constructor @@ -673,7 +718,6 @@ public class PermissionCreateImage_GUI extends JFrame { RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() - } // end class class CheckBoxHeader extends JCheckBox implements TableCellRenderer, |