From 357109c5a5518db5925f49a6700a87e7ed30ca14 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Dec 2011 16:19:29 -0500
Subject: [PATCH] Unit testing. Documentation.
---
src/com/gitblit/client/RepositoriesPanel.java | 70 ++++++++++++++++++++++++++++++++---
1 files changed, 64 insertions(+), 6 deletions(-)
diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java
index 20b9080..2994b76 100644
--- a/src/com/gitblit/client/RepositoriesPanel.java
+++ b/src/com/gitblit/client/RepositoriesPanel.java
@@ -134,6 +134,24 @@
}
});
+ final JButton logRepository = new JButton(Translation.get("gb.log") + "...");
+ logRepository.setEnabled(false);
+ logRepository.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ RepositoryModel model = getSelectedRepositories().get(0);
+ showSearchDialog(false, model);
+ }
+ });
+
+ final JButton searchRepository = new JButton(Translation.get("gb.search") + "...");
+ searchRepository.setEnabled(false);
+ searchRepository.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ RepositoryModel model = getSelectedRepositories().get(0);
+ showSearchDialog(true, model);
+ }
+ });
+
SubscribedRepositoryRenderer nameRenderer = new SubscribedRepositoryRenderer(gitblit);
IndicatorsRenderer typeRenderer = new IndicatorsRenderer();
@@ -165,9 +183,19 @@
}
boolean singleSelection = table.getSelectedRowCount() == 1;
boolean selected = table.getSelectedRow() > -1;
- browseRepository.setEnabled(singleSelection);
+ if (singleSelection) {
+ RepositoryModel repository = getSelectedRepositories().get(0);
+ browseRepository.setEnabled(repository.hasCommits);
+ logRepository.setEnabled(repository.hasCommits);
+ searchRepository.setEnabled(repository.hasCommits);
+ subscribeRepository.setEnabled(repository.hasCommits);
+ } else {
+ browseRepository.setEnabled(false);
+ logRepository.setEnabled(false);
+ searchRepository.setEnabled(false);
+ subscribeRepository.setEnabled(false);
+ }
delRepository.setEnabled(selected);
- subscribeRepository.setEnabled(singleSelection);
if (selected) {
int viewRow = table.getSelectedRow();
int modelRow = table.convertRowIndexToModel(viewRow);
@@ -216,6 +244,8 @@
repositoryControls.add(editRepository);
repositoryControls.add(delRepository);
repositoryControls.add(subscribeRepository);
+ repositoryControls.add(logRepository);
+ repositoryControls.add(searchRepository);
setLayout(new BorderLayout(Utils.MARGIN, Utils.MARGIN));
header = new HeaderPanel(Translation.get("gb.repositories"), "gitweb-favicon.png");
@@ -247,6 +277,8 @@
protected abstract void subscribeFeeds(List<FeedModel> feeds);
protected abstract void updateUsersTable();
+
+ protected abstract void updateTeamsTable();
protected void disableManagement() {
createRepository.setVisible(false);
@@ -319,14 +351,18 @@
*
*/
protected void createRepository() {
- EditRepositoryDialog dialog = new EditRepositoryDialog();
+ EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion());
dialog.setLocationRelativeTo(RepositoriesPanel.this);
dialog.setUsers(null, gitblit.getUsernames(), null);
+ dialog.setTeams(gitblit.getTeamnames(), null);
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), null);
+ dialog.setPreReceiveScripts(gitblit.getAvailableScripts(), null);
+ dialog.setPostReceiveScripts(gitblit.getAvailableScripts(), null);
dialog.setVisible(true);
final RepositoryModel newRepository = dialog.getRepository();
final List<String> permittedUsers = dialog.getPermittedUsers();
+ final List<String> permittedTeams = dialog.getPermittedTeams();
if (newRepository == null) {
return;
}
@@ -335,11 +371,15 @@
@Override
protected Boolean doRequest() throws IOException {
- boolean success = gitblit.createRepository(newRepository, permittedUsers);
+ boolean success = gitblit.createRepository(newRepository, permittedUsers,
+ permittedTeams);
if (success) {
gitblit.refreshRepositories();
if (permittedUsers.size() > 0) {
gitblit.refreshUsers();
+ }
+ if (permittedTeams.size() > 0) {
+ gitblit.refreshTeams();
}
}
return success;
@@ -349,6 +389,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -367,16 +408,21 @@
* @param repository
*/
protected void editRepository(final RepositoryModel repository) {
- EditRepositoryDialog dialog = new EditRepositoryDialog(repository);
+ EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion(),
+ repository);
dialog.setLocationRelativeTo(RepositoriesPanel.this);
List<String> usernames = gitblit.getUsernames();
List<String> members = gitblit.getPermittedUsernames(repository);
dialog.setUsers(repository.owner, usernames, members);
+ dialog.setTeams(gitblit.getTeamnames(), gitblit.getPermittedTeamnames(repository));
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets);
+ dialog.setPreReceiveScripts(gitblit.getAvailableScripts(), repository.preReceiveScripts);
+ dialog.setPostReceiveScripts(gitblit.getAvailableScripts(), repository.postReceiveScripts);
dialog.setVisible(true);
final RepositoryModel revisedRepository = dialog.getRepository();
final List<String> permittedUsers = dialog.getPermittedUsers();
+ final List<String> permittedTeams = dialog.getPermittedTeams();
if (revisedRepository == null) {
return;
}
@@ -386,10 +432,11 @@
@Override
protected Boolean doRequest() throws IOException {
boolean success = gitblit.updateRepository(repository.name, revisedRepository,
- permittedUsers);
+ permittedUsers, permittedTeams);
if (success) {
gitblit.refreshRepositories();
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -398,6 +445,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -430,6 +478,7 @@
if (success) {
gitblit.refreshRepositories();
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -438,6 +487,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -449,4 +499,12 @@
}
}
+ private void showSearchDialog(boolean isSearch, final RepositoryModel repository) {
+ final SearchDialog dialog = new SearchDialog(gitblit, isSearch);
+ if (repository != null) {
+ dialog.selectRepository(repository);
+ }
+ dialog.setLocationRelativeTo(this);
+ dialog.setVisible(true);
+ }
}
--
Gitblit v1.9.1