mirror of
https://github.com/HangarMC/Hangar.git
synced 2025-03-01 15:17:07 +08:00
Some route and variable replacements
This commit is contained in:
parent
019d299142
commit
ef0017f322
@ -53,4 +53,11 @@
|
||||
* [ ] email
|
||||
* [ ] modal
|
||||
* [ ] prompt
|
||||
* [ ] userAvatar
|
||||
* [ ] userAvatar
|
||||
|
||||
---
|
||||
Notes to self (or anyone if they want to jump at it)
|
||||
* Search for `.isDefined`/`.get`/`.orElse` optional usage (left some behind)
|
||||
* `prettifyDateAndTime(x)` -> `x?string.long`
|
||||
* `projectRoutes.x(...)` -> `routes.getRouteUrl("projects.x", ...)`
|
||||
* `x.orElse(y)` -> `x!y`
|
@ -10,5 +10,5 @@ spring.freemarker.request-context-attribute=rc
|
||||
spring.jpa.database=POSTGRESQL
|
||||
spring.datasource.platform=postgres
|
||||
spring.datasource.url=jdbc:postgresql://localhost:5432/hangar
|
||||
spring.datasource.username=root
|
||||
spring.datasource.password=changeme
|
||||
spring.datasource.username=postgres
|
||||
spring.datasource.password=12345
|
||||
|
@ -9,9 +9,6 @@
|
||||
@import views.html.helper.{CSPNonce, CSRF, form}
|
||||
@(p: ProjectData, channels: Seq[(Model[Channel], Int)])(implicit messages: Messages, flash: Flash, request: OreRequest[_], config: OreConfig, assetsFinder: AssetsFinder)
|
||||
|
||||
@channelRoutes = @{controllers.project.routes.Channels}
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/channelManage.js" />"></script>
|
||||
<script @CSPNonce.attr>
|
||||
@ -19,8 +16,8 @@
|
||||
PROJECT_SLUG = '${p.project.slug}';
|
||||
$(function() {
|
||||
initChannelManager(
|
||||
"#channel-new", "", "@config.defaultChannelColor.hex", "New channel",
|
||||
"@channelRoutes.create(p.project.ownerName, p.project.slug)",
|
||||
"#channel-new", "", "${config.defaultChannelColor.hex}", "New channel",
|
||||
"${routes.getRouteUrl("channels.create", p.project.ownerName, p.project.slug)}",
|
||||
"post", "Create channel", false
|
||||
);
|
||||
});
|
||||
@ -45,21 +42,22 @@
|
||||
@channels.map { case (channel, versions) =>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="channel" style="background-color: @channel.color.hex">@channel.name</div>
|
||||
<div class="channel" style="background-color: ${channel.color.hex}">${channel.name}</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn btn-sm yellow" data-toggle="modal" data-target="#channel-settings" id="channel-edit-@channel.id">Edit</div>
|
||||
<div class="btn btn-sm yellow" data-toggle="modal" data-target="#channel-settings" id="channel-edit-${channel.id}">Edit</div>
|
||||
</td>
|
||||
<#if channels.size gt 1>
|
||||
<td>
|
||||
<div class="btn btn-sm yellow"
|
||||
<#if versions gt 0>
|
||||
id="channel-delete-@channel.id" data-toggle="modal"
|
||||
id="channel-delete-${channel.id}" data-toggle="modal"
|
||||
data-target="#modal-delete">
|
||||
<#else>
|
||||
id="channel-delete-${channel.id}" data-channel-delete="safe-delete"
|
||||
data-channel-id="${channel.id}">
|
||||
|
||||
<#-- routes.getRouteUrl("channels.delete", ...) -->
|
||||
@form(action = channelRoutes.delete(
|
||||
p.project.ownerName, p.project.slug, channel.name),
|
||||
Symbol("id") -> s"form-delete-${channel.id}",
|
||||
@ -76,7 +74,7 @@
|
||||
initChannelDelete('#channel-delete-${channel.id}', '${channel.name}', ${versions});
|
||||
initChannelManager(
|
||||
"#channel-edit-${channel.id}", "${channel.name}", "${channel.color.hex}",
|
||||
"Edit channel", "${channelRoutes.save(
|
||||
"Edit channel", "${routes.getRouteUrl("channels.save"
|
||||
p.project.ownerName, p.project.slug, channel.name)}",
|
||||
"post", "Save changes", ${channel.isNonReviewed}
|
||||
);
|
||||
@ -86,7 +84,7 @@
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
<a href="@versionRoutes.showList(p.project.ownerName, p.project.slug)"
|
||||
<a href="${routes.getRouteUrl("versions.showList", p.project.ownerName, p.project.slug)}"
|
||||
class="pull-left btn btn-default">
|
||||
<i class="fas fa-arrow-left"></i>
|
||||
</a>
|
||||
@ -100,7 +98,7 @@
|
||||
>
|
||||
<i class="fas fa-plus"></i>
|
||||
</a>
|
||||
@projects.channels.helper.modalManage()
|
||||
${projects.channels.helper.modalManage()}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -15,9 +15,6 @@ Versions page within Project overview.
|
||||
sp: ScopedProjectData,
|
||||
channels: Seq[Channel])(implicit messages: Messages, request: OreRequest[_], flash: Flash, config: OreConfig, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{ controllers.project.routes.Projects }
|
||||
@channelRoutes = @{ controllers.project.routes.Channels }
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/userSearch.js" />"></script>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/memberList.js" />"></script>
|
||||
@ -51,14 +48,14 @@ Versions page within Project overview.
|
||||
<ul class="list-group list-channel">
|
||||
@channels.sorted.map { channel =>
|
||||
<li class="list-group-item">
|
||||
<span class="channel" style="background-color: @channel.color.hex">@channel.name</span>
|
||||
<span class="channel" style="background-color: ${channel.color.hex}">${channel.name}</span>
|
||||
<input type="checkbox" class="pull-right"/>
|
||||
</li>
|
||||
}
|
||||
|
||||
<#if sp.perms(Permission.EditChannel)>
|
||||
<li class="list-group-item text-right">
|
||||
<a class="btn yellow btn-xs" href="@channelRoutes.showList(p.project.ownerName, p.project.slug)">
|
||||
<a class="btn yellow btn-xs" href="${routes.getRouteUrl("channels.showList", p.project.ownerName, p.project.slug)}">
|
||||
Edit
|
||||
</a>
|
||||
</li>
|
||||
@ -68,7 +65,7 @@ Versions page within Project overview.
|
||||
@users.memberList(
|
||||
j = p,
|
||||
perms = sp.permissions,
|
||||
settingsCall = projectRoutes.showSettings(p.project.ownerName, p.project.slug)
|
||||
settingsCall = ${routes.getUrl("projects.showSettings", p.project.ownerName, p.project.slug)}
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,12 +13,10 @@
|
||||
|
||||
@(project: Project, version: Version, visibilityChanges: Seq[(Model[VersionVisibilityChange], Option[User])])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
|
||||
@layout.base(messages("version.log.logger.title", project.namespace)) {
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1><@spring.message "version.log.visibility.title" /> <a href="@versionRoutes.show(project.ownerName, project.slug, version.versionString)">@project.ownerName/@project.slug/versions/@version.versionString</a></h1>
|
||||
<h1><@spring.message "version.log.visibility.title" /> <a href="${routes.getRouteUrl("versions.show", project.ownerName, project.slug, version.versionString)}">${project.ownerName}/${project.slug}/versions/${version.versionString}</a></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -11,8 +11,6 @@
|
||||
isTargetChannelNonReviewed: Boolean,
|
||||
downloadType: DownloadType)(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@versionRoutes = @{ controllers.project.routes.Versions }
|
||||
|
||||
@layout.base(messages("version.download.confirm.title") + " " + messages("version.download.confirm.header", project.ownerName, project.name, target.name)) {
|
||||
|
||||
<div class="row">
|
||||
@ -49,7 +47,7 @@
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<form action="@versionRoutes.confirmDownload(project.ownerName, project.slug, target.name, Some(downloadType.value), None, Some("dummy"))" method="post" id="form-download">
|
||||
<form action="${routes.getRouteUrl("versions.confirmDownload", project.ownerName, project.slug, target.name, Some(downloadType.value), "", "dummy")}" method="post" id="form-download">
|
||||
@CSRF.formField
|
||||
|
||||
<button type="submit" form="form-download" class="btn btn-danger pull-right-sm">
|
||||
|
@ -15,9 +15,6 @@
|
||||
@(v: VersionData, sp: ScopedProjectData)(implicit messages: Messages, request: OreRequest[_], flash: Flash, config: OreConfig, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
@reviewRoutes = @{controllers.routes.Reviews}
|
||||
@appRoutes = @{controllers.routes.Application}
|
||||
|
||||
@projects.view(v.p, sp, "#versions", noButtons = true) {
|
||||
|
||||
@ -26,8 +23,8 @@
|
||||
<div class="col-md-12 version-header">
|
||||
<!-- Title -->
|
||||
<div class="clearfix">
|
||||
<h1 class="pull-left">@v.v.versionString</h1>
|
||||
<span class="channel channel-head" style="background-color: @v.c.color.hex;">@v.c.name</span>
|
||||
<h1 class="pull-left">${v.v.versionString}</h1>
|
||||
<span class="channel channel-head" style="background-color: ${v.c.color.hex};">${v.c.name}</span>
|
||||
</div>
|
||||
|
||||
<!-- User info -->
|
||||
@ -35,7 +32,7 @@
|
||||
<a href="${routes.getRouteUrl("users.showProjects", v.p.project.ownerName)}">
|
||||
<strong>${v.p.project.ownerName}</strong>
|
||||
</a>
|
||||
released this version on ${prettifyDate(v.v.createdAt)}
|
||||
released this version on ${v.v.createdAt?string.long}
|
||||
</p>
|
||||
|
||||
<!-- Buttons -->
|
||||
@ -85,9 +82,9 @@
|
||||
|
||||
<#if request.headerData.globalPerm(Permission.Reviewer)>
|
||||
<#if v.v.reviewState.isChecked>
|
||||
<a href="@reviewRoutes.showReviews(v.p.project.ownerName, v.p.project.slug, v.v.versionString)" class="btn btn-info"><@spring.message "review.log" /></a>
|
||||
<a href="${routes.getRouteUrl("reviews.showReviews", v.p.project.ownerName, v.p.project.slug, v.v.versionString)}" class="btn btn-info"><@spring.message "review.log" /></a>
|
||||
<#else>
|
||||
<a href="@reviewRoutes.showReviews(v.p.project.ownerName, v.p.project.slug, v.v.versionString)" class="btn btn-success">
|
||||
<a href="${routes.getRouteUrl("showReviews", v.p.project.ownerName, v.p.project.slug, v.v.versionString)}" class="btn btn-success">
|
||||
<i class="fas fa-play"></i> <@spring.message "review.start" />
|
||||
</a>
|
||||
</#if>
|
||||
@ -114,7 +111,7 @@
|
||||
</#if>
|
||||
|
||||
<div class="btn-group btn-download">
|
||||
<a href="@versionRoutes.download(v.p.project.ownerName, v.p.project.slug, v.v.versionString, None)"
|
||||
<a href="${routes.getRouteUrl("versions.download", v.p.project.ownerName, v.p.project.slug, v.v.versionString, "")}"
|
||||
title="<@spring.message "project.download.recommend" />" data-toggle="tooltip"
|
||||
data-placement="bottom" class="btn btn-primary">
|
||||
<i class="fas fa-download"></i> <@spring.message "general.download" />
|
||||
@ -124,8 +121,8 @@
|
||||
<span class="sr-only">Toggle Dropdown</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li><a href="@versionRoutes.download(v.p.project.ownerName, v.p.project.slug, v.v.versionString, None)"><@spring.message "general.download" /></a></li>
|
||||
<li><a href="#" class="copy-url" data-clipboard-text="@config.app.baseUrl@versionRoutes.download(v.p.project.ownerName, v.p.project.slug, v.v.versionString, None)">Copy URL</a></li>
|
||||
<li><a href="${routes.getRouteUrl("versions.download", v.p.project.ownerName, v.p.project.slug, v.v.versionString, "")}"><@spring.message "general.download" /></a></li>
|
||||
<li><a href="#" class="copy-url" data-clipboard-text="${config.app.baseUrl}${routes.getRouteUrl("versions.download", v.p.project.ownerName, v.p.project.slug, v.v.versionString, "")}">Copy URL</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@ -136,7 +133,7 @@
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="admin-version-actions">
|
||||
<li><a href="@appRoutes.showLog(None, None, None, Some(v.v.versionString), None, None, None)">User Action Logs</a></li>
|
||||
<li><a href="${routes.getRouteUrl("showLog", "", "", "", v.v.versionString, "", "", "")}">User Action Logs</a></li>
|
||||
<#if request.headerData.globalPerm(Permission.Reviewer)>
|
||||
<#if v.v.visibility == Visibility.SoftDelete>
|
||||
<li><a href="#" data-toggle="modal" data-target="#modal-restore">Undo delete</a></li>
|
||||
|
@ -36,10 +36,10 @@
|
||||
case Right(review) => {
|
||||
<tr>
|
||||
<td>Review approved</td>
|
||||
<td>@prettifyDateAndTime(review.endedAt.getOrElse(OffsetDateTime.MIN)))</td>
|
||||
<td>${(review.endedAt!OffsetDateTime.MIN)?string.long}</td>
|
||||
<td>for:
|
||||
<a href="@controllers.routes.Reviews.showReviews(review.project.ownerName, review.project.slug, review.id.toString)">
|
||||
@review.project.ownerName / @review.project.slug
|
||||
<a href="${routes.getRouteUrl("reviews.showReviews", review.project.ownerName, review.project.slug, review.id.toString)}">
|
||||
${review.project.ownerName} / ${review.project.slug}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@ -47,10 +47,10 @@
|
||||
case Left(flag) => {
|
||||
<tr>
|
||||
<td>Flag resolved</td>
|
||||
<td>@prettifyDateAndTime(flag.resolvedAt.getOrElse(OffsetDateTime.MIN)))</td>
|
||||
<td>${(flag.resolvedAt!OffsetDateTime.MIN)?string.long}</td>
|
||||
<td>for:
|
||||
<a href="@controllers.project.routes.Projects.show(flag.project.ownerName, flag.project.slug)">
|
||||
@flag.project.ownerName / @flag.project.slug
|
||||
<a href="${routes.getRouteUrl("projects.show", flag.project.ownerName, flag.project.slug)}">
|
||||
${flag.project.ownerName} / ${flag.project.slug}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -14,7 +14,6 @@
|
||||
erroredJobs: Seq[Job])(implicit request: OreRequest[_], messages: Messages, config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
|
||||
<#assign message><@spring.message "admin.health.title" /></#assign>
|
||||
<@base.base title="${message}">
|
||||
@ -34,7 +33,7 @@
|
||||
@noTopicProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a class="pull-left" href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<strong>@project.namespace</strong>
|
||||
<strong>${project.namespace}</strong>
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
@ -50,7 +49,7 @@
|
||||
<div class="panel-body">
|
||||
@erroredJobs.map { job =>
|
||||
<div class="list-group-item">
|
||||
Jobtype: @job.info.jobType Error type: @job.info.lastErrorDescriptor.get Happened: @job.info.lastUpdated.get
|
||||
Jobtype: ${job.info.jobType} Error type: ${job.info.lastErrorDescriptor} Happened: ${job.info.lastUpdated}
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
}
|
||||
@ -68,7 +67,7 @@
|
||||
@staleProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<strong>@project.namespace</strong>
|
||||
<strong>${project.namespace}</strong>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
@ -84,7 +83,7 @@
|
||||
@notPublicProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<strong>@project.namespace</strong> <small><@spring.message "visibility.name." + project.visibility.nameKey /></small>
|
||||
<strong>${project.namespace}</strong> <small><@spring.message "visibility.name." + project.visibility.nameKey /></small>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
@ -111,8 +110,8 @@
|
||||
<div class="panel-body list-group list-group-health">
|
||||
@missingFileProjects.map { case (version, project) =>
|
||||
<div class="list-group-item">
|
||||
<a href="@versionRoutes.show(project.ownerName, project.slug, version.name)">
|
||||
<strong>@project.namespace/@version.name</strong>
|
||||
<a href="${routes.getRouteUrl("versions.show", project.ownerName, project.slug, version.name)}">
|
||||
<strong>${project.namespace}/${version.name}</strong>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
@ -12,8 +12,6 @@
|
||||
@import views.html.utils.userAvatar
|
||||
@(underReview: Seq[ReviewedQueueEntry], versions: Seq[NotStartedQueueEntry])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script @CSPNonce.attr type="text/javascript" src="<@hangar.url "javascripts/queue.js" />"></script>
|
||||
<script @CSPNonce.attr>
|
||||
@ -68,23 +66,23 @@
|
||||
@underReview.map { entry =>
|
||||
<tr <#if entry.isUnfinished && request.headerData.isCurrentUser(entry.reviewerId)>class="warning"</#if>>
|
||||
<td>
|
||||
<a href="@versionRoutes.show(entry.namespace.ownerName, entry.namespace.slug, entry.versionString)">
|
||||
@entry.namespace
|
||||
<a href="${routes.getRouteUrl("versions.show", entry.namespace.ownerName, entry.namespace.slug, entry.versionString)}">
|
||||
${entry.namespace}
|
||||
</a>
|
||||
<br>
|
||||
@entry.versionString
|
||||
<span class="channel" style="background-color: @entry.channelColor.hex">@entry.channelName</span>
|
||||
${entry.versionString}
|
||||
<span class="channel" style="background-color: ${entry.channelColor.hex}">${entry.channelName}</span>
|
||||
</td>
|
||||
<td>
|
||||
<#if entry.versionAuthor.isDefined>
|
||||
<a href="https://papermc.io/forums/users/@entry.versionAuthor.get">
|
||||
@entry.versionAuthor.get
|
||||
${entry.versionAuthor}
|
||||
</a>
|
||||
<#else>
|
||||
Unknown
|
||||
</#if>
|
||||
<br>
|
||||
@prettifyDateAndTime(entry.versionCreatedAt)
|
||||
${entry.versionCreatedAt?string.long}
|
||||
</td>
|
||||
<td style="text-align: right; max-width: 40px">
|
||||
<#if entry.isUnfinished>
|
||||
@ -99,13 +97,13 @@
|
||||
</td>
|
||||
<td <#if try.isUnfinished>style="color: darkred"</#if> >
|
||||
<#if entry.isUnfinished>
|
||||
@entry.reviewerName
|
||||
${entry.reviewerName}
|
||||
<br>
|
||||
<span data-ago="@entry.reviewStarted.toInstant.toEpochMilli" data-title="started "></span>
|
||||
<span data-ago="${entry.reviewStarted.toInstant.toEpochMilli}" data-title="started "></span>
|
||||
<#else>
|
||||
<strike>@entry.reviewerName</strike>
|
||||
<strike>${entry.reviewerName}</strike>
|
||||
<br>
|
||||
<span data-ago="@entry.reviewStarted.toInstant.toEpochMilli" data-title="abandoned "></span>
|
||||
<span data-ago="${entry.reviewStarted.toInstant.toEpochMilli}" data-title="abandoned "></span>
|
||||
</#if>
|
||||
</td>
|
||||
<td style="vertical-align: middle; text-align: right; padding-right: 15px;">
|
||||
@ -155,19 +153,19 @@
|
||||
@userAvatar(Some(entry.namespace.ownerName), User.avatarUrl(entry.namespace.ownerName), clazz = "user-avatar-xs")
|
||||
</td>
|
||||
<td>
|
||||
<a href="@versionRoutes.show(entry.namespace.ownerName, entry.namespace.slug, entry.versionString)">
|
||||
@entry.namespace
|
||||
<a href="${routes.getRouteUrl("versions.show", entry.namespace.ownerName, entry.namespace.slug, entry.versionString)}">
|
||||
${entry.namespace}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="faint">@prettifyDate(entry.versionCreatedAt)</span>
|
||||
<span class="minor">@entry.versionString</span>
|
||||
<span class="channel" style="background-color: @entry.channelColor.hex;">@entry.channelName</span>
|
||||
<span class="faint">${entry.versionCreatedAt?string.long}</span>
|
||||
<span class="minor">${entry.versionString}</span>
|
||||
<span class="channel" style="background-color: ${entry.channelColor.hex};">${entry.channelName}</span>
|
||||
</td>
|
||||
<td>
|
||||
<#if entry.versionAuthor.isDefined>
|
||||
<a href="https://papermc.io/forums/users/@entry.versionAuthor.get">
|
||||
@entry.versionAuthor.get
|
||||
<a href="https://papermc.io/forums/users/${entry.versionAuthor}">
|
||||
${entry.versionAuthor}
|
||||
</a>
|
||||
</#if>
|
||||
<br>
|
||||
|
@ -14,12 +14,9 @@
|
||||
@(mostRecentUnfinishedReview: Option[Review], reviews: Seq[(Model[Review], Option[String])], project: Project, version: Model[Version])(implicit messages: Messages,
|
||||
request: OreRequest[_], config: OreConfig, flash: Flash, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
@versionRoutes = @{controllers.project.routes.Versions}
|
||||
|
||||
<#macro scripts>
|
||||
<script @CSPNonce.attr type="text/javascript" src="<@hangar.url "javascripts/review.js" />"></script>
|
||||
<script @CSPNonce.attr>versionPath = '@helper.urlEncode(project.ownerName)/@helper.urlEncode(project.slug)/versions/@helper.urlEncode(version.name)'</script>
|
||||
<script @CSPNonce.attr>versionPath = '${helper.urlEncode(project.ownerName)}/${helper.urlEncode(project.slug)}/versions/${helper.urlEncode(version.name)}'</script>
|
||||
</#macro>
|
||||
|
||||
@layout.base(messages("review.title", project.name, version.name), scripts) {
|
||||
@ -33,14 +30,14 @@
|
||||
<a href="${routes.getRouteUrl("users.showProjects", project.ownerName)}">
|
||||
<strong>@project.ownerName</strong>
|
||||
</a>
|
||||
released this version on @prettifyDate(version.createdAt)
|
||||
released this version on ${version.createdAt?string.long}
|
||||
</p>
|
||||
<#if !version.reviewState.isChecked>
|
||||
<div class="pull-right">
|
||||
<span class="btn-group-sm">
|
||||
<a href="#" class="btn btn-info btn-skip-review"><#if version.reviewState != ReviewState.Backlog> Remove from queue <#else> Add to queue </#if></a>
|
||||
<a href="@projectRoutes.show(project.ownerName, project.slug)" class="btn btn-info">Project Page</a>
|
||||
<a href="@versionRoutes.downloadJar(project.ownerName, project.slug, version.versionString, None)" class="btn btn-info">Download File</a>
|
||||
<a href="${routes.getRouteUrl("projects.show", project.ownerName, project.slug)}" class="btn btn-info">Project Page</a>
|
||||
<a href="${routes.getRouteUrl("versions.downloadJar", project.ownerName, project.slug, version.versionString, "")}" class="btn btn-info">Download File</a>
|
||||
</span>
|
||||
<span class="btn-group-sm">
|
||||
<#if mostRecentUnfinishedReview.isDefined>
|
||||
@ -98,9 +95,9 @@
|
||||
@defining((t._1, t._2)) { case (item, name) =>
|
||||
<#if item.endedAt.isDefined>
|
||||
<#if reviews.size > (reviews.size - index)>
|
||||
<#if prettifyDateAndTime(item.endedAt.get).equalsIgnoreCase(prettifyDateAndTime(reviews.reverse(reviews.size - index - 1)._1.createdAt))>
|
||||
<#if (item.endedAt?string.long).equalsIgnoreCase(reviews.reverse(reviews.size - index - 1)._1.createdAt?string.long)>
|
||||
<tr>
|
||||
<td>@prettifyDateAndTime(item.endedAt.get)</td>
|
||||
<td>${item.endedAt?string.long}</td>
|
||||
<td>
|
||||
<strong>@name.getOrElse("Unknown")</strong>
|
||||
took over from
|
||||
@ -114,27 +111,27 @@
|
||||
</tr>
|
||||
<#else>
|
||||
<tr>
|
||||
<td>@prettifyDateAndTime(item.endedAt.get)</td>
|
||||
<td><strong>@name.getOrElse("Unknown")</strong> stopped</td>
|
||||
<td>${item.endedAt?string.long}</td>
|
||||
<td><strong>${name!"Unknown"}</strong> stopped</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#else>
|
||||
<#if version.approvedAt.isDefined>
|
||||
<tr>
|
||||
<td>@prettifyDateAndTime(item.endedAt.get)</td>
|
||||
<td><strong>@name.getOrElse("Unknown")</strong> approved</td>
|
||||
<td>${item.endedAt?string.long}</td>
|
||||
<td><strong>${name!"Unknown"}</strong> approved</td>
|
||||
</tr>
|
||||
<#else>
|
||||
<tr>
|
||||
<td>@prettifyDateAndTime(item.endedAt.get)</td>
|
||||
<td>${item.endedAt?string.long}</td>
|
||||
<td>
|
||||
<strong>@name.getOrElse("Unknown")</strong>
|
||||
<strong>${name!"Unknown"}</strong>
|
||||
stopped
|
||||
<br>
|
||||
<#if !item.decodeMessages.exists(_.isStop)>
|
||||
<i>- no message provided -</i>
|
||||
<#else>
|
||||
<i>@item.decodeMessages.filter(_.isStop).head.render</i>
|
||||
<i>${item.decodeMessages.filter(_.isStop).head.render}</i>
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
@ -143,18 +140,18 @@
|
||||
</#if>
|
||||
@item.decodeMessages.filterNot(_.isTakeover).filterNot(_.isStop).reverse.map { message =>
|
||||
<tr>
|
||||
<td>@message.getTime(messages.lang.locale)</td>
|
||||
<td>${message.getTime(messages.lang.locale)}</td>
|
||||
<td>
|
||||
<strong>@name.getOrElse("Unknown")</strong>
|
||||
<strong>${name!"Unknown"}</strong>
|
||||
added message
|
||||
<br>
|
||||
<i>@message.render</i>
|
||||
<i>${message.render}</i>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
<tr>
|
||||
<td>@prettifyDateAndTime(item.createdAt.value)</td>
|
||||
<td><strong>@name.getOrElse("Unknown")</strong> started a review</td>
|
||||
<td>${item.createdAt.value?string.long}</td>
|
||||
<td><strong>${name!"Unknown"}</strong> started a review</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
|
@ -9,8 +9,6 @@
|
||||
@(needsApproval: Seq[ProjectNeedsApproval],
|
||||
waitingProjects: Seq[ProjectNeedsApproval])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
@renderApprovalList(projectSeq: Seq[ProjectNeedsApproval]) = {
|
||||
<ul class="list-group list-flags-admin">
|
||||
<#if projectSeq.isEmpty>
|
||||
@ -23,20 +21,20 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-8">
|
||||
<span class="description">
|
||||
<strong>@project.changeRequester</strong>
|
||||
<strong>${project.changeRequester}</strong>
|
||||
<span class="minor"> requested changes on </span>
|
||||
<a href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
@project.namespace
|
||||
<a href="${routes.getRouteUrl("projects.show", project.namespace.ownerName, project.namespace.slug)}">
|
||||
${project.namespace}
|
||||
</a>
|
||||
</span>
|
||||
<p>
|
||||
<strong>Request:</strong>
|
||||
@renderer.render(project.comment)
|
||||
${renderer.render(project.comment)}
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<span class="pull-right btn-group-sm">
|
||||
@projects.helper.btnHide(project.namespace, project.visibility)
|
||||
${projects.helper.btnHide(project.namespace, project.visibility)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -63,7 +61,7 @@
|
||||
<h4 class="panel-title pull-left">Needs Approval</h4>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
@renderApprovalList(needsApproval)
|
||||
${renderApprovalList(needsApproval)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -78,7 +76,7 @@
|
||||
<h4 class="panel-title pull-left">Waiting Changes</h4>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
@renderApprovalList(waitingProjects)
|
||||
${renderApprovalList(waitingProjects)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user