implement manual moving of reports to X-Files
parent
39e0c40945
commit
b4dce5885a
|
@ -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 =>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue