diff options
Diffstat (limited to 'src/com/gitblit/client/UsersPanel.java')
-rw-r--r-- | src/com/gitblit/client/UsersPanel.java | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/src/com/gitblit/client/UsersPanel.java b/src/com/gitblit/client/UsersPanel.java index 5d31774f..0dfa0434 100644 --- a/src/com/gitblit/client/UsersPanel.java +++ b/src/com/gitblit/client/UsersPanel.java @@ -41,6 +41,7 @@ import javax.swing.event.ListSelectionListener; import javax.swing.table.TableRowSorter;
import com.gitblit.Constants.RpcRequest;
+import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
@@ -51,7 +52,7 @@ import com.gitblit.utils.StringUtils; * @author James Moger
*
*/
-public class UsersPanel extends JPanel {
+public abstract class UsersPanel extends JPanel {
private static final long serialVersionUID = 1L;
@@ -111,6 +112,18 @@ public class UsersPanel extends JPanel { String name = table.getColumnName(UsersTableModel.Columns.Name.ordinal());
table.setRowHeight(nameRenderer.getFont().getSize() + 8);
table.getColumn(name).setCellRenderer(nameRenderer);
+
+ int w = 125;
+ name = table.getColumnName(UsersTableModel.Columns.AccessLevel.ordinal());
+ table.getColumn(name).setMinWidth(w);
+ table.getColumn(name).setMaxWidth(w);
+ name = table.getColumnName(UsersTableModel.Columns.Teams.ordinal());
+ table.getColumn(name).setMinWidth(w);
+ table.getColumn(name).setMaxWidth(w);
+ name = table.getColumnName(UsersTableModel.Columns.Repositories.ordinal());
+ table.getColumn(name).setMinWidth(w);
+ table.getColumn(name).setMaxWidth(w);
+
table.setRowSorter(defaultSorter);
table.getRowSorter().toggleSortOrder(UsersTableModel.Columns.Name.ordinal());
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@@ -167,7 +180,7 @@ public class UsersPanel extends JPanel { add(userTablePanel, BorderLayout.CENTER);
add(userControls, BorderLayout.SOUTH);
}
-
+
@Override
public void requestFocus() {
filterTextfield.requestFocus();
@@ -178,6 +191,8 @@ public class UsersPanel extends JPanel { return Utils.INSETS;
}
+ protected abstract void updateTeamsTable();
+
protected void updateTable(boolean pack) {
tableModel.list.clear();
tableModel.list.addAll(gitblit.getUsers());
@@ -240,10 +255,12 @@ public class UsersPanel extends JPanel { *
*/
protected void createUser() {
- EditUserDialog dialog = new EditUserDialog(gitblit.getSettings());
+ EditUserDialog dialog = new EditUserDialog(gitblit.getProtocolVersion(),
+ gitblit.getSettings());
dialog.setLocationRelativeTo(UsersPanel.this);
dialog.setUsers(gitblit.getUsers());
dialog.setRepositories(gitblit.getRepositories(), null);
+ dialog.setTeams(gitblit.getTeams(), null);
dialog.setVisible(true);
final UserModel newUser = dialog.getUser();
if (newUser == null) {
@@ -257,6 +274,9 @@ public class UsersPanel extends JPanel { boolean success = gitblit.createUser(newUser);
if (success) {
gitblit.refreshUsers();
+ if (newUser.teams.size() > 0) {
+ gitblit.refreshTeams();
+ }
}
return success;
}
@@ -264,6 +284,9 @@ public class UsersPanel extends JPanel { @Override
protected void onSuccess() {
updateTable(false);
+ if (newUser.teams.size() > 0) {
+ updateTeamsTable();
+ }
}
@Override
@@ -282,10 +305,13 @@ public class UsersPanel extends JPanel { * @param user
*/
protected void editUser(final UserModel user) {
- EditUserDialog dialog = new EditUserDialog(user, gitblit.getSettings());
+ EditUserDialog dialog = new EditUserDialog(gitblit.getProtocolVersion(), user,
+ gitblit.getSettings());
dialog.setLocationRelativeTo(UsersPanel.this);
dialog.setUsers(gitblit.getUsers());
dialog.setRepositories(gitblit.getRepositories(), new ArrayList<String>(user.repositories));
+ dialog.setTeams(gitblit.getTeams(), user.teams == null ? null : new ArrayList<TeamModel>(
+ user.teams));
dialog.setVisible(true);
final UserModel revisedUser = dialog.getUser();
if (revisedUser == null) {
@@ -298,6 +324,7 @@ public class UsersPanel extends JPanel { boolean success = gitblit.updateUser(user.username, revisedUser);
if (success) {
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -305,6 +332,7 @@ public class UsersPanel extends JPanel { @Override
protected void onSuccess() {
updateTable(false);
+ updateTeamsTable();
}
@Override
@@ -336,6 +364,7 @@ public class UsersPanel extends JPanel { }
if (success) {
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -343,6 +372,7 @@ public class UsersPanel extends JPanel { @Override
protected void onSuccess() {
updateTable(false);
+ updateTeamsTable();
}
@Override
|