diff --git a/src/main/scala/util/JGitUtil.scala b/src/main/scala/util/JGitUtil.scala index 8d9b6eb..03adc15 100644 --- a/src/main/scala/util/JGitUtil.scala +++ b/src/main/scala/util/JGitUtil.scala @@ -52,14 +52,21 @@ * @param id the commit id * @param time the commit time * @param committer the committer name + * @param mailAddress the mail address of the committer * @param shortMessage the short message * @param fullMessage the full message * @param parents the list of parent commit id */ - case class CommitInfo(id: String, time: Date, committer: String, shortMessage: String, fullMessage: String, parents: List[String]){ + case class CommitInfo(id: String, time: Date, committer: String, mailAddress: String, + shortMessage: String, fullMessage: String, parents: List[String]){ def this(rev: org.eclipse.jgit.revwalk.RevCommit) = this( - rev.getName, rev.getCommitterIdent.getWhen, rev.getCommitterIdent.getName, rev.getShortMessage, rev.getFullMessage, + rev.getName, + rev.getCommitterIdent.getWhen, + rev.getCommitterIdent.getName, + rev.getCommitterIdent.getEmailAddress, + rev.getShortMessage, + rev.getFullMessage, rev.getParents().map(_.name).toList) val summary = { diff --git a/src/main/scala/view/AvatarImageProvider.scala b/src/main/scala/view/AvatarImageProvider.scala index 132e27b..c2c7fa2 100644 --- a/src/main/scala/view/AvatarImageProvider.scala +++ b/src/main/scala/view/AvatarImageProvider.scala @@ -10,11 +10,16 @@ * Returns <img> which displays the avatar icon. * Looks up Gravatar if avatar icon has not been configured in user settings. */ - protected def getAvatarImageHtml(userName: String, size: Int, tooltip: Boolean = false)(implicit context: app.Context): Html = { + protected def getAvatarImageHtml(userName: String, size: Int, + mailAddress: String = "", tooltip: Boolean = false)(implicit context: app.Context): Html = { val src = getAccountByUserName(userName).collect { case account if(account.image.isEmpty) => s"""http://www.gravatar.com/avatar/${StringUtil.md5(account.mailAddress)}?s=${size}""" } getOrElse { - s"""${context.path}/${userName}/_avatar""" + if(mailAddress.nonEmpty){ + s"""http://www.gravatar.com/avatar/${StringUtil.md5(mailAddress)}?s=${size}""" + } else { + s"""${context.path}/${userName}/_avatar""" + } } if(tooltip){ Html(s"""""") diff --git a/src/main/scala/view/helpers.scala b/src/main/scala/view/helpers.scala index fa276a2..650627c 100644 --- a/src/main/scala/view/helpers.scala +++ b/src/main/scala/view/helpers.scala @@ -40,7 +40,10 @@ * Looks up Gravatar if avatar icon has not been configured in user settings. */ def avatar(userName: String, size: Int, tooltip: Boolean = false)(implicit context: app.Context): Html = - getAvatarImageHtml(userName, size, tooltip) + getAvatarImageHtml(userName, size, "", tooltip) + + def avatar(commit: util.JGitUtil.CommitInfo, size: Int)(implicit context: app.Context): Html = + getAvatarImageHtml(commit.committer, size, commit.mailAddress) /** * Converts commit id, issue id and username to the link. diff --git a/src/main/twirl/issues/list.scala.html b/src/main/twirl/issues/list.scala.html index af69af3..675c643 100644 --- a/src/main/twirl/issues/list.scala.html +++ b/src/main/twirl/issues/list.scala.html @@ -227,7 +227,7 @@ } @issue.assignedUserName.map { userName => - @avatar(userName, 20, true) + @avatar(userName, 20, tooltip = true) } #@issue.issueId diff --git a/src/main/twirl/repo/blob.scala.html b/src/main/twirl/repo/blob.scala.html index 3f6cc93..b52a239 100644 --- a/src/main/twirl/repo/blob.scala.html +++ b/src/main/twirl/repo/blob.scala.html @@ -23,7 +23,7 @@
- @avatar(latestCommit.committer, 20) + @avatar(latestCommit, 20) @latestCommit.committer @datetime(latestCommit.time) @link(latestCommit.summary, repository) diff --git a/src/main/twirl/repo/commit.scala.html b/src/main/twirl/repo/commit.scala.html index 60a872b..3b63e89 100644 --- a/src/main/twirl/repo/commit.scala.html +++ b/src/main/twirl/repo/commit.scala.html @@ -43,7 +43,7 @@ - @avatar(commit.committer, 20) + @avatar(commit, 20) @commit.committer @datetime(commit.time)
diff --git a/src/main/twirl/repo/commits.scala.html b/src/main/twirl/repo/commits.scala.html index 4f3c86f..0fe4098 100644 --- a/src/main/twirl/repo/commits.scala.html +++ b/src/main/twirl/repo/commits.scala.html @@ -38,7 +38,7 @@ Browse code
-
@avatar(commit.committer, 40)
+
@avatar(commit, 40)
@link(commit.summary, repository) @if(commit.description.isDefined){ diff --git a/src/main/twirl/repo/files.scala.html b/src/main/twirl/repo/files.scala.html index 541ccdf..eb457b8 100644 --- a/src/main/twirl/repo/files.scala.html +++ b/src/main/twirl/repo/files.scala.html @@ -34,7 +34,7 @@
- @avatar(latestCommit.committer, 20) + @avatar(latestCommit, 20) @latestCommit.committer @datetime(latestCommit.time)