public mod permission

This commit is contained in:
Thibault Duplessis 2016-07-20 14:24:03 +02:00
parent fadc94ab78
commit 75bec57bfb
3 changed files with 13 additions and 3 deletions

View file

@ -191,7 +191,7 @@ object Mod extends LilaController {
)).bindFromRequest.fold(
err => BadRequest(html.mod.powaaa(user)).fuccess,
permissions =>
UserRepo.setRoles(user.id, permissions map (_.toUpperCase)) inject
UserRepo.setRoles(user.id, permissions.map(_.toUpperCase)) inject
Redirect(routes.User.show(user.username) + "?mod")
)
}

View file

@ -39,7 +39,14 @@ case class UserInfo(
def completionRatePercent = completionRate.map { cr => math.round(cr * 100) }
def isPublicMod = lila.security.Granter(_.PublicMod)(user)
def allTrophies = List(
isPublicMod option Trophy(
_id = "",
user = user.id,
kind = Trophy.Kind.Moderator,
date = org.joda.time.DateTime.now),
isStreamer option Trophy(
_id = "",
user = user.id,

View file

@ -35,6 +35,7 @@ object Permission {
case object TerminateTournament extends Permission("ROLE_TERMINATE_TOURNAMENT")
case object ManageTournament extends Permission("ROLE_MANAGE_TOURNAMENT")
case object ChangePermission extends Permission("ROLE_CHANGE_PERMISSION")
case object PublicMod extends Permission("ROLE_PUBLIC_MOD")
case object Hunter extends Permission("ROLE_HUNTER", List(
ViewBlurs, MarkEngine, MarkBooster, StaffForum,
@ -46,12 +47,14 @@ object Permission {
ChatTimeout, MarkTroll, SetTitle, SetEmail, ModerateQa, StreamConfig,
MessageAnyone, CloseTeam, TerminateTournament, ManageTournament))
case object SuperAdmin extends Permission("ROLE_SUPER_ADMIN", List(Admin, ChangePermission))
case object SuperAdmin extends Permission("ROLE_SUPER_ADMIN", List(
Admin, ChangePermission, PublicMod))
lazy val allButSuperAdmin: List[Permission] = List(
Admin, Hunter, MarkTroll, ChatTimeout, ChangePermission, ViewBlurs, StaffForum, ModerateForum,
UserSpy, MarkEngine, MarkBooster, IpBan, ModerateQa, StreamConfig,
Beta, MessageAnyone, UserSearch, CloseTeam, TerminateTournament, ManageTournament)
Beta, MessageAnyone, UserSearch, CloseTeam, TerminateTournament, ManageTournament,
PublicMod)
lazy private val all: List[Permission] = SuperAdmin :: allButSuperAdmin