]> source.dussan.org Git - gitblit.git/commitdiff
Disable membership, display name, and email fields in Manager if unsupported by user...
authorJames Moger <james.moger@gitblit.com>
Wed, 25 Apr 2012 23:58:46 +0000 (19:58 -0400)
committerJames Moger <james.moger@gitblit.com>
Wed, 25 Apr 2012 23:58:46 +0000 (19:58 -0400)
src/com/gitblit/client/EditTeamDialog.java
src/com/gitblit/client/EditUserDialog.java
src/com/gitblit/client/JPalette.java
src/com/gitblit/models/ServerSettings.java

index 80e41608f3fdcb2ed55756099d45459f274f5346..2f9796ce238e5b413337716778933bbf1efc19c6 100644 (file)
@@ -125,7 +125,8 @@ public class EditTeamDialog extends JDialog {
                final Insets _insets = new Insets(5, 5, 5, 5);\r
                repositoryPalette = new JPalette<String>();\r
                userPalette = new JPalette<String>();\r
-\r
+               userPalette.setEnabled(settings.supportsTeamMembershipChanges);\r
+               \r
                JPanel fieldsPanelTop = new JPanel(new BorderLayout());\r
                fieldsPanelTop.add(fieldsPanel, BorderLayout.NORTH);\r
 \r
index d78924c4387487736c1c459a44d9c3f61571b63c..34ab4b5e5be1a02cba2110b9d0743a244e4dd623 100644 (file)
@@ -129,6 +129,14 @@ public class EditUserDialog extends JDialog {
                notFederatedCheckbox = new JCheckBox(\r
                                Translation.get("gb.excludeFromFederationDescription"),\r
                                anUser.excludeFromFederation);\r
+               \r
+               // credentials are optionally controlled by 3rd-party authentication\r
+               usernameField.setEnabled(settings.supportsCredentialChanges);\r
+               passwordField.setEnabled(settings.supportsCredentialChanges);\r
+               confirmPasswordField.setEnabled(settings.supportsCredentialChanges);\r
+\r
+               displayNameField.setEnabled(settings.supportsDisplayNameChanges);\r
+               emailAddressField.setEnabled(settings.supportsEmailAddressChanges);\r
 \r
                JPanel fieldsPanel = new JPanel(new GridLayout(0, 1));\r
                fieldsPanel.add(newFieldPanel(Translation.get("gb.username"), usernameField));\r
@@ -143,6 +151,7 @@ public class EditUserDialog extends JDialog {
                final Insets _insets = new Insets(5, 5, 5, 5);\r
                repositoryPalette = new JPalette<String>();\r
                teamsPalette = new JPalette<TeamModel>();\r
+               teamsPalette.setEnabled(settings.supportsTeamMembershipChanges);\r
 \r
                JPanel fieldsPanelTop = new JPanel(new BorderLayout());\r
                fieldsPanelTop.add(fieldsPanel, BorderLayout.NORTH);\r
@@ -340,7 +349,7 @@ public class EditUserDialog extends JDialog {
                }\r
                teamsPalette.setObjects(teams, selected);\r
        }\r
-\r
+       \r
        public UserModel getUser() {\r
                if (canceled) {\r
                        return null;\r
index 699b271e758beb37b05cb47e17b01f0d437ef72d..07900cb73de00959908c1ece8b069d0621ec7838 100644 (file)
@@ -38,6 +38,10 @@ public class JPalette<T> extends JPanel {
        private static final long serialVersionUID = 1L;\r
        private PaletteModel<T> availableModel;\r
        private PaletteModel<T> selectedModel;\r
+       private JButton add;\r
+       private JButton subtract;\r
+       private JButton up;\r
+       private JButton down;\r
 \r
        public JPalette() {\r
                this(false);\r
@@ -52,7 +56,7 @@ public class JPalette<T> extends JPanel {
                final JTable available = new JTable(availableModel);\r
                final JTable selected = new JTable(selectedModel);\r
 \r
-               JButton add = new JButton("->");\r
+               add = new JButton("->");\r
                add.addActionListener(new ActionListener() {\r
                        public void actionPerformed(ActionEvent event) {\r
                                List<T> move = new ArrayList<T>();\r
@@ -70,7 +74,7 @@ public class JPalette<T> extends JPanel {
                                selectedModel.fireTableDataChanged();\r
                        }\r
                });\r
-               JButton subtract = new JButton("<-");\r
+               subtract = new JButton("<-");\r
                subtract.addActionListener(new ActionListener() {\r
                        public void actionPerformed(ActionEvent event) {\r
                                List<T> move = new ArrayList<T>();\r
@@ -90,7 +94,7 @@ public class JPalette<T> extends JPanel {
                        }\r
                });\r
 \r
-               JButton up = new JButton("\u2191");\r
+               up = new JButton("\u2191");\r
                up.addActionListener(new ActionListener() {\r
                        public void actionPerformed(ActionEvent event) {\r
                                int row = selected.getSelectedRow();\r
@@ -102,7 +106,7 @@ public class JPalette<T> extends JPanel {
                        }\r
                });\r
 \r
-               JButton down = new JButton("\u2193");\r
+               down = new JButton("\u2193");\r
                down.addActionListener(new ActionListener() {\r
                        public void actionPerformed(ActionEvent event) {\r
                                int row = selected.getSelectedRow();\r
@@ -149,6 +153,15 @@ public class JPalette<T> extends JPanel {
                panel.add(jsp, BorderLayout.CENTER);\r
                return panel;\r
        }\r
+       \r
+       @Override\r
+       public void setEnabled(boolean enabled) {\r
+               super.setEnabled(enabled);\r
+               add.setEnabled(enabled);\r
+               subtract.setEnabled(enabled);\r
+               up.setEnabled(enabled);\r
+               down.setEnabled(enabled);\r
+       }\r
 \r
        public void setObjects(List<T> all, List<T> selected) {\r
                List<T> available = new ArrayList<T>(all);\r
index 72a7f00720664cc0b0cd8db0a08273fbf9e32267..3658096e3ba2bd46d3bc6dfb751a6c395e53dc1e 100644 (file)
@@ -36,6 +36,14 @@ public class ServerSettings implements Serializable {
        private static final long serialVersionUID = 1L;\r
 \r
        public List<String> pushScripts;\r
+       \r
+       public boolean supportsCredentialChanges;\r
+       \r
+       public boolean supportsDisplayNameChanges;\r
+       \r
+       public boolean supportsEmailAddressChanges;\r
+       \r
+       public boolean supportsTeamMembershipChanges;\r
 \r
        public ServerSettings() {\r
                settings = new TreeMap<String, SettingModel>();\r