show user language WIP
This commit is contained in:
parent
f32fee941f
commit
f4950c9d08
|
@ -12,7 +12,7 @@ import scalaz.Zero
|
|||
import lila.app._
|
||||
import lila.common.LilaCookie
|
||||
import lila.security.{ Permission, Granter }
|
||||
import lila.user.{ Context, HeaderContext, BodyContext, User ⇒ UserModel }
|
||||
import lila.user.{ Context, HeaderContext, BodyContext, UserRepo, User ⇒ UserModel }
|
||||
|
||||
private[controllers] trait LilaController
|
||||
extends Controller
|
||||
|
@ -177,7 +177,9 @@ private[controllers] trait LilaController
|
|||
private def restoreUser(req: RequestHeader): Fu[Option[UserModel]] =
|
||||
Env.security.api restoreUser req addEffect {
|
||||
_ foreach { user ⇒
|
||||
lila.user.UserRepo setSeenAt user.id
|
||||
UserRepo setSeenAt user.id
|
||||
val lang = Env.i18n.pool.lang(req).language
|
||||
if (user.lang != lang.some) UserRepo.setLang(user.id, lang)
|
||||
Env.user setOnline user
|
||||
user.seenAt.isEmpty ?? Env.relation.autofollow(user)
|
||||
}
|
||||
|
|
|
@ -22,7 +22,8 @@ trait I18nHelper {
|
|||
|
||||
implicit def lang(implicit ctx: Context) = pool lang ctx.req
|
||||
|
||||
def langName(lang: Lang) = LangList name lang.language
|
||||
def langName(lang: Lang): Option[String] = langName(lang.language)
|
||||
def langName(lang: String): Option[String] = LangList name lang
|
||||
|
||||
def translationCall(implicit ctx: Context) =
|
||||
if (ctx.req.cookies.get(hideCallsCookieName).isDefined) None
|
||||
|
|
|
@ -7,4 +7,9 @@
|
|||
@trans.followsYou()
|
||||
}
|
||||
</div>
|
||||
@u.lang.map { l =>
|
||||
@langName(l).map { name =>
|
||||
<span class="lang">@name</span>
|
||||
}
|
||||
}
|
||||
<div class="content relation_actions">@relation.actions(u.id)</div>
|
||||
|
|
|
@ -20,7 +20,8 @@ case class User(
|
|||
engine: Boolean = false,
|
||||
toints: Int = 0,
|
||||
createdAt: DateTime,
|
||||
seenAt: Option[DateTime]) extends Ordered[User] {
|
||||
seenAt: Option[DateTime],
|
||||
lang: Option[String]) extends Ordered[User] {
|
||||
|
||||
override def equals(other: Any) = other match {
|
||||
case u: User ⇒ id == u.id
|
||||
|
@ -78,5 +79,6 @@ object User {
|
|||
"engine" -> false,
|
||||
"toints" -> 0,
|
||||
"roles" -> Json.arr(),
|
||||
"seenAt" -> none[DateTime])
|
||||
"seenAt" -> none[DateTime],
|
||||
"lang" -> none[String] )
|
||||
}
|
||||
|
|
|
@ -191,6 +191,10 @@ object UserRepo {
|
|||
$update.fieldUnchecked(id, "seenAt", $date(DateTime.now))
|
||||
}
|
||||
|
||||
def setLang(id: ID, lang: String) {
|
||||
$update.fieldUnchecked(id, "lang", lang)
|
||||
}
|
||||
|
||||
def idsAverageElo(ids: Iterable[String]): Fu[Int] = ids.isEmpty ? fuccess(0) | {
|
||||
import reactivemongo.bson._
|
||||
import reactivemongo.core.commands._
|
||||
|
|
Loading…
Reference in a new issue