From 161c19a19bc2d5f7ac1f4fd83cc6cd73ed1fb41a Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Thu, 8 Jul 2021 21:13:06 +0200 Subject: [PATCH] only show coach profiles of enabled players --- app/Env.scala | 1 - modules/coach/src/main/Coach.scala | 2 +- modules/coach/src/main/CoachApi.scala | 4 +--- modules/coach/src/main/CoachPager.scala | 1 + 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/Env.scala b/app/Env.scala index fe247141b5..ca16884171 100644 --- a/app/Env.scala +++ b/app/Env.scala @@ -160,7 +160,6 @@ final class Env( _ <- security.store.closeAllSessionsOf(u.id) _ <- push.webSubscriptionApi.unsubscribeByUser(u) _ <- streamer.api.demote(u.id) - _ <- coach.api.remove(u.id) reports <- report.api.processAndGetBySuspect(lila.report.Suspect(u)) _ <- selfClose ?? mod.logApi.selfCloseAccount(u.id, reports) _ <- appeal.api.onAccountClose(u) diff --git a/modules/coach/src/main/Coach.scala b/modules/coach/src/main/Coach.scala index 31c9571f0b..2caccc17de 100644 --- a/modules/coach/src/main/Coach.scala +++ b/modules/coach/src/main/Coach.scala @@ -41,7 +41,7 @@ object Coach { ) case class WithUser(coach: Coach, user: lila.user.User) { - def isListed = coach.listed.value && user.marks.clean + def isListed = coach.listed.value && user.enabled && user.marks.clean } case class Id(value: String) extends AnyVal with StringValue diff --git a/modules/coach/src/main/CoachApi.scala b/modules/coach/src/main/CoachApi.scala index 4e26773d5f..2ef227dcfd 100644 --- a/modules/coach/src/main/CoachApi.scala +++ b/modules/coach/src/main/CoachApi.scala @@ -41,7 +41,7 @@ final class CoachApi( } def isListedCoach(user: User): Fu[Boolean] = - Granter(_.Coach)(user) ?? coachColl.exists($id(user.id) ++ $doc("listed" -> true)) + Granter(_.Coach)(user) ?? user.enabled ?? user.marks.clean ?? coachColl.exists($id(user.id)) def setSeenAt(user: User): Funit = Granter(_.Coach)(user) ?? coachColl.update.one($id(user.id), $set("user.seenAt" -> DateTime.now)).void @@ -67,8 +67,6 @@ final class CoachApi( def setNbReviews(id: Coach.Id, nb: Int): Funit = coachColl.update.one($id(id), $set("nbReviews" -> nb)).void - def remove(userId: User.ID): Funit = coachColl.updateField($id(userId), "listed", false).void - def uploadPicture(c: Coach.WithUser, picture: Photographer.Uploaded, by: User): Funit = photographer(c.coach.id.value, picture, createdBy = by.id).flatMap { pic => coachColl.update.one($id(c.coach.id), $set("picturePath" -> pic.path)).void diff --git a/modules/coach/src/main/CoachPager.scala b/modules/coach/src/main/CoachPager.scala index a722fdf949..a30316b59e 100644 --- a/modules/coach/src/main/CoachPager.scala +++ b/modules/coach/src/main/CoachPager.scala @@ -60,6 +60,7 @@ final class CoachPager( UnwindField("_user"), Match( $doc( + s"_user.${User.BSONFields.enabled}" -> true, s"_user.${User.BSONFields.marks}" $nin List( UserMark.Engine.key, UserMark.Boost.key,