MiniDigger/Hangar

View on GitHub
ore/app/views/projects/admin/flags.scala.html

Summary

Maintainability
Test Coverage
@import java.sql.Timestamp
@import java.time.Instant

@import controllers.sugar.Requests.OreRequest
@import models.viewhelper.ProjectData
@import ore.OreConfig
@import util.StringFormatterUtils._
@(p: ProjectData)(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash)

@projectRoutes = @{controllers.project.routes.Projects}

@layout.base(messages("project.flag.plural")) {
    <div class="row">
        <div class="col-md-12  header-flags">
            <div class="clearfix">
                <h1 class="pull-left">@messages("project.flag.plural") for <a href="@projectRoutes.show(p.project.ownerName, p.project.slug)">@p.project.ownerName/@p.project.slug</a></h1>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            @if(p.flagCount == 0) {
                <div class="alert-review alert alert-info" role="alert">
                    <i class="fas fa-info-circle"></i>
                    No flags found
                </div>
            } else {
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h4 class="panel-title pull-left">@messages("project.flag.plural")</h4>
                        <div class="clearfix"></div>
                    </div>
                    <table class="table table-condensed setting-no-border table-review-log">
                        <thead>
                            <tr>
                                <th>Submitter</th>
                                <th>Reason</th>
                                <th>When</th>
                                <th>Resolved</th>
                            </tr>
                        </thead>
                        <tbody>
                        @p.flags.map { case (flag, by, resolvedBy) =>
                        <tr>
                            <td>@by</td>
                            <td>@flag.reason, @flag.comment</td>
                            <td>@prettifyDateAndTime(flag.createdAt)</td>
                            @if(flag.isResolved) {
                                <td>@resolvedBy.get
                                    at @prettifyDateAndTime(flag.resolvedAt.getOrElse(Instant.EPOCH)))</td>
                            } else {
                                <td>-not resolved-</td>
                            }
                        </tr>
                        }
                        </tbody>
                    </table>
                    }
            </div>
        </div>
    </div>
}