send mod messages as lichess - for #2860
parent
b6b152f965
commit
524c0702a9
|
@ -16,7 +16,7 @@ title = thread.name) {
|
|||
@thread.posts.map { post =>
|
||||
<div class="thread_message embed_analyse" id="message_@post.id">
|
||||
<span class="infos">
|
||||
@userIdLink(thread.senderOf(post), none) <span data-icon="H"></span> @userIdLink(thread.receiverOf(post), "inline".some) - @momentFormat(post.createdAt)
|
||||
@userIdLink(thread.visibleSenderOf(post), none) <span data-icon="H"></span> @userIdLink(thread.visibleReceiverOf(post), "inline".some) - @momentFormat(post.createdAt)
|
||||
</span>
|
||||
<div class="thread_message_body">@autoLink(post.text)</div>
|
||||
</div>
|
||||
|
|
|
@ -26,7 +26,7 @@ private[message] final class DataForm(security: MessageSecurity) {
|
|||
user = fetchUser(username) err "Unknown username " + username,
|
||||
subject = subject,
|
||||
text = text,
|
||||
mod = mod.isDefined
|
||||
asMod = mod.isDefined
|
||||
)
|
||||
})(_.export.some))
|
||||
|
||||
|
@ -43,9 +43,9 @@ object DataForm {
|
|||
user: User,
|
||||
subject: String,
|
||||
text: String,
|
||||
mod: Boolean
|
||||
asMod: Boolean
|
||||
) {
|
||||
|
||||
def export = (user.username, subject, text, mod option "1")
|
||||
def export = (user.username, subject, text, asMod option "1")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,8 @@ final class MessageApi(
|
|||
name = data.subject,
|
||||
text = data.text,
|
||||
creatorId = me.id,
|
||||
invitedId = data.user.id
|
||||
invitedId = data.user.id,
|
||||
asMod = data.asMod
|
||||
)
|
||||
muteThreadIfNecessary(t, me, invited, data) flatMap { thread =>
|
||||
sendUnlessBlocked(thread, fromMod) flatMap {
|
||||
|
@ -110,7 +111,7 @@ final class MessageApi(
|
|||
notifyApi addNotification Notification.make(
|
||||
Notification.Notifies(thread receiverOf post),
|
||||
PrivateMessage(
|
||||
PrivateMessage.SenderId(thread senderOf post),
|
||||
PrivateMessage.SenderId(thread visibleSenderOf post),
|
||||
PrivateMessage.Thread(id = thread.id, name = shorten(thread.name, 80)),
|
||||
PrivateMessage.Text(shorten(post.text, 80))
|
||||
)
|
||||
|
|
|
@ -13,7 +13,8 @@ case class Thread(
|
|||
posts: List[Post],
|
||||
creatorId: String,
|
||||
invitedId: String,
|
||||
visibleByUserIds: List[String]
|
||||
visibleByUserIds: List[String],
|
||||
asMod: Boolean
|
||||
) {
|
||||
|
||||
def +(post: Post) = copy(
|
||||
|
@ -54,8 +55,16 @@ case class Thread(
|
|||
|
||||
def senderOf(post: Post) = post.isByCreator.fold(creatorId, invitedId)
|
||||
|
||||
def visibleSenderOf(post: Post) =
|
||||
if (post.isByCreator && asMod) "lichess"
|
||||
else senderOf(post)
|
||||
|
||||
def receiverOf(post: Post) = post.isByCreator.fold(invitedId, creatorId)
|
||||
|
||||
def visibleReceiverOf(post: Post) =
|
||||
if (!post.isByCreator && asMod) "lichess"
|
||||
else receiverOf(post)
|
||||
|
||||
def isWrittenBy(post: Post, user: User) = post.isByCreator == isCreator(user)
|
||||
|
||||
def nonEmptyName = (name.trim.some filter (_.nonEmpty)) | "No subject"
|
||||
|
@ -79,7 +88,8 @@ object Thread {
|
|||
name: String,
|
||||
text: String,
|
||||
creatorId: String,
|
||||
invitedId: String
|
||||
invitedId: String,
|
||||
asMod: Boolean
|
||||
): Thread = Thread(
|
||||
_id = Random nextString idSize,
|
||||
name = name,
|
||||
|
@ -91,7 +101,8 @@ object Thread {
|
|||
)),
|
||||
creatorId = creatorId,
|
||||
invitedId = invitedId,
|
||||
visibleByUserIds = List(creatorId, invitedId)
|
||||
visibleByUserIds = List(creatorId, invitedId),
|
||||
asMod = asMod
|
||||
)
|
||||
|
||||
import lila.db.dsl.BSONJodaDateTimeHandler
|
||||
|
|
Loading…
Reference in New Issue