summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java233
1 files changed, 104 insertions, 129 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
index de19520b..378273b3 100644
--- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
+++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java
@@ -1,6 +1,7 @@
package gui.lecture;
import gui.intro.About_GUI;
+import gui.intro.ListAllOtherUsers_GUI;
import gui.intro.MainMenue_GUI;
import java.awt.Color;
@@ -80,7 +81,7 @@ public class PermissionCreateLecture_GUI extends JFrame {
Client client = models.Client.clientcon.getClient();
String[] result;
private Class[] classes;
- //private JTable table = null;
+ // private JTable table = null;
private JTable tablePermittedUsers = null;
private final ButtonGroup buttonGroup = new ButtonGroup();
Object[] titles = { "Name", "Read", "Write", "Admin", "userID" };
@@ -92,23 +93,15 @@ public class PermissionCreateLecture_GUI extends JFrame {
+ "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird."
+ "</div></html>";
private List<Person> map = null; // List of people who have rights
-
+
final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
-
+
final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
modelMyImages);
-
-
-
-
-
-
-
-
final DefaultTableModel model = new DefaultTableModel(titles, 0) {
@@ -130,7 +123,7 @@ public class PermissionCreateLecture_GUI extends JFrame {
};
- //private JTable tablePermittedUsers;
+ // private JTable tablePermittedUsers;
public PermissionCreateLecture_GUI(Component formerGUI) {
addWindowListener(new WindowAdapter() {
@@ -145,7 +138,6 @@ public class PermissionCreateLecture_GUI extends JFrame {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
setTitle("bwLehrpool Suite - Berechtigungen");
@@ -182,14 +174,7 @@ public class PermissionCreateLecture_GUI extends JFrame {
getContentPane().add(contentPanel);
contentPanel.setLayout(null);
-
-
-
-
-
-
-
- //tablePermittedUsers = new JTable();
+ // tablePermittedUsers = new JTable();
tablePermittedUsers = new JTable();
tablePermittedUsers.addMouseListener(new MouseAdapter() {
@Override
@@ -209,44 +194,7 @@ public class PermissionCreateLecture_GUI extends JFrame {
// if new session, get values for table from database
if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) {
System.out.println("Loading data from db");
- // System.out.println(RightsManagement.rightsManagement.getPmImageCreateList().size());
-
- // person.verantwortlicher.getUserID();
- // System.out.println("Current userID: "
- // +person.verantwortlicher.getUserID());
-
- /*
- try {
- map = client.getAllOtherSatelliteUsers(person.verantwortlicher
- .getUserID());
- Iterator<server.generated.Person> i = map.iterator();
-
- int x = 0;
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = {
- map.get(x).getNachname() + ", "
- + map.get(x).getVorname(), // Name
- false, // Read
- false, // Write
- false, // Link
- false, // Admin
- map.get(x).getUserID() // userID
- };
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- i.next();
- x++;
- }
- // System.out.println("Number of returned users in permission list: "+
- // map.size());
-
- } catch (TException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- */
} else // read from model
{
System.out.println("reading from model");
@@ -261,21 +209,20 @@ public class PermissionCreateLecture_GUI extends JFrame {
int x = 0;
while (i.hasNext()) {
- // System.out.println("current pos=" + x);
// erzeuge Objekte fuer die Tabelle
person temp = i.next();
Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name
- temp.isImageRead(), // Read
- temp.isImageWrite(), // Write
- temp.isImageLinkAllowed(), // Link
- temp.isImageAdmin(), // Admin
+ temp.isLecture_read(), // Read
+ temp.isLecture_write(), // Write
+ // temp.isImageLinkAllowed(), // Link
+ temp.isLecture_admin(), // Admin
temp.getUserID() // userID
};
System.out.println("Processing: " + temp.getName() + ", "
- + temp.getVorname() + ", " + temp.isImageRead() + ", "
- + temp.isImageWrite() + ", " + temp.isImageLinkAllowed() + ", "
- + temp.isImageAdmin() + ", " + temp.getUserID());
+ + temp.getVorname() + ", " + temp.isLecture_read()
+ + ", " + temp.isLecture_write() + ", "
+ + temp.isLecture_admin() + ", " + temp.getUserID());
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
x++;
@@ -283,24 +230,27 @@ public class PermissionCreateLecture_GUI extends JFrame {
}// end set list of permitted users
// table wird hier nie initialisiert und ist entsprechend null
-
+
if (tablePermittedUsers == null)
LOGGER.error("NPE incoming...");
TableColumn tc1 = tablePermittedUsers.getColumnModel().getColumn(1);
tc1.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class));
- tc1.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class));
+ tc1.setCellRenderer(tablePermittedUsers
+ .getDefaultRenderer(Boolean.class));
tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(),
(String) titles[1]));
TableColumn tc2 = tablePermittedUsers.getColumnModel().getColumn(2);
tc2.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class));
- tc2.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class));
+ tc2.setCellRenderer(tablePermittedUsers
+ .getDefaultRenderer(Boolean.class));
tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(),
(String) titles[2]));
TableColumn tc3 = tablePermittedUsers.getColumnModel().getColumn(3);
tc3.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class));
- tc3.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class));
+ tc3.setCellRenderer(tablePermittedUsers
+ .getDefaultRenderer(Boolean.class));
tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(),
(String) titles[3]));
@@ -377,14 +327,6 @@ public class PermissionCreateLecture_GUI extends JFrame {
lblvolleRechteRead.setBounds(128, 78, 380, 40);
panel.add(lblvolleRechteRead);
- JCheckBox checkBox = new JCheckBox("");
- checkBox.setBounds(123, 118, 21, 23);
- panel.add(checkBox);
-
- JLabel label_4 = new JLabel("Für alle sichtbar");
- label_4.setBounds(28, 119, 90, 20);
- panel.add(label_4);
-
JPanel panel_1 = new JPanel();
panel_1.setLayout(null);
panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen",
@@ -398,23 +340,52 @@ public class PermissionCreateLecture_GUI extends JFrame {
.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollPaneMyImage.setBounds(10, 28, 291, 251);
panel_1.add(scrollPaneMyImage);
-
-
+
tablePermittedUsers.setBounds(0, 0, 555, 1);
- //panel_1.add(tablePermittedUsers);
-
+ // panel_1.add(tablePermittedUsers);
+
scrollPaneMyImage.setViewportView(tablePermittedUsers);
-
-
- JButton button = new JButton("Hinzufügen");
- button.setBounds(10, 290, 89, 23);
- panel_1.add(button);
+ JButton btnAddUser = new JButton("Hinzufügen...");
+ btnAddUser.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ // show list of all other relevant users
+ ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c,
+ tablePermittedUsers, 4); // give access to the table
+ // model and inform that the
+ // userID is position 5 in
+ // the model
+ lu.setVisible(true);
+ }
+ });
+ btnAddUser.setBounds(10, 290, 113, 23);
+ panel_1.add(btnAddUser);
+
+ JButton btnDeleteUser = new JButton("Löschen");
+ btnDeleteUser.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
- JButton button_1 = new JButton("Löschen");
- button_1.setEnabled(false);
- button_1.setBounds(109, 290, 89, 23);
- panel_1.add(button_1);
+ // delete selected users from table
+ int[] deletableRows = tablePermittedUsers.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(133, 290, 113, 23);
+ panel_1.add(btnDeleteUser);
JPanel panel_2 = new JPanel();
panel_2.setLayout(null);
@@ -477,6 +448,16 @@ public class PermissionCreateLecture_GUI extends JFrame {
continueButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
+ // before save, check integrity to avoid dblClick errors
+ // of rights
+ for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) {
+ checkIntegrity(i); // check integrity of each line
+ // again
+ System.out.println("in auto-correct");
+ }
+
+ saveTableToList();
+
CreateLectureLink_GUI ea = new CreateLectureLink_GUI(c);
ea.setVisible(true);
dispose();
@@ -513,11 +494,8 @@ public class PermissionCreateLecture_GUI extends JFrame {
URI windows;
try {
windows = new URI(Links.getFAQ());
-
open.openWebpage(windows);
-
} catch (URISyntaxException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
@@ -534,11 +512,8 @@ public class PermissionCreateLecture_GUI extends JFrame {
URI windows;
try {
windows = new URI(Links.getOTRS());
-
open.openWebpage(windows);
-
} catch (URISyntaxException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -580,21 +555,19 @@ public class PermissionCreateLecture_GUI extends JFrame {
selectedRow = row;
}
- boolean isRead, isWrite, isLink, isAdmin;
+ boolean isRead, isWrite, isAdmin;
// collect all row data
isRead = (boolean) tablePermittedUsers.getValueAt(selectedRow, 1);
isWrite = (boolean) tablePermittedUsers.getValueAt(selectedRow, 2);
- isLink = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3);
- isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 4);
+ isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3);
- boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite,
- isLink, isAdmin);
+ boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite,isAdmin, false);
tablePermittedUsers.setValueAt(checkedVals[0], selectedRow, 1);
tablePermittedUsers.setValueAt(checkedVals[1], selectedRow, 2);
- tablePermittedUsers.setValueAt(checkedVals[2], selectedRow, 3);
- tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 4);
+ tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 3);
+ // tablePermittedUsers.setValueAt(checkedVals[3], selectedRow, 4);
}// end checkIntegrity()
// Column 0 == Concat user name
@@ -661,37 +634,42 @@ public class PermissionCreateLecture_GUI extends JFrame {
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 < tablePermittedUsers.getRowCount(); i++) {
// System.out.println("in for, rowcount="+table.getRowCount());
person temp = new person();
- // table.getModel().setValueAt(map.get, i, 5);
-
- temp.setUserID(tablePermittedUsers.getModel().getValueAt(i, 5).toString()); // get
- // userID
- temp.setImageAdmin(Boolean.parseBoolean(tablePermittedUsers.getModel()
- .getValueAt(i, 4).toString())); // get Admin
- temp.setImageLinkAllowed(Boolean.parseBoolean(tablePermittedUsers.getModel()
- .getValueAt(i, 3).toString()));// get Link
- temp.setImageWrite(Boolean.parseBoolean(tablePermittedUsers.getModel()
- .getValueAt(i, 2).toString()));// get Write
- temp.setImageRead(Boolean.parseBoolean(tablePermittedUsers.getModel().getValueAt(i, 1)
- .toString()));// get Read
- seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString()
- .indexOf(",");
- temp.setName(tablePermittedUsers.getModel().getValueAt(i, 0).toString()
- .substring(0, seperatorIndex));
- temp.setVorname(tablePermittedUsers.getModel().getValueAt(i, 0).toString()
- .substring(seperatorIndex + 2));
+ seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().indexOf(",");
+ LOGGER.info(tablePermittedUsers.getModel().getValueAt(i, 4)
+ .toString() +" (userID)\t"+ Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 3).toString())+"(admin)\t"+Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 2).toString())+"(write)\t"+Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 1).toString())+"(read)\t"+tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().substring(0, seperatorIndex)+"(Nachname)\t"+tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().substring(seperatorIndex + 2)+"(Vorname)");
+
+ temp.setUserID(tablePermittedUsers.getModel().getValueAt(i, 4)
+ .toString()); // get
+ // userID
+ temp.setLecture_admin(Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 3).toString())); // get Admin
+ temp.setLecture_write(Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 2).toString()));// get Write
+ temp.setLecture_read(Boolean.parseBoolean(tablePermittedUsers
+ .getModel().getValueAt(i, 1).toString()));// get Read
+ seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().indexOf(",");
+ temp.setName(tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().substring(0, seperatorIndex));
+ temp.setVorname(tablePermittedUsers.getModel().getValueAt(i, 0)
+ .toString().substring(seperatorIndex + 2));
// check if at least one checkbox is checked. If yes, save this
// entry into list, if not ignore this entry
- if (temp.isImageAdmin() || temp.isImageLinkAllowed() || temp.isImageWrite()
- || temp.isImageRead()) {
+ if (temp.isLecture_admin() || temp.isLecture_write()
+ || temp.isLecture_read()) {
// save entry
list.add(temp);
} else {
@@ -699,9 +677,6 @@ public class PermissionCreateLecture_GUI extends JFrame {
}
}
- System.out.println("Setting list information.\tTable size: "
- + tablePermittedUsers.getRowCount() + "\t List length (=selected users): "
- + list.size());
for (int y = 0; y < list.size(); y++) {
System.out.println("" + list.get(y).getName());
}