| | |
| | | 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;
|
| | |
|
| | |
| | | * @author James Moger
|
| | | *
|
| | | */
|
| | | public class UsersPanel extends JPanel {
|
| | | public abstract class UsersPanel extends JPanel {
|
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | |
| | | 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() {
|
| | |
| | | add(userTablePanel, BorderLayout.CENTER);
|
| | | add(userControls, BorderLayout.SOUTH);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public void requestFocus() {
|
| | | filterTextfield.requestFocus();
|
| | |
| | | return Utils.INSETS;
|
| | | }
|
| | |
|
| | | protected abstract void updateTeamsTable();
|
| | | |
| | | protected void updateTable(boolean pack) {
|
| | | tableModel.list.clear();
|
| | | tableModel.list.addAll(gitblit.getUsers());
|
| | |
| | | *
|
| | | */
|
| | | 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) {
|
| | |
| | | boolean success = gitblit.createUser(newUser);
|
| | | if (success) {
|
| | | gitblit.refreshUsers();
|
| | | if (newUser.teams.size() > 0) {
|
| | | gitblit.refreshTeams();
|
| | | }
|
| | | }
|
| | | return success;
|
| | | }
|
| | |
| | | @Override
|
| | | protected void onSuccess() {
|
| | | updateTable(false);
|
| | | if (newUser.teams.size() > 0) {
|
| | | updateTeamsTable();
|
| | | }
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | * @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) {
|
| | |
| | | boolean success = gitblit.updateUser(user.username, revisedUser);
|
| | | if (success) {
|
| | | gitblit.refreshUsers();
|
| | | gitblit.refreshTeams();
|
| | | }
|
| | | return success;
|
| | | }
|
| | |
| | | @Override
|
| | | protected void onSuccess() {
|
| | | updateTable(false);
|
| | | updateTeamsTable();
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | }
|
| | | if (success) {
|
| | | gitblit.refreshUsers();
|
| | | gitblit.refreshTeams();
|
| | | }
|
| | | return success;
|
| | | }
|
| | |
| | | @Override
|
| | | protected void onSuccess() {
|
| | | updateTable(false);
|
| | | updateTeamsTable();
|
| | | }
|
| | |
|
| | | @Override
|