From f3ff376a5eb945f15329b66bbb7d69ed3ca2ce3f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 03 Aug 2012 20:39:50 -0400
Subject: [PATCH] Confirmed fix for GO settings manipulation (issue 85)
---
src/com/gitblit/wicket/panels/UsersPanel.java | 59 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 16 deletions(-)
diff --git a/src/com/gitblit/wicket/panels/UsersPanel.java b/src/com/gitblit/wicket/panels/UsersPanel.java
index 27bc334..6672c40 100644
--- a/src/com/gitblit/wicket/panels/UsersPanel.java
+++ b/src/com/gitblit/wicket/panels/UsersPanel.java
@@ -18,6 +18,7 @@
import java.text.MessageFormat;
import java.util.List;
+import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -26,7 +27,8 @@
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import com.gitblit.GitBlit;
-import com.gitblit.wicket.LinkPanel;
+import com.gitblit.models.UserModel;
+import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.EditUserPage;
@@ -38,12 +40,13 @@
super(wicketId);
Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this);
- adminLinks.add(new BookmarkablePageLink<Void>("newUser", EditUserPage.class));
+ adminLinks.add(new BookmarkablePageLink<Void>("newUser", EditUserPage.class)
+ .setVisible(GitBlit.self().supportsCredentialChanges()));
add(adminLinks.setVisible(showAdmin));
- final List<String> usernames = GitBlit.self().getAllUsernames();
- DataView<String> usersView = new DataView<String>("userRow", new ListDataProvider<String>(
- usernames)) {
+ final List<UserModel> users = GitBlit.self().getAllUsers();
+ DataView<UserModel> usersView = new DataView<UserModel>("userRow",
+ new ListDataProvider<UserModel>(users)) {
private static final long serialVersionUID = 1L;
private int counter;
@@ -53,31 +56,55 @@
counter = 0;
}
- public void populateItem(final Item<String> item) {
- final String entry = item.getModelObject();
- LinkPanel editLink = new LinkPanel("username", "list", entry, EditUserPage.class,
- WicketUtils.newUsernameParameter(entry));
- WicketUtils.setHtmlTooltip(editLink, getString("gb.edit") + " " + entry);
+ public void populateItem(final Item<UserModel> item) {
+ final UserModel entry = item.getModelObject();
+ LinkPanel editLink = new LinkPanel("username", "list", entry.username,
+ EditUserPage.class, WicketUtils.newUsernameParameter(entry.username));
+ WicketUtils.setHtmlTooltip(editLink, getString("gb.edit") + " " + entry.getDisplayName());
item.add(editLink);
+
+ if (StringUtils.isEmpty(entry.displayName)) {
+ item.add(new Label("displayName").setVisible(false));
+ } else {
+ editLink = new LinkPanel("displayName", "list", entry.getDisplayName(),
+ EditUserPage.class, WicketUtils.newUsernameParameter(entry.username));
+ WicketUtils.setHtmlTooltip(editLink, getString("gb.edit") + " " + entry.getDisplayName());
+ item.add(editLink);
+ }
+
+ if (StringUtils.isEmpty(entry.emailAddress)) {
+ item.add(new Label("emailAddress").setVisible(false));
+ } else {
+ editLink = new LinkPanel("emailAddress", "list", entry.emailAddress,
+ EditUserPage.class, WicketUtils.newUsernameParameter(entry.username));
+ WicketUtils.setHtmlTooltip(editLink, getString("gb.edit") + " " + entry.getDisplayName());
+ item.add(editLink);
+ }
+
+ item.add(new Label("accesslevel", entry.canAdmin ? "administrator" : ""));
+ item.add(new Label("teams", entry.teams.size() > 0 ? ("" + entry.teams.size()) : ""));
+ item.add(new Label("repositories",
+ entry.repositories.size() > 0 ? ("" + entry.repositories.size()) : ""));
Fragment userLinks = new Fragment("userLinks", "userAdminLinks", this);
userLinks.add(new BookmarkablePageLink<Void>("editUser", EditUserPage.class,
- WicketUtils.newUsernameParameter(entry)));
+ WicketUtils.newUsernameParameter(entry.username)));
Link<Void> deleteLink = new Link<Void>("deleteUser") {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
- if (GitBlit.self().deleteUser(entry)) {
- usernames.remove(entry);
- info(MessageFormat.format("User ''{0}'' deleted.", entry));
+ if (GitBlit.self().deleteUser(entry.username)) {
+ users.remove(entry);
+ info(MessageFormat.format(getString("gb.userDeleted"), entry.username));
} else {
- error(MessageFormat.format("Failed to delete user ''{0}''!", entry));
+ error(MessageFormat.format(getString("gb.deleteUserFailed"),
+ entry.username));
}
}
};
deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(
- "Delete user \"{0}\"?", entry)));
+ getString("gb.deleteUser"), entry.username)));
userLinks.add(deleteLink);
item.add(userLinks);
--
Gitblit v1.9.1