From ec24beaa1a1d1cfcf2252cd39aaba5a76905ed63 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 28 Jan 2014 13:41:22 -0500
Subject: [PATCH] issue-323: Synchronize all user service methods
---
src/main/java/com/gitblit/wicket/panels/GravatarImage.java | 33 +++++++++++++++++++++------------
1 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/panels/GravatarImage.java b/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
index 7f1874f..34af2bf 100644
--- a/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
+++ b/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
@@ -20,10 +20,8 @@
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.markup.html.panel.Panel;
import org.eclipse.jgit.lib.PersonIdent;
-import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.utils.ActivityUtils;
import com.gitblit.utils.StringUtils;
@@ -33,41 +31,52 @@
/**
* Represents a Gravatar image and links to the Gravatar profile page.
- *
+ *
* @author James Moger
- *
+ *
*/
-public class GravatarImage extends Panel {
+public class GravatarImage extends BasePanel {
private static final long serialVersionUID = 1L;
public GravatarImage(String id, PersonIdent person) {
this(id, person, 0);
}
-
+
public GravatarImage(String id, PersonIdent person, int width) {
this(id, person, width, true);
}
public GravatarImage(String id, PersonIdent person, int width, boolean linked) {
+ this(id, person.getName(), person.getEmailAddress(), "gravatar", width, linked, true);
+ }
+
+ public GravatarImage(String id, String username, String emailaddress, String cssClass, int width, boolean linked, boolean identicon) {
super(id);
- String email = person.getEmailAddress() == null ? person.getName().toLowerCase() : person.getEmailAddress().toLowerCase();
+ String email = emailaddress == null ? username.toLowerCase() : emailaddress.toLowerCase();
String hash = StringUtils.getMD5(email);
Link<Void> link = new BookmarkablePageLink<Void>("link", GravatarProfilePage.class,
WicketUtils.newObjectParameter(hash));
link.add(new SimpleAttributeModifier("target", "_blank"));
- String url = ActivityUtils.getGravatarThumbnailUrl(email, width);
+ String url;
+ if (identicon) {
+ url = ActivityUtils.getGravatarIdenticonUrl(email, width);
+ } else {
+ url = ActivityUtils.getGravatarThumbnailUrl(email, width);
+ }
ExternalImage image = new ExternalImage("image", url);
- WicketUtils.setCssClass(image, "gravatar");
+ if (cssClass != null) {
+ WicketUtils.setCssClass(image, cssClass);
+ }
link.add(image);
if (linked) {
WicketUtils.setHtmlTooltip(link,
- MessageFormat.format("View Gravatar profile for {0}", person.getName()));
+ MessageFormat.format("View Gravatar profile for {0}", username));
} else {
- WicketUtils.setHtmlTooltip(link, person.getName());
+ WicketUtils.setHtmlTooltip(link, username);
}
add(link.setEnabled(linked));
- setVisible(GitBlit.getBoolean(Keys.web.allowGravatar, true));
+ setVisible(app().settings().getBoolean(Keys.web.allowGravatar, true));
}
}
\ No newline at end of file
--
Gitblit v1.9.1