From f08aab5c5e632431635e73b47b6096dc47243755 Mon Sep 17 00:00:00 2001 From: James Moger Date: Tue, 13 Dec 2011 08:37:02 -0500 Subject: Teams JSON-RPC support --- src/com/gitblit/client/UsersPanel.java | 38 ++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) (limited to 'src/com/gitblit/client/UsersPanel.java') 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(user.repositories)); + dialog.setTeams(gitblit.getTeams(), user.teams == null ? null : new ArrayList( + 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 -- cgit v1.2.3