diff --git a/app/controllers/User.scala b/app/controllers/User.scala
index 170d89fe33..68115ee8ac 100644
--- a/app/controllers/User.scala
+++ b/app/controllers/User.scala
@@ -177,7 +177,7 @@ object User extends LilaController {
def mod(username: String) = Secure(_.UserSpy) { implicit ctx =>
me => OptionFuOk(UserRepo named username) { user =>
(Env.security userSpy user.id) zip
- (Env.mod.assessApi.getPlayerAggregateAssessment(user.id)) flatMap {
+ (Env.mod.assessApi.getPlayerAggregateAssessmentWithGames(user.id)) flatMap {
case (spy, playerAggregateAssessment) =>
(Env.playban.api bans spy.otherUsers.map(_.id)) map { bans =>
html.user.mod(user, spy, playerAggregateAssessment, bans)
diff --git a/app/templating/GameHelper.scala b/app/templating/GameHelper.scala
index 1e0899ed7a..c9ce711c58 100644
--- a/app/templating/GameHelper.scala
+++ b/app/templating/GameHelper.scala
@@ -106,7 +106,8 @@ trait GameHelper { self: I18nHelper with UserHelper with AiHelper with StringHel
withDiff: Boolean = true,
engine: Boolean = false,
withStatus: Boolean = false,
- mod: Boolean = false)(implicit ctx: UserContext) = Html {
+ mod: Boolean = false,
+ link: Boolean = true)(implicit ctx: UserContext) = Html {
val statusIcon = if (withStatus) """""" else ""
player.userId.flatMap(lightUser) match {
case None =>
@@ -121,7 +122,8 @@ trait GameHelper { self: I18nHelper with UserHelper with AiHelper with StringHel
val mark = engine ?? s""""""
val dataIcon = withOnline ?? """data-icon="r""""
val space = if (withOnline) " " else ""
- s"""$space$content$diff$mark$statusIcon"""
+ val tag = if (link) "a" else "span"
+ s"""<$tag $dataIcon $klass href="$href">$space$content$diff$mark$tag>$statusIcon"""
}
}
diff --git a/app/views/user/mod.scala.html b/app/views/user/mod.scala.html
index ce05c5b98e..56850274fe 100644
--- a/app/views/user/mod.scala.html
+++ b/app/views/user/mod.scala.html
@@ -1,4 +1,4 @@
-@(u: User, spy: lila.security.UserSpy, optionAggregateAssessment: Option[lila.evaluation.PlayerAggregateAssessment], bans: Map[String, Int])(implicit ctx: Context)
+@(u: User, spy: lila.security.UserSpy, optionAggregateAssessment: Option[lila.evaluation.PlayerAggregateAssessment.WithGames], bans: Map[String, Int])(implicit ctx: Context)
@import lila.evaluation.Display
@@ -57,28 +57,28 @@
- @aggregateAssessment.action.description + @pag.pag.action.description | - @aggregateAssessment.playerAssessments.size + @pag.pag.playerAssessments.size | - @aggregateAssessment.cheatingSum + @pag.pag.cheatingSum | - @aggregateAssessment.likelyCheatingSum + @pag.pag.likelyCheatingSum | - @aggregateAssessment.relatedCheatersCount + @pag.pag.relatedCheatersCount | - @aggregateAssessment.relatedUsersCount + @pag.pag.relatedUsersCount | ||
---|---|---|---|---|---|---|---|
Blurs |
- @aggregateAssessment.sfAvgBlurs
+ @pag.pag.sfAvgBlurs
high |
- @aggregateAssessment.sfAvgNoBlurs
+ @pag.pag.sfAvgNoBlurs
low |
|||||
Move Times |
- @aggregateAssessment.sfAvgLowVar
+ @pag.pag.sfAvgLowVar
low variance |
- @aggregateAssessment.sfAvgHighVar
+ @pag.pag.sfAvgHighVar
high variance |
|||||
Hold Alert |
- @aggregateAssessment.sfAvgHold
+ @pag.pag.sfAvgHold
alert |
- @aggregateAssessment.sfAvgNoHold
+ @pag.pag.sfAvgNoHold
no alert |
Assessed game | +Opponent | +Game |
Centi-Pawn
(Avg ± SD) @@ -159,28 +160,49 @@ | ||||
---|---|---|---|---|---|---|---|
@routes.Round.watcher(result.gameId, result.color.name) | - + + @pag.pov(result).fold{ + @result.gameId + } { p => + @playerLink(p.opponent, withRating = true, withDiff = true, withOnline = false, link = false) + } + + | ++ @pag.pov(result).map { p => + + @if(p.game.isTournament) { + + } + @p.game.perfType.map { pt => + + } + @shortClockName(p.game.clock) + + } + | ++ @result.sfAvg ± @result.sfSd | - + @(result.mtAvg/10) ± @(result.mtSd/10) | - + @(result.blurs)% | - + @if(result.hold){Yes} else {No} |
- @result.assessment.emoticon
+ @result.assessment.emoticon
|