diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index e50b583..99a0bac 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -229,13 +229,15 @@ get("/:userName") { val userName = params("userName") getAccountByUserName(userName).map { account => + val extraMailAddresses = getAccountExtraMailAddresses(userName) params.getOrElse("tab", "repositories") match { // Public Activity case "activity" => gitbucket.core.account.html.activity( account, if (account.isGroupAccount) Nil else getGroupsByUserName(userName), - getActivitiesByUser(userName, true) + getActivitiesByUser(userName, true), + extraMailAddresses ) // Members @@ -244,6 +246,7 @@ gitbucket.core.account.html.members( account, members, + extraMailAddresses, context.loginAccount.exists( x => members.exists { member => @@ -260,6 +263,7 @@ account, if (account.isGroupAccount) Nil else getGroupsByUserName(userName), getVisibleRepositories(context.loginAccount, Some(userName)), + extraMailAddresses, context.loginAccount.exists( x => members.exists { member => diff --git a/src/main/scala/gitbucket/core/controller/SystemSettingsController.scala b/src/main/scala/gitbucket/core/controller/SystemSettingsController.scala index acd30d4..fc82666 100644 --- a/src/main/scala/gitbucket/core/controller/SystemSettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/SystemSettingsController.scala @@ -90,7 +90,8 @@ "jwsAlgorithm" -> trim(label("Signature algorithm", optional(text()))) )(OIDC.apply) ), - "skinName" -> trim(label("AdminLTE skin name", text(required))) + "skinName" -> trim(label("AdminLTE skin name", text(required))), + "showMailAddress" -> trim(label("Show mail address", boolean())) )(SystemSettings.apply).verifying { settings => Vector( if (settings.ssh && settings.baseUrl.isEmpty) { diff --git a/src/main/scala/gitbucket/core/service/SystemSettingsService.scala b/src/main/scala/gitbucket/core/service/SystemSettingsService.scala index 4141822..7ac861e 100644 --- a/src/main/scala/gitbucket/core/service/SystemSettingsService.scala +++ b/src/main/scala/gitbucket/core/service/SystemSettingsService.scala @@ -68,6 +68,7 @@ } } props.setProperty(SkinName, settings.skinName.toString) + props.setProperty(ShowMailAddress, settings.showMailAddress.toString) using(new java.io.FileOutputStream(GitBucketConf)) { out => props.store(out, null) } @@ -144,7 +145,8 @@ } else { None }, - getValue(props, SkinName, "skin-blue") + getValue(props, SkinName, "skin-blue"), + getValue(props, ShowMailAddress, false) ) } } @@ -174,7 +176,8 @@ ldap: Option[Ldap], oidcAuthentication: Boolean, oidc: Option[OIDC], - skinName: String + skinName: String, + showMailAddress: Boolean ) { def baseUrl(request: HttpServletRequest): String = @@ -283,6 +286,7 @@ private val OidcClientSecret = "oidc.client_secret" private val OidcJwsAlgorithm = "oidc.jws_algorithm" private val SkinName = "skinName" + private val ShowMailAddress = "showMailAddress" private def getValue[A: ClassTag](props: java.util.Properties, key: String, default: A): A = { getSystemProperty(key).getOrElse(getEnvironmentVariable(key).getOrElse { diff --git a/src/main/twirl/gitbucket/core/account/activity.scala.html b/src/main/twirl/gitbucket/core/account/activity.scala.html index e3b1307..f0d2cdc 100644 --- a/src/main/twirl/gitbucket/core/account/activity.scala.html +++ b/src/main/twirl/gitbucket/core/account/activity.scala.html @@ -1,8 +1,9 @@ @(account: gitbucket.core.model.Account, groupNames: List[String], - activities: List[gitbucket.core.model.Activity])(implicit context: gitbucket.core.controller.Context) + activities: List[gitbucket.core.model.Activity], + extraMailAddresses: List[String])(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers -@gitbucket.core.account.html.main(account, groupNames, "activity"){ +@gitbucket.core.account.html.main(account, groupNames, "activity", extraMailAddresses){
diff --git a/src/main/twirl/gitbucket/core/account/main.scala.html b/src/main/twirl/gitbucket/core/account/main.scala.html index 3a0c588..4c2ebc0 100644 --- a/src/main/twirl/gitbucket/core/account/main.scala.html +++ b/src/main/twirl/gitbucket/core/account/main.scala.html @@ -1,4 +1,4 @@ -@(account: gitbucket.core.model.Account, groupNames: List[String], active: String, +@(account: gitbucket.core.model.Account, groupNames: List[String], active: String, extraMailAddresses: List[String], isGroupManager: Boolean = false)(body: Html)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @gitbucket.core.html.main(account.userName){ @@ -20,6 +20,16 @@ @account.url } + @if(context.settings.showMailAddress){ + + @extraMailAddresses.map{ mail => + + } + }Joined on @helpers.date(account.registeredDate)
diff --git a/src/main/twirl/gitbucket/core/account/members.scala.html b/src/main/twirl/gitbucket/core/account/members.scala.html index 996dc1d..6edaf85 100644 --- a/src/main/twirl/gitbucket/core/account/members.scala.html +++ b/src/main/twirl/gitbucket/core/account/members.scala.html @@ -1,6 +1,6 @@ -@(account: gitbucket.core.model.Account, members: List[gitbucket.core.model.GroupMember], isGroupManager: Boolean)(implicit context: gitbucket.core.controller.Context) +@(account: gitbucket.core.model.Account, members: List[gitbucket.core.model.GroupMember], extraMailAddresses: List[String], isGroupManager: Boolean)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers -@gitbucket.core.account.html.main(account, Nil, "members", isGroupManager){ +@gitbucket.core.account.html.main(account, Nil, "members", extraMailAddresses, isGroupManager){ @if(members.isEmpty){ No members } else { @@ -13,4 +13,4 @@ } } -} \ No newline at end of file +} diff --git a/src/main/twirl/gitbucket/core/account/repositories.scala.html b/src/main/twirl/gitbucket/core/account/repositories.scala.html index b4c7acf..1d074f9 100644 --- a/src/main/twirl/gitbucket/core/account/repositories.scala.html +++ b/src/main/twirl/gitbucket/core/account/repositories.scala.html @@ -1,8 +1,9 @@ @(account: gitbucket.core.model.Account, groupNames: List[String], repositories: List[gitbucket.core.service.RepositoryService.RepositoryInfo], + extraMailAddresses: List[String], isGroupManager: Boolean)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers -@gitbucket.core.account.html.main(account, groupNames, "repositories", isGroupManager){ +@gitbucket.core.account.html.main(account, groupNames, "repositories", extraMailAddresses, isGroupManager){ @if(repositories.isEmpty){ No repositories } else { diff --git a/src/main/twirl/gitbucket/core/admin/settings_system.scala.html b/src/main/twirl/gitbucket/core/admin/settings_system.scala.html index 7d787fa..34b9033 100644 --- a/src/main/twirl/gitbucket/core/admin/settings_system.scala.html +++ b/src/main/twirl/gitbucket/core/admin/settings_system.scala.html @@ -132,6 +132,21 @@ + + +