implement manual moving of reports to X-Files

pull/3445/head
Thibault Duplessis 2017-08-08 09:27:05 -05:00
parent 39e0c40945
commit b4dce5885a
5 changed files with 13 additions and 7 deletions

View File

@ -44,6 +44,10 @@ object Report extends LilaController {
api.process(id, me) inject Redirect(routes.Report.list)
}
def xfiles(id: String) = Secure(_.SeeReport) { implicit ctx => me =>
api.moveToXfiles(id) inject Redirect(routes.Report.list)
}
def form = Auth { implicit ctx => implicit me =>
NotForKids {
get("username") ?? UserRepo.named flatMap { user =>

View File

@ -49,6 +49,9 @@
<input class="fbt@when(in.user.troll, " active")" type="submit" value="Shadowban" />
</form>
}
<form method="post" action="@routes.Report.xfiles(in.report.id)" data-hint="Move to X-Files" class="hint--bottom-left">
<input class="fbt@when(in.report.room.key == "xfiles", " active")" type="submit" value="X-Files" />
</form>
</div>
<div class="actions close">
<form action="@routes.Report.process(in.report.id)" method="post" data-hint="Dismiss this report as processed." class="process hint--bottom-left">

View File

@ -445,6 +445,7 @@ GET /report/list controllers.Report.list
GET /report/list/:room controllers.Report.listWithFilter(room: String)
POST /report/:id/inquiry controllers.Report.inquiry(id: String)
POST /report/:id/process controllers.Report.process(id: String)
POST /report/:id/xfiles controllers.Report.xfiles(id: String)
# QA
GET /qa controllers.QaQuestion.index(page: Option[Int] ?= None)

View File

@ -48,7 +48,6 @@ final class Env(
}), name = ActorName)
system.scheduler.schedule(1 minute, 1 minute) { api.inquiries.expire }
system.scheduler.schedule(1 hour, 1 hour) { api.moveToXfiles }
lazy val reportColl = db(CollectionReport)
}

View File

@ -180,6 +180,11 @@ final class ReportApi(
}
} >>- monitorUnprocessed
def moveToXfiles(id: String): Funit = coll.update(
$id(id),
$set("room" -> Room.Xfiles.key) ++ $unset("inquiry")
).void
private val unprocessedSelect: Bdoc = $doc(
"processedBy" $exists false,
"inquiry" $exists false
@ -292,12 +297,6 @@ final class ReportApi(
ReadPreference.secondaryPreferred
)
private[report] def moveToXfiles: Funit = coll.update(
unprocessedSelect ++ roomSelect(none) ++ $doc("createdAt" $lt DateTime.now.minusDays(5)),
$set("room" -> Room.Xfiles.key),
multi = true
).void
private def findRecent(nb: Int, selector: Bdoc) =
coll.find(selector).sort($sort.createdDesc).list[Report](nb)