Shushers and Hunters can send to Zulip

close https://github.com/lichess-org/tavern/issues/134
pull/9537/head
kraktus 2021-08-06 11:35:19 +02:00
parent 8416ffe57d
commit bec995e965
3 changed files with 16 additions and 9 deletions

View File

@ -13,7 +13,7 @@ import lila.chat.Chat
import lila.common.{ EmailAddress, HTTPRequest, IpAddress }
import lila.mod.UserSearch
import lila.report.{ Suspect, Mod => AsMod }
import lila.security.{ FingerHash, Permission }
import lila.security.{ FingerHash, Granter, Permission }
import lila.user.{ User => UserModel, Title, Holder }
final class Mod(
@ -224,9 +224,14 @@ final class Mod(
domain = report.room match {
case Room.Cheat | Room.Boost => ModDomain.Hunt
case Room.Comm => ModDomain.Comm
case _ => ModDomain.Other
// spontaneous inquiry
case _ if Granter(_.Admin)(me.user) => ModDomain.Admin
case _ if Granter(_.Hunter)(me.user) => ModDomain.Hunt // heuristic
case _ if Granter(_.Shusher)(me.user) => ModDomain.Comm
case _ => ModDomain.Admin
},
room = report.room.name
room = if (report.isSpontaneous) "Spontaneous inquiry" else report.room.name
) inject NoContent
}
}

View File

@ -23,9 +23,9 @@ final class IrcApi(
def inquiry(user: LightUser, mod: Holder, domain: ModDomain, room: String): Funit = {
val stream = domain match {
case ModDomain.Comm => ZulipClient.stream.mod.commsPrivate
case ModDomain.Hunt => ZulipClient.stream.mod.hunterCheat
case ModDomain.Other => ZulipClient.stream.mod.adminGeneral
case ModDomain.Comm => ZulipClient.stream.mod.commsPrivate
case ModDomain.Hunt => ZulipClient.stream.mod.hunterCheat
case _ => ZulipClient.stream.mod.adminGeneral
}
noteApi
.byUserForMod(user.id)
@ -167,6 +167,7 @@ object IrcApi {
def key = toString.toLowerCase
}
object ModDomain {
case object Admin extends ModDomain
case object Hunt extends ModDomain
case object Comm extends ModDomain
case object Other extends ModDomain

View File

@ -106,7 +106,8 @@ object Permission {
RemoveRanking,
ModMessage,
ModNote,
ViewPrintNoIP
ViewPrintNoIP,
SendToZulip
),
"Hunter"
)
@ -126,7 +127,8 @@ object Permission {
SeeReport,
ModLog,
ModNote,
ViewPrintNoIP
ViewPrintNoIP,
SendToZulip
),
"Shusher"
)
@ -147,7 +149,6 @@ object Permission {
ManageTournament,
ManageSimul,
ManageEvent,
SendToZulip,
PracticeConfig,
PuzzleCurator,
Presets,