mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 06:25:51 +01:00
Check duplicate across primary/extra mail addresses.
This commit is contained in:
@@ -361,13 +361,21 @@ trait AccountManagementControllerBase extends ControllerBase {
|
|||||||
params: Map[String, Seq[String]],
|
params: Map[String, Seq[String]],
|
||||||
messages: Messages
|
messages: Messages
|
||||||
): Option[String] = {
|
): Option[String] = {
|
||||||
getAccountByMailAddress(value, true)
|
val extraMailAddresses = params.filterKeys(k => k.startsWith("extraMailAddresses"))
|
||||||
.filter { x =>
|
if (extraMailAddresses.find {
|
||||||
if (paramName.isEmpty) true else Some(x.userName) != params.optionValue(paramName)
|
case (k, v) =>
|
||||||
}
|
v.contains(value)
|
||||||
.map { _ =>
|
}.isDefined) {
|
||||||
"Mail address is already registered."
|
Some("These mail addresses are duplicated.")
|
||||||
}
|
} else {
|
||||||
|
getAccountByMailAddress(value, true)
|
||||||
|
.filter { x =>
|
||||||
|
if (paramName.isEmpty) true else Some(x.userName) != params.optionValue(paramName)
|
||||||
|
}
|
||||||
|
.map { _ =>
|
||||||
|
"Mail address is already registered."
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,13 +386,21 @@ trait AccountManagementControllerBase extends ControllerBase {
|
|||||||
params: Map[String, Seq[String]],
|
params: Map[String, Seq[String]],
|
||||||
messages: Messages
|
messages: Messages
|
||||||
): Option[String] = {
|
): Option[String] = {
|
||||||
getAccountByMailAddress(value, true)
|
val extraMailAddresses = params.filterKeys(k => k.startsWith("extraMailAddresses"))
|
||||||
.filter { x =>
|
if (Some(value) == params.optionValue("mailAddress") || extraMailAddresses.count {
|
||||||
if (paramName.isEmpty) true else Some(x.userName) != params.optionValue(paramName)
|
case (k, v) =>
|
||||||
}
|
v.contains(value)
|
||||||
.map { _ =>
|
} > 1) {
|
||||||
"Mail address is already registered."
|
Some("These mail addresses are duplicated.")
|
||||||
}
|
} else {
|
||||||
|
getAccountByMailAddress(value, true)
|
||||||
|
.filter { x =>
|
||||||
|
if (paramName.isEmpty) true else Some(x.userName) != params.optionValue(paramName)
|
||||||
|
}
|
||||||
|
.map { _ =>
|
||||||
|
"Mail address is already registered."
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user