summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-03-03 17:41:54 -0500
committerJames Moger <james.moger@gitblit.com>2014-03-03 17:51:21 -0500
commit94e12c168f5eec300fd23d0de25c7dc93a96c429 (patch)
tree635d6b3c48e4bf518eeaa4a3a0dbf132516f71ca
parentf7df31e369b7ddd0f7d2e61b4328a2fc4c377451 (diff)
downloadgitblit-94e12c168f5eec300fd23d0de25c7dc93a96c429.tar.gz
gitblit-94e12c168f5eec300fd23d0de25c7dc93a96c429.zip
Eliminate Gravatar profile linking and improve api
-rw-r--r--releases.moxie1
-rw-r--r--src/main/java/com/gitblit/wicket/GitBlitWebApp.java2
-rw-r--r--src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.html22
-rw-r--r--src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.java64
-rw-r--r--src/main/java/com/gitblit/wicket/pages/RootPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/DigestsPanel.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/GravatarImage.html2
-rw-r--r--src/main/java/com/gitblit/wicket/panels/GravatarImage.java36
-rw-r--r--src/main/java/com/gitblit/wicket/panels/ReflogPanel.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java2
10 files changed, 18 insertions, 120 deletions
diff --git a/releases.moxie b/releases.moxie
index cd4e43ea..f7af6cb2 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -53,6 +53,7 @@ r20: {
- Revised committer verification to require a matching displayname or account name AND the email address
- Serve repositories on both /r and /git, displaying /r because it is shorter
- Eliminate HEAD from the blob, blame, and tree pages. That assumed a resource was available in HEAD and it may not be.
+ - Eliminate Gravatar profile linking.
additions:
- Added color modes for the blame page (issue-2)
- Added an optional MirrorService which will periodically fetch ref updates from source repositories for mirrors (issue-5). Repositories must be manually cloned using native git and "--mirror".
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index 35a0823b..ab5ae2a2 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -53,7 +53,6 @@ import com.gitblit.wicket.pages.FederationRegistrationPage;
import com.gitblit.wicket.pages.ForkPage;
import com.gitblit.wicket.pages.ForksPage;
import com.gitblit.wicket.pages.GitSearchPage;
-import com.gitblit.wicket.pages.GravatarProfilePage;
import com.gitblit.wicket.pages.HistoryPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.LogoutPage;
@@ -178,7 +177,6 @@ public class GitBlitWebApp extends WebApplication {
mount("/registration", FederationRegistrationPage.class, "u", "n");
mount("/activity", ActivityPage.class, "r", "h");
- mount("/gravatar", GravatarProfilePage.class, "h");
mount("/lucene", LuceneSearchPage.class);
mount("/project", ProjectPage.class, "p");
mount("/projects", ProjectsPage.class);
diff --git a/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.html b/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.html
deleted file mode 100644
index b4531a1b..00000000
--- a/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
- xml:lang="en"
- lang="en">
-<body>
-<wicket:extend>
-<div class="container">
- <div class="pageTitle">
- <h2>Gravatar<small> / <span wicket:id="username">[username]</span></small></h2>
- </div>
- <img class="gravatar" wicket:id="profileImage"></img>
- <h2 wicket:id="displayName"></h2>
- <div style="color:#888;"wicket:id="location"></div>
- <div style="padding-top:5px;" wicket:id="aboutMe"></div>
- <p></p>
- <a wicket:id="profileLink"><wicket:message key="gb.completeGravatarProfile">[Complete profile on Gravatar.com]</wicket:message></a>
- <p></p>
-</div>
-</wicket:extend>
-</body>
-</html> \ No newline at end of file
diff --git a/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.java b/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.java
deleted file mode 100644
index 984b2972..00000000
--- a/src/main/java/com/gitblit/wicket/pages/GravatarProfilePage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2011 gitblit.com.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.gitblit.wicket.pages;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.link.ExternalLink;
-
-import com.gitblit.models.GravatarProfile;
-import com.gitblit.utils.ActivityUtils;
-import com.gitblit.wicket.ExternalImage;
-import com.gitblit.wicket.WicketUtils;
-
-/**
- * Gravatar Profile Page shows the Gravatar information, if available.
- *
- * @author James Moger
- *
- */
-public class GravatarProfilePage extends RootPage {
-
- public GravatarProfilePage(PageParameters params) {
- super();
- setupPage("", "");
- String object = WicketUtils.getObject(params);
- GravatarProfile profile = null;
- try {
- if (object.indexOf('@') > -1) {
- profile = ActivityUtils.getGravatarProfileFromAddress(object);
- } else {
- profile = ActivityUtils.getGravatarProfile(object);
- }
- } catch (IOException e) {
- error(MessageFormat.format(getString("gb.failedToFindGravatarProfile"), object), e, true);
- }
-
- if (profile == null) {
- error(MessageFormat.format(getString("gb.failedToFindGravatarProfile"), object), true);
- }
- add(new Label("displayName", profile.displayName));
- add(new Label("username", profile.preferredUsername));
- add(new Label("location", profile.currentLocation));
- add(new Label("aboutMe", profile.aboutMe));
- ExternalImage image = new ExternalImage("profileImage", profile.thumbnailUrl + "?s=256&d=identicon");
- add(image);
- add(new ExternalLink("profileLink", profile.profileUrl));
- }
-}
diff --git a/src/main/java/com/gitblit/wicket/pages/RootPage.java b/src/main/java/com/gitblit/wicket/pages/RootPage.java
index 9141b4e3..5ccc3a4c 100644
--- a/src/main/java/com/gitblit/wicket/pages/RootPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RootPage.java
@@ -576,8 +576,7 @@ public abstract class RootPage extends BasePage {
boolean standardLogin = session.authenticationType.isStandard();
if (app().settings().getBoolean(Keys.web.allowGravatar, true)) {
- add(new GravatarImage("username", user.getDisplayName(),
- user.emailAddress, "navbarGravatar", 20, false, false));
+ add(new GravatarImage("username", user, "navbarGravatar", 20, false));
} else {
add(new Label("username", user.getDisplayName()));
}
diff --git a/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java b/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
index ee97635f..de09aa95 100644
--- a/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
@@ -203,8 +203,7 @@ public class DigestsPanel extends BasePanel {
final RepositoryCommit commit = commitItem.getModelObject();
// author gravatar
- commitItem.add(new GravatarImage("commitAuthor", commit.getAuthorIdent().getName(),
- commit.getAuthorIdent().getEmailAddress(), null, 16, false, false));
+ commitItem.add(new GravatarImage("commitAuthor", commit.getAuthorIdent(), null, 16, false));
// merge icon
if (commit.getParentCount() > 1) {
diff --git a/src/main/java/com/gitblit/wicket/panels/GravatarImage.html b/src/main/java/com/gitblit/wicket/panels/GravatarImage.html
index 9dda7958..846a8f1b 100644
--- a/src/main/java/com/gitblit/wicket/panels/GravatarImage.html
+++ b/src/main/java/com/gitblit/wicket/panels/GravatarImage.html
@@ -4,6 +4,6 @@
xml:lang="en"
lang="en">
<wicket:panel>
-<a href="#" wicket:id="link"><img wicket:id="image"></img></a>
+<img wicket:id="image"></img>
</wicket:panel>
</html> \ No newline at end of file
diff --git a/src/main/java/com/gitblit/wicket/panels/GravatarImage.java b/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
index 34af2bfb..9507a25e 100644
--- a/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
+++ b/src/main/java/com/gitblit/wicket/panels/GravatarImage.java
@@ -15,22 +15,16 @@
*/
package com.gitblit.wicket.panels;
-import java.text.MessageFormat;
-
-import org.apache.wicket.behavior.SimpleAttributeModifier;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.link.Link;
import org.eclipse.jgit.lib.PersonIdent;
import com.gitblit.Keys;
+import com.gitblit.models.UserModel;
import com.gitblit.utils.ActivityUtils;
-import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.ExternalImage;
import com.gitblit.wicket.WicketUtils;
-import com.gitblit.wicket.pages.GravatarProfilePage;
/**
- * Represents a Gravatar image and links to the Gravatar profile page.
+ * Represents a Gravatar image.
*
* @author James Moger
*
@@ -44,21 +38,21 @@ public class GravatarImage extends BasePanel {
}
public GravatarImage(String id, PersonIdent person, int width) {
- this(id, person, width, true);
+ this(id, person.getName(), person.getEmailAddress(), "gravatar", width, true);
+ }
+
+ public GravatarImage(String id, PersonIdent person, String cssClass, int width, boolean identicon) {
+ this(id, person.getName(), person.getEmailAddress(), cssClass, width, identicon);
}
- public GravatarImage(String id, PersonIdent person, int width, boolean linked) {
- this(id, person.getName(), person.getEmailAddress(), "gravatar", width, linked, true);
+ public GravatarImage(String id, UserModel user, String cssClass, int width, boolean identicon) {
+ this(id, user.getDisplayName(), user.emailAddress, cssClass, width, identicon);
}
- public GravatarImage(String id, String username, String emailaddress, String cssClass, int width, boolean linked, boolean identicon) {
+ public GravatarImage(String id, String username, String emailaddress, String cssClass, int width, boolean identicon) {
super(id);
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;
if (identicon) {
url = ActivityUtils.getGravatarIdenticonUrl(email, width);
@@ -69,14 +63,8 @@ public class GravatarImage extends BasePanel {
if (cssClass != null) {
WicketUtils.setCssClass(image, cssClass);
}
- link.add(image);
- if (linked) {
- WicketUtils.setHtmlTooltip(link,
- MessageFormat.format("View Gravatar profile for {0}", username));
- } else {
- WicketUtils.setHtmlTooltip(link, username);
- }
- add(link.setEnabled(linked));
+ add(image);
+ WicketUtils.setHtmlTooltip(image, username);
setVisible(app().settings().getBoolean(Keys.web.allowGravatar, true));
}
} \ No newline at end of file
diff --git a/src/main/java/com/gitblit/wicket/panels/ReflogPanel.java b/src/main/java/com/gitblit/wicket/panels/ReflogPanel.java
index 70f59863..c1db726a 100644
--- a/src/main/java/com/gitblit/wicket/panels/ReflogPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/ReflogPanel.java
@@ -259,8 +259,7 @@ public class ReflogPanel extends BasePanel {
final RepositoryCommit commit = commitItem.getModelObject();
// author gravatar
- commitItem.add(new GravatarImage("commitAuthor", commit.getAuthorIdent().getName(),
- commit.getAuthorIdent().getEmailAddress(), null, 16, false, false));
+ commitItem.add(new GravatarImage("commitAuthor", commit.getAuthorIdent(), null, 16, false));
// merge icon
if (commit.getParentCount() > 1) {
diff --git a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
index 756b7db4..f37cc2aa 100644
--- a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
@@ -145,7 +145,7 @@ public class RegistrantPermissionsPanel extends BasePanel {
}
Fragment userFragment = new Fragment("registrant", "userRegistrant", RegistrantPermissionsPanel.this);
- userFragment.add(new GravatarImage("userAvatar", ident, 20, false));
+ userFragment.add(new GravatarImage("userAvatar", ident, 20));
userFragment.add(new Label("userName", entry.registrant));
item.add(userFragment);
} else {