From f08aab5c5e632431635e73b47b6096dc47243755 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 13 Dec 2011 08:37:02 -0500 Subject: [PATCH] Teams JSON-RPC support --- 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 5d31774..0dfa043 100644 --- a/src/com/gitblit/client/UsersPanel.java +++ b/src/com/gitblit/client/UsersPanel.java @@ -41,6 +41,7 @@ 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 @@ * @author James Moger * */ -public class UsersPanel extends JPanel { +public abstract class UsersPanel extends JPanel { private static final long serialVersionUID = 1L; @@ -111,6 +112,18 @@ 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 @@ add(userTablePanel, BorderLayout.CENTER); add(userControls, BorderLayout.SOUTH); } - + @Override public void requestFocus() { filterTextfield.requestFocus(); @@ -178,6 +191,8 @@ return Utils.INSETS; } + protected abstract void updateTeamsTable(); + protected void updateTable(boolean pack) { tableModel.list.clear(); tableModel.list.addAll(gitblit.getUsers()); @@ -240,10 +255,12 @@ * */ 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 @@ boolean success = gitblit.createUser(newUser); if (success) { gitblit.refreshUsers(); + if (newUser.teams.size() > 0) { + gitblit.refreshTeams(); + } } return success; } @@ -264,6 +284,9 @@ @Override protected void onSuccess() { updateTable(false); + if (newUser.teams.size() > 0) { + updateTeamsTable(); + } } @Override @@ -282,10 +305,13 @@ * @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 @@ boolean success = gitblit.updateUser(user.username, revisedUser); if (success) { gitblit.refreshUsers(); + gitblit.refreshTeams(); } return success; } @@ -305,6 +332,7 @@ @Override protected void onSuccess() { updateTable(false); + updateTeamsTable(); } @Override @@ -336,6 +364,7 @@ } if (success) { gitblit.refreshUsers(); + gitblit.refreshTeams(); } return success; } @@ -343,6 +372,7 @@ @Override protected void onSuccess() { updateTable(false); + updateTeamsTable(); } @Override -- Gitblit v1.9.1