diff options
| author | Jonathan Bauer | 2015-06-22 13:40:02 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2015-06-22 13:40:02 +0200 |
| commit | bb09d09546c00fe8b0c21d525af31c87097367d4 (patch) | |
| tree | 61fd648989bcde8ed32b3bf426870d9846e948cb /dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java | |
| parent | [server] Implement getOperatingSystems and getVirtualizers (diff) | |
| download | tutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.tar.gz tutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.tar.xz tutor-module-bb09d09546c00fe8b0c21d525af31c87097367d4.zip | |
[client] rebasing the whole app...
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java | 461 |
1 files changed, 0 insertions, 461 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java deleted file mode 100644 index eb7a7769..00000000 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ /dev/null @@ -1,461 +0,0 @@ -package gui.image; - -import gui.helper.ColumnSelector; -import gui.intro.MainMenue_GUI; - -import java.awt.Color; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.SystemColor; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JInternalFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JSeparator; -import javax.swing.JTable; -import javax.swing.JTextPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableColumn; - -import models.Image; -import models.RightsManagement; -import models.SessionData; -import models.person; - -import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Person; -import org.openslx.thrifthelper.ThriftManager; - -import util.CheckIntegrity; -import util.GuiManager; -import util.ListAllOtherUsers_GUI; - -@SuppressWarnings("serial") -public class PermissionEditImage_GUI extends JInternalFrame { - - private final JPanel contentPanel = new JPanel(); - private JTable table; - private static final String[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; - private List<Person> map = null; // List of people who have rights - - private final DefaultTableModel model = new DefaultTableModel(titles, 0) { - - public boolean isCellEditable(int rowIndex, int mColIndex) { - if (mColIndex >= 1) { - return true; - } - return false; - } - - public Class<?> getColumnClass(int c) { - switch (c) { - case 0: - return String.class; - default: - return Boolean.class; - } - } - - }; - private JLabel lblLinkAllowed; - private JLabel label_5; - private JLabel label_6; - private JLabel lblvolleRechteRead; - public static final String HELP_MESSAGE = "<html><div align=\"center\">" - + "Verändern Sie die Berechtigungen für Ihr Image.<br />" - + "Sie können die Rechte Lesen, Schreiben, Link und Admin vergeben.<br />" - + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" - + "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>"; - - public PermissionEditImage_GUI() { - - setResizable(false); - - setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); - - setBounds(0, 0, 603, 722); - - getContentPane().setLayout(null); - { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 577, 57); - getContentPane().add(panel); - panel.setLayout(null); - { - JLabel lblNewLabel = new JLabel("Image Berechtigungen"); - lblNewLabel.setBounds(10, 11, 509, 22); - panel.add(lblNewLabel); - lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); - } - - JTextPane txtpnBitteWhlenSie = new JTextPane(); - txtpnBitteWhlenSie.setEditable(false); - txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Definieren Sie hier bitte die gewünschten Berechtigungen für Ihr Image"); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); - panel.add(txtpnBitteWhlenSie); - } - contentPanel.setBounds(10, 85, 577, 531); - contentPanel.setBackground(SystemColor.menu); - contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); - getContentPane().add(contentPanel); - contentPanel.setLayout(null); - - JPanel panel_1 = new JPanel(); - panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, - TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 170, 557, 354); - contentPanel.add(panel_1); - panel_1.setLayout(null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 185); - panel_1.add(scrollPane); - - table = new JTable(); - table.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - checkIntegrity(-1); - } - - }); - table.setModel(model); - table.setSelectionForeground(Color.WHITE); - - // invisible attribute userID for identifying selected user - table.getColumnModel().getColumn(5).setWidth(0); - table.getColumnModel().getColumn(5).setMinWidth(0); - table.getColumnModel().getColumn(5).setMaxWidth(0); - - table.getTableHeader().setReorderingAllowed(false); - - // if new session, get values for table from database - if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { - //System.out.println("Loading data from db"); - try { - - map = ThriftManager.getSatClient().getPermissionForUserAndImage(SessionData.authToken, - Image.ImageId, person.verantwortlicher.getUserID()); - Iterator<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 - (boolean) map.get(x).isImage_read(), // Read - (boolean) map.get(x).isImage_write(), // Write - (boolean) map.get(x).isImage_link(), // Link - (boolean) map.get(x).isImage_admin(), // Admin - map.get(x).getUserID() // userID - }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - - i.next(); - x++; - - } - - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } else // read from model - { - - List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); - Iterator<person> i = listt.iterator(); - - while (i.hasNext()) { - // 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.getUserID() // userID - }; - - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - } - }// end set list of permitted users - - TableColumn tc1 = table.getColumnModel().getColumn(1); - tc1.setCellEditor(table.getDefaultEditor(Boolean.class)); - tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1), titles[1])); - - TableColumn tc2 = table.getColumnModel().getColumn(2); - tc2.setCellEditor(table.getDefaultEditor(Boolean.class)); - tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2), titles[2])); - - TableColumn tc3 = table.getColumnModel().getColumn(3); - tc3.setCellEditor(table.getDefaultEditor(Boolean.class)); - tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 3), titles[3])); - - TableColumn tc4 = table.getColumnModel().getColumn(4); - tc4.setCellEditor(table.getDefaultEditor(Boolean.class)); - tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc4.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2, 3, 4), titles[4])); - - scrollPane.setViewportView(table); - - JPanel panel_2 = new JPanel(); - panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Freigabe", TitledBorder.LEADING, TitledBorder.TOP, null, - null)); - panel_2.setBackground(SystemColor.menu); - panel_2.setBounds(10, 260, 537, 80); - panel_1.add(panel_2); - - JLabel label_7 = new JLabel("Freigabemodus:"); - label_7.setBounds(10, 30, 250, 20); - panel_2.add(label_7); - - final JComboBox<String> comboBox_1 = new JComboBox<>(); - comboBox_1.setModel(new DefaultComboBoxModel<String>(new String[] { "Lokal (Eigene Hochschule)", - "Öffentlich (Alle Hochschulen)" })); - comboBox_1.setSelectedIndex(Image.ShareMode); - comboBox_1.setBounds(270, 30, 250, 20); - panel_2.add(comboBox_1); - - JButton btnAddUser = new JButton("Hinzufügen..."); - btnAddUser.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - //show list of all other relevant users - GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 5)); - } - }); - btnAddUser.setBounds(10, 217, 113, 23); - panel_1.add(btnAddUser); - - JButton 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(133, 217, 113, 23); - panel_1.add(btnDeleteUser); - - JLabel lblHauptmen = new JLabel("Hauptmenü"); - lblHauptmen.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - GuiManager.show(new MainMenue_GUI()); - } - }); - lblHauptmen.setForeground(Color.BLUE); - lblHauptmen.setBounds(10, 11, 61, 14); - contentPanel.add(lblHauptmen); - - JLabel label_1 = new JLabel(">"); - label_1.setBounds(69, 11, 13, 14); - contentPanel.add(label_1); - - JLabel lblVlimage = new JLabel("Image"); - lblVlimage.setForeground(Color.BLUE); - lblVlimage.setBounds(81, 11, 45, 14); - contentPanel.add(lblVlimage); - - JLabel label_2 = new JLabel(">"); - label_2.setBounds(133, 11, 13, 14); - contentPanel.add(label_2); - - JLabel lblNewLabel_1 = new JLabel("Bearbeiten"); - lblNewLabel_1.setBounds(146, 11, 155, 14); - contentPanel.add(lblNewLabel_1); - - JPanel panel = new JPanel(); - panel.setBounds(10, 35, 557, 124); - contentPanel.add(panel); - panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, - null)); - panel.setBackground(SystemColor.menu); - - JLabel label = new JLabel("Lesen"); - label.setBounds(28, 18, 90, 20); - panel.add(label); - - JLabel label_3 = new JLabel("Schreiben"); - label_3.setBounds(28, 38, 90, 20); - panel.add(label_3); - - JLabel lblImageLesenUnd = new JLabel("Benutzer kann Image in bwLehrpool Suite sehen."); - lblImageLesenUnd.setBounds(128, 18, 380, 20); - panel.add(lblImageLesenUnd); - - JLabel lblImageAnpassenUnd = new JLabel( - "Image sehen, anpassen und überschreiben, jedoch nicht löschen."); - lblImageAnpassenUnd.setBounds(128, 38, 380, 20); - panel.add(lblImageAnpassenUnd); - - lblLinkAllowed = new JLabel("Link"); - lblLinkAllowed.setBounds(28, 58, 90, 20); - panel.add(lblLinkAllowed); - - label_5 = new JLabel("Admin"); - label_5.setBounds(28, 78, 90, 20); - panel.add(label_5); - - label_6 = new JLabel("Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); - label_6.setBounds(128, 58, 380, 20); - panel.add(label_6); - - lblvolleRechteRead = new JLabel( - "<HTML>Volle Rechte: Lesen, Schreiben, Löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>"); - lblvolleRechteRead.setBounds(128, 78, 380, 40); - panel.add(lblvolleRechteRead); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBounds(0, 640, 597, 33); - buttonPane.setBackground(SystemColor.menu); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane); - { - JButton cancelButton = new JButton("Zurück"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - GuiManager.show(new EditImageTechnisch_GUI()); - } - }); - cancelButton.setActionCommand("OK"); - buttonPane.add(cancelButton); - } - { - JButton continueButton = new JButton("Weiter"); - continueButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - // before save, check integrity to avoid dblClick errors - // of rights - for (int i = 0; i < table.getRowCount(); i++) { - checkIntegrity(i); // check integrity of each line again - } - - saveTableToList(); - - Image.ShareMode = comboBox_1.getSelectedIndex(); - GuiManager.show(new FTPEditUploader_GUI()); - } - }); - continueButton.setActionCommand("Cancel"); - buttonPane.add(continueButton); - getRootPane().setDefaultButton(continueButton); - } - } - - JSeparator separator = new JSeparator(); - separator.setBounds(0, 78, 597, 2); - getContentPane().add(separator); - - JSeparator separator_1 = new JSeparator(); - separator_1.setBounds(0, 627, 597, 2); - getContentPane().add(separator_1); - - } - - // save the entered rights into the model and prepare them to be written to - // the database - private void saveTableToList() { - List<person> list = new ArrayList<person>(); - - int seperatorIndex = 0; - - // for (int i = 0; i < map.size(); i++) { - for (int i = 0; i < table.getRowCount(); i++) { - // System.out.println("in for, rowcount="+table.getRowCount()); - person temp = new person(); - - // table.getModel().setValueAt(map.get, i, 5); - - temp.setUserID(table.getModel().getValueAt(i, 5).toString()); // get - // userID - temp.setImageAdmin(Boolean.parseBoolean(table.getModel().getValueAt(i, 4).toString())); // get Admin - temp.setImageLinkAllowed(Boolean.parseBoolean(table.getModel().getValueAt(i, 3).toString()));// get Link - temp.setImageWrite(Boolean.parseBoolean(table.getModel().getValueAt(i, 2).toString()));// get Write - temp.setImageRead(Boolean.parseBoolean(table.getModel().getValueAt(i, 1).toString()));// get Read - seperatorIndex = table.getModel().getValueAt(i, 0).toString().indexOf(","); - temp.setName(table.getModel().getValueAt(i, 0).toString().substring(0, seperatorIndex)); - temp.setVorname(table.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()) { - // save entry - list.add(temp); - } else { - // do nothing - } - } - - //permissions could have changed, compare vals at the end and update in db (quick and dirty due to time limitations) - RightsManagement.rightsManagement.setPermittedUserList(list); - }// end saveTableToList() - - private void checkIntegrity(int row) { - - int selectedRow; - - if (row == -1) { - selectedRow = table.getSelectedRow(); - } else { - selectedRow = row; - } - - boolean isRead, isWrite, isLink, isAdmin; - - // collect all row data - isRead = (boolean) table.getValueAt(selectedRow, 1); - isWrite = (boolean) table.getValueAt(selectedRow, 2); - isLink = (boolean) table.getValueAt(selectedRow, 3); - isAdmin = (boolean) table.getValueAt(selectedRow, 4); - - boolean[] checkedVals = CheckIntegrity.isIntegreForImage(isRead, isWrite, isLink, isAdmin); - - table.setValueAt(checkedVals[0], selectedRow, 1); - table.setValueAt(checkedVals[1], selectedRow, 2); - table.setValueAt(checkedVals[2], selectedRow, 3); - table.setValueAt(checkedVals[3], selectedRow, 4); - }// end checkIntegrity() - -}// end class - |
