mirror of
https://github.com/HangarMC/Hangar.git
synced 2025-03-01 15:17:07 +08:00
Last route calls, more variables
This commit is contained in:
parent
93e24c9e08
commit
3ab43a8c19
@ -57,7 +57,5 @@
|
||||
|
||||
---
|
||||
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`
|
||||
* Search for `.isDefined`/`.get`/`.orElse` optional usage (left some behind, `x.orElse(y)` -> `x!y`)
|
||||
* `prettifyDateAndTime(x)` -> `x?string.long`
|
@ -10,14 +10,12 @@
|
||||
@import util.StringFormatterUtils._
|
||||
@(p: ProjectData)(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign message><@spring.message "project.flag.plural" /></#assign>
|
||||
<@base.base title="${message}">
|
||||
<div class="row">
|
||||
<div class="col-md-12 header-flags">
|
||||
<div class="clearfix">
|
||||
<h1 class="pull-left"><@spring.message "project.flag.plural" /> for <a href="@projectRoutes.show(p.project.ownerName, p.project.slug)">@p.project.ownerName/@p.project.slug</a></h1>
|
||||
<h1 class="pull-left"><@spring.message "project.flag.plural" /> for <a href="${routes.getRouteUrl("projects.show", p.project.ownerName, p.project.slug)}">${p.project.ownerName}/${p.project.slug}</a></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -51,7 +49,7 @@
|
||||
<td>${prettifyDateAndTime(flag.createdAt)}</td>
|
||||
<#if flag.isResolved>
|
||||
<td>${resolvedBy.get}
|
||||
at ${prettifyDateAndTime(flag.resolvedAt.getOrElse(OffsetDateTime.MIN))}</td>
|
||||
at ${(flag.resolvedAt!OffsetDateTime.MIN)?string.long}</td>
|
||||
<#else>
|
||||
<td>-not resolved-</td>
|
||||
</#if>
|
||||
|
@ -14,20 +14,17 @@
|
||||
@import views.html.helper.CSPNonce
|
||||
@(project: Project, notes: Seq[(Note, Option[User])])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
<#assign scriptsVar>
|
||||
<script @CSPNonce.attr type="text/javascript" src="<@hangar.url "javascripts/notes.js" />"></script>
|
||||
<script @CSPNonce.attr>resourcePath = '@project.ownerName/@project.slug'</script>
|
||||
<script @CSPNonce.attr>resourcePath = '${project.ownerName}/${project.slug}'</script>
|
||||
</#assign>
|
||||
|
||||
|
||||
<#assign message><@spring.message "notes" /></#assign>
|
||||
<@base.base title="${message}" additionalScripts=scriptsVar>
|
||||
<div class="row">
|
||||
<div class="col-md-12 header-flags">
|
||||
<div class="clearfix">
|
||||
<h1 class="pull-left"><@spring.message "notes" /> for <a href="@projectRoutes.show(project.ownerName, project.slug)">@project.ownerName/@project.slug</a></h1>
|
||||
<h1 class="pull-left"><@spring.message "notes" /> for <a href="${routes.getRouteUrl("projects.show", project.ownerName, project.slug)}">${project.ownerName}/${project.slug}</a></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -58,8 +55,8 @@
|
||||
<tbody>
|
||||
@notes.map { case (note, user) =>
|
||||
<tr>
|
||||
<td class="note-fixed-with">${prettifyDateAndTime(OffsetDateTime.ofInstant(Instant.ofEpochMilli(note.time), ZoneOffset.UTC))}</td>
|
||||
<td class="note-fixed-with"><strong>${user.map(_.name).getOrElse("Unknown")}</strong></td>
|
||||
<td class="note-fixed-with">${(OffsetDateTime.ofInstant(Instant.ofEpochMilli(note.time), ZoneOffset.UTC))?string.long}</td>
|
||||
<td class="note-fixed-with"><strong>${user.map(_.name)!"Unknown"}</strong></td>
|
||||
<td>${note.render}</td>
|
||||
</tr>
|
||||
}
|
||||
|
@ -57,8 +57,7 @@
|
||||
id="channel-delete-${channel.id}" data-channel-delete="safe-delete"
|
||||
data-channel-id="${channel.id}">
|
||||
|
||||
<#-- routes.getRouteUrl("channels.delete", ...) -->
|
||||
@form(action = channelRoutes.delete(
|
||||
@form(action = routes.getRouteUrl("channels.delete",
|
||||
p.project.ownerName, p.project.slug, channel.name),
|
||||
Symbol("id") -> s"form-delete-${channel.id}",
|
||||
Symbol("class") -> "form-channel-delete") {
|
||||
|
@ -16,8 +16,6 @@ Page used for uploading and creating new projects.
|
||||
@import views.html.helper.{CSRF, form}
|
||||
@(createProjectOrgas: Seq[Model[Organization]], user: Model[User])(implicit messages: Messages, flash: Flash, request: OreRequest[_], config: OreConfig, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/projectCreateValidate.js" />"></script>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/pluginUpload.js" />"></script>
|
||||
@ -42,7 +40,7 @@ Page used for uploading and creating new projects.
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@form(action = projectRoutes.createProject()) {
|
||||
@form(action = routes.getRouteUrl("projects.createProject")) {
|
||||
@CSRF.formField
|
||||
<div class="form-group">
|
||||
<label for="projectName"><@spring.message "project.create.input.name" /></label>
|
||||
|
@ -14,8 +14,6 @@ Discussion page within Project overview.
|
||||
@(p: ProjectData, sp: ScopedProjectData)(implicit messages: Messages, request: OreRequest[_],
|
||||
flash: Flash, config: OreConfig, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script @CSPNonce.attr>
|
||||
DiscourseEmbed = {
|
||||
@ -47,7 +45,7 @@ Discussion page within Project overview.
|
||||
|
||||
<div class="push-down">
|
||||
@utils.editor(
|
||||
saveCall = projectRoutes.postDiscussionReply(p.project.ownerName, p.project.slug),
|
||||
saveCall = routes.getRouteUrl("projects.postDiscussionReply", p.project.ownerName, p.project.slug),
|
||||
cancellable = false,
|
||||
enabled = true
|
||||
)
|
||||
|
@ -15,8 +15,6 @@
|
||||
@(p: ProjectData, sp: ScopedProjectData, deploymentKey: Option[Model[ProjectApiKey]], iconUrl: String)(implicit messages: Messages, flash: Flash,
|
||||
request: OreRequest[_], config: OreConfig, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/projectManage.js" />"></script>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/hideProject.js" />"></script>
|
||||
@ -212,7 +210,7 @@
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
@form(action = projectRoutes.save(p.project.ownerName, p.project.slug), Symbol("id") -> "save",
|
||||
@form(action = routes.getRouteUrl("projects.save", p.project.ownerName, p.project.slug), Symbol("id") -> "save",
|
||||
Symbol("class") -> "pull-right") {
|
||||
@CSRF.formField
|
||||
<input type="hidden" id="update-icon" name="update-icon" value="false" />
|
||||
@ -229,8 +227,8 @@
|
||||
@users.memberList(p,
|
||||
editable = true,
|
||||
perms = sp.permissions,
|
||||
removeCall = projectRoutes.removeMember(p.project.ownerName, p.project.slug),
|
||||
settingsCall = projectRoutes.showSettings(p.project.ownerName, p.project.slug)
|
||||
removeCall = routes.getRouteUrl("projects.removeMember", p.project.ownerName, p.project.slug),
|
||||
settingsCall = routes.getRouteUrl("projects.showSettings", p.project.ownerName, p.project.slug)
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
@ -251,7 +249,7 @@
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="form-inline">
|
||||
@form(action = projectRoutes.rename(p.project.ownerName, p.project.slug), Symbol("id") -> "rename") {
|
||||
@form(action = routes.getRouteUrl("projects.rename", p.project.ownerName, p.project.slug), Symbol("id") -> "rename") {
|
||||
@CSRF.formField
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||
<@spring.message "channel.edit.close" />
|
||||
@ -273,7 +271,7 @@
|
||||
</button>
|
||||
<h4 class="modal-title" id="label-delete"><@spring.message "project.delete.title" /></h4>
|
||||
</div>
|
||||
@form(action = projectRoutes.softDelete(p.project.ownerName, p.project.slug)) {
|
||||
@form(action = routes.getRouteUrl("projects.softDelete", p.project.ownerName, p.project.slug)) {
|
||||
<div class="modal-body">
|
||||
<@spring.message "project.delete.info" />
|
||||
<br>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<#import "*/utils/hangar.ftlh" as hangar />
|
||||
<#import "*/layout/base.ftlh" as base />
|
||||
|
||||
@import controllers.project.{routes => projectRoutes}
|
||||
@import controllers.sugar.Requests.OreRequest
|
||||
@import models.querymodels.ViewTag
|
||||
@import ore.OreConfig
|
||||
@ -149,7 +148,7 @@
|
||||
}
|
||||
</#if>
|
||||
|
||||
@form(action = projectRoutes.Versions.upload(ownerName, projectSlug),
|
||||
@form(action = routes.getRouteUrl("versions.upload", ownerName, projectSlug),
|
||||
Symbol("enctype") -> "multipart/form-data", Symbol("id") -> "form-upload") {
|
||||
@CSRF.formField
|
||||
<label class="btn btn-default pull-left" for="pluginFile">
|
||||
@ -163,7 +162,7 @@
|
||||
<#if pending.isDefined>
|
||||
@* Ready to go! *@
|
||||
@defining(pending.get) { version: PendingVersion =>
|
||||
@form(action = projectRoutes.Versions.publish(
|
||||
@form(action = routes.getRouteUrl("versions.publish",
|
||||
ownerName, projectSlug, version.versionString),
|
||||
Symbol("id") -> "form-publish", Symbol("class") -> "pull-right") {
|
||||
@CSRF.formField
|
||||
|
@ -14,8 +14,6 @@
|
||||
@import views.html.utils.editor
|
||||
@(v: VersionData, sp: ScopedProjectData)(implicit messages: Messages, request: OreRequest[_], flash: Flash, config: OreConfig, renderer: MarkdownRenderer, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
@projects.view(v.p, sp, "#versions", noButtons = true) {
|
||||
|
||||
<!-- Version header -->
|
||||
@ -203,8 +201,7 @@
|
||||
@v.filteredDependencies.map { case (depend, project)=>
|
||||
<li class="list-group-item">
|
||||
<#if project.isDefined>
|
||||
<a href="@projectRoutes.show(
|
||||
project.get.ownerName, project.get.slug)">
|
||||
<a href="${routes.getRouteUrl("projects.show", project.get.ownerName, project.get.slug)}">
|
||||
<strong>${project.get.name}</strong>
|
||||
</a>
|
||||
<#else>
|
||||
@ -215,7 +212,7 @@
|
||||
data-toggle="tooltip" data-placement="right"></i>
|
||||
</div>
|
||||
</#if>
|
||||
<p class="version-string">@depend.version</p>
|
||||
<p class="version-string">${depend.version}</p>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
|
@ -13,8 +13,6 @@
|
||||
@* project perms for all visibilities *@
|
||||
@(flags: Seq[ShownFlag])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign scriptsVar>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/flags.js" />"></script>
|
||||
<script type="text/javascript" src="<@hangar.url "javascripts/hideProject.js" />"></script>
|
||||
@ -42,16 +40,16 @@
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-11">
|
||||
<span class="description">
|
||||
<strong>@flag.reporter</strong>
|
||||
<strong>${flag.reporter}</strong>
|
||||
<span class="minor"> reported </span>
|
||||
<a href="@projectRoutes.show(flag.projectOwnerName, flag.projectSlug)">
|
||||
@flag.projectNamespace
|
||||
<a href="${routes.getRouteUrl("projects.show", flag.projectOwnerName, flag.projectSlug)}">
|
||||
${flag.projectNamespace}
|
||||
</a>
|
||||
<span class="minor"> for </span>
|
||||
<strong>@flag.flagReason.title</strong>
|
||||
<strong>${flag.flagReason.title}</strong>
|
||||
<span class="minor"> at </span>
|
||||
<strong>@prettifyDateAndTime(flag.flagCreationDate)</strong>
|
||||
<br><i class="minor">@flag.flagComment</i>
|
||||
<strong>${flag.flagCreationDate?string.long}</strong>
|
||||
<br><i class="minor">${flag.flagComment}</i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
@ -62,7 +60,7 @@
|
||||
<a target="_blank" rel="noopener" href="https://papermc.io/forums/users/@flag.projectOwnerName" class="btn btn-default">
|
||||
<i class="fas fa-reply"></i> <@spring.message "user.flags.messageOwner" />
|
||||
</a>
|
||||
@projects.helper.btnHide(flag.projectNamespace, flag.projectVisibility)
|
||||
${projects.helper.btnHide(flag.projectNamespace, flag.projectVisibility)}
|
||||
<button type="submit" class="btn btn-primary btn-resolve">
|
||||
<i class="fas fa-check"></i> <strong><@spring.message "user.flags.markResolved" /></strong>
|
||||
</button>
|
||||
|
@ -13,8 +13,6 @@
|
||||
missingFileProjects: Seq[(Version, Project)],
|
||||
erroredJobs: Seq[Job])(implicit request: OreRequest[_], messages: Messages, config: OreConfig, flash: Flash, assetsFinder: AssetsFinder)
|
||||
|
||||
@projectRoutes = @{controllers.project.routes.Projects}
|
||||
|
||||
<#assign message><@spring.message "admin.health.title" /></#assign>
|
||||
<@base.base title="${message}">
|
||||
|
||||
@ -32,7 +30,7 @@
|
||||
<div class="panel-body list-group list-group-health">
|
||||
@noTopicProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a class="pull-left" href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<a class="pull-left" href="${routes.getRouteUrl("projects.show", project.namespace.ownerName, project.namespace.slug)}">
|
||||
<strong>${project.namespace}</strong>
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
@ -66,7 +64,7 @@
|
||||
<div class="panel-body list-group list-group-health">
|
||||
@staleProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<a href="${routes.getRouteUrl("projects.show", project.namespace.ownerName, project.namespace.slug)}">
|
||||
<strong>${project.namespace}</strong>
|
||||
</a>
|
||||
</div>
|
||||
@ -82,7 +80,7 @@
|
||||
<div class="panel-body list-group list-group-health">
|
||||
@notPublicProjects.map { project =>
|
||||
<div class="list-group-item">
|
||||
<a href="@projectRoutes.show(project.namespace.ownerName, project.namespace.slug)">
|
||||
<a href="${routes.getRouteUrl("projects.show", project.namespace.ownerName, project.namespace.slug)}">
|
||||
<strong>${project.namespace}</strong> <small><@spring.message "visibility.name." + project.visibility.nameKey /></small>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -2,8 +2,6 @@
|
||||
<#import "*/utils/hangar.ftlh" as hangar />
|
||||
<#import "*/layout/base.ftlh" as base />
|
||||
|
||||
@import controllers.project.{routes => projectRoutes}
|
||||
@import controllers.routes.{Application => appRoutes, Users => userRoutes}
|
||||
@import controllers.sugar.Requests.OreRequest
|
||||
@import ore.OreConfig
|
||||
@import ore.db.{DbRef, Model}
|
||||
@ -33,12 +31,12 @@
|
||||
<div class="col-md-3">
|
||||
<h4>Active Filters:</h4>
|
||||
<table class="table table-super-condensed">
|
||||
<tr><td class="filter-user">User</td> <td>@userFilter.getOrElse("-")</td></tr>
|
||||
<tr><td class="filter-project">Project</td> <td>@projectFilter.getOrElse("-")</td></tr>
|
||||
<tr><td class="filter-version">Version</td> <td>@versionFilter.getOrElse("-")</td></tr>
|
||||
<tr><td class="filter-page">Page</td><td>@pageFilter.getOrElse("-") </td></tr>
|
||||
<tr><td class="filter-action">Action</td><td>@LoggedActionType.withValueOpt(actionFilter.getOrElse("")).getOrElse("-")</td></tr>
|
||||
<tr><td class="filter-subject">Subject</td><td>@subjectFilter.getOrElse("-")</td></tr>
|
||||
<tr><td class="filter-user">User</td> <td>${userFilter!"-"}</td></tr>
|
||||
<tr><td class="filter-project">Project</td> <td>${projectFilter!"-"}</td></tr>
|
||||
<tr><td class="filter-version">Version</td> <td>${versionFilter!"-"}</td></tr>
|
||||
<tr><td class="filter-page">Page</td><td>${pageFilter!"-"} </td></tr>
|
||||
<tr><td class="filter-action">Action</td><td>${LoggedActionType.withValueOpt(actionFilter!"")!"-"}</td></tr>
|
||||
<tr><td class="filter-subject">Subject</td><td>${subjectFilter!"-"}</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@ -46,7 +44,7 @@
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title pull-left"><@spring.message "admin.log.title" /> · Page #@page</h4>
|
||||
<h4 class="panel-title pull-left"><@spring.message "admin.log.title" /> · Page #${page}</h4>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@ -69,65 +67,65 @@
|
||||
</#if>
|
||||
@actions.zipWithIndex.map { case (action, index) =>
|
||||
<tr>
|
||||
<td><b>@{offset + index + 1}</b></td>
|
||||
<td><b>${offset + index + 1}</b></td>
|
||||
<td>
|
||||
<a href="@userRoutes.showProjects(action.userName)">@action.userName</a>
|
||||
<small class="filter-user">(<a href="@appRoutes.showLog(Some(page), Some(action.userName), projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)">@action.userName</a>)</small>
|
||||
<a href="${routes.getRouteUrl("users.showProjects", action.userName)}">${action.userName}</a>
|
||||
<small class="filter-user">(<a href="${routes.getRouteUrl("showLog", page, action.userName, projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)}">${action.userName}</a>)</small>
|
||||
</td>
|
||||
|
||||
<#if canViewIP>
|
||||
<td>@action.address.value</td>
|
||||
<td>${action.address.value}</td>
|
||||
</#if>
|
||||
<td>@prettifyDateAndTime(action.createdAt)</td>
|
||||
<td>${action.createdAt?string.long}</td>
|
||||
<td>
|
||||
@action.action
|
||||
<small class="filter-action">(<a href="@appRoutes.showLog(Some(page), userFilter, projectFilter, versionFilter, pageFilter, Some(action.action.value), subjectFilter)">@action.action.value</a>)</small>
|
||||
${action.action}
|
||||
<small class="filter-action">(<a href="${routes.getRouteUrl("showLog", page, userFilter, projectFilter, versionFilter, pageFilter, action.action.value, subjectFilter)}">${action.action.value}</a>)</small>
|
||||
</td>
|
||||
<#if action.actionContext == LoggedActionContext.User || action.actionContext == LoggedActionContext.Organization>
|
||||
<td>
|
||||
<a href="@userRoutes.showProjects(action.subject.username.getOrElse("Unknown"))">@action.subject.username</a>
|
||||
<small class="filter-subject">(<a href="@appRoutes.showLog(Some(page), userFilter, projectFilter, versionFilter, pageFilter, actionFilter, action.subject.username)">@action.subject.username</a>)</small>
|
||||
<a href="${routes.getRouteUrl("users.showProjects", action.subject.username!"Unknown")}">${action.subject.username}</a>
|
||||
<small class="filter-subject">(<a href="${routes.getRouteUrl("showLog", page, userFilter, projectFilter, versionFilter, pageFilter, actionFilter, action.subject.username)}">${action.subject.username}</a>)</small>
|
||||
</td>
|
||||
<#elseif action.project.id.isEmpty>
|
||||
<td>
|
||||
Resource deleted
|
||||
<#if action.actionContext == LoggedActionContext.Project || action.actionContext == LoggedActionContext.ProjectPage>
|
||||
<small class="filter-project">(<a href="@appRoutes.showLog(Some(page), userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)">@action.project.pluginId</a>)</small>
|
||||
<small class="filter-project">(<a href="${routes.getRouteUrl("showLog", page, userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)}">${action.project.pluginId}</a>)</small>
|
||||
<#else>
|
||||
<small class="filter-version">(<a href="@appRoutes.showLog(Some(page), userFilter, projectFilter, action.version.versionString, pageFilter, actionFilter, subjectFilter)">@action.version.versionString</a>)</small>
|
||||
<small class="filter-version">(<a href="${routes.getRouteUrl("showLog", page, userFilter, projectFilter, action.version.versionString, pageFilter, actionFilter, subjectFilter)}">${action.version.versionString}</a>)</small>
|
||||
</#if>
|
||||
</td>
|
||||
<#elseif action.actionContext == LoggedActionContext.Project>
|
||||
<td>
|
||||
<a href="@projectRoutes.Projects.show(action.project.ownerName.getOrElse("Unknown"), action.project.slug.getOrElse("Unknown"))">@action.project.ownerName/@action.project.slug.getOrElse("Unknown")</a>
|
||||
<small class="filter-project">(<a href="@appRoutes.showLog(Some(page), userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)">@action.project.pluginId</a>)</small>
|
||||
<a href="${routes.getRouteUrl("projects.show", action.project.ownerName!"Unknown", action.project.slug!"Unknown")}">${action.project.ownerName}/${action.project.slug!"Unknown"}</a>
|
||||
<small class="filter-project">(<a href="${routes.getRouteUrl("showLog", page, userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)}">${action.project.pluginId}</a>)</small>
|
||||
</td>
|
||||
<#elseif action.actionContext == LoggedActionContext.ProjectPage>
|
||||
<td>
|
||||
<a href="@projectRoutes.Pages.show(action.project.ownerName.getOrElse("Unknown"), action.project.slug.getOrElse("Unknown"), action.page.slug.getOrElse("Unknown"))">@action.project.ownerName.getOrElse("Unknown")/@action.project.slug.getOrElse("Unknown")/@action.page.slug.getOrElse("Unknown")</a>
|
||||
<small class="filter-project">(<a href="@appRoutes.showLog(Some(page), userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)">@action.project.pluginId</a>)</small>
|
||||
<small class="filter-page">(<a href="@appRoutes.showLog(Some(page), userFilter, projectFilter, versionFilter, action.page.id, actionFilter, subjectFilter)">@action.page.id</a>)</small>
|
||||
<a href="${routes.getRouteUrl("pages.show", action.project.ownerName!"Unknown", action.project.slug!"Unknown", action.page.slug!"Unknown")}">${action.project.ownerName!"Unknown"}/${action.project.slug!"Unknown"}/${action.page.slug!"Unknown"}</a>
|
||||
<small class="filter-project">(<a href="${routes.getRouteUrl("showLog", page, userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)}">${action.project.pluginId}</a>)</small>
|
||||
<small class="filter-page">(<a href="${routes.getRouteUrl("showLog", page, userFilter, projectFilter, versionFilter, action.page.id, actionFilter, subjectFilter)}">${action.page.id}</a>)</small>
|
||||
</td>
|
||||
<#elseif action.actionContext == LoggedActionContext.Version>
|
||||
<td>
|
||||
<a href="@projectRoutes.Versions.show(action.project.ownerName.getOrElse("Unknown"), action.project.slug.getOrElse("Unknown"), action.version.versionString.getOrElse("Unknown"))">@action.project.ownerName.getOrElse("Unknown")/@action.project.slug.getOrElse("Unknown")/@action.version.versionString.getOrElse("Unknown")</a>
|
||||
<small class="filter-project">(<a href="@appRoutes.showLog(Some(page), userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)">@action.project.pluginId</a>)</small>
|
||||
<small class="filter-version">(<a href="@appRoutes.showLog(Some(page), userFilter, projectFilter, action.version.versionString, pageFilter, actionFilter, subjectFilter)">@action.version.versionString</a>)</small>
|
||||
<a href="${routes.getRouteUrl("versions.show", action.project.ownerName!"Unknown", action.project.slug!"Unknown", action.version.versionString!"Unknown")}">${action.project.ownerName!"Unknown"}/${action.project.slug!"Unknown"}/${action.version.versionString!"Unknown"}</a>
|
||||
<small class="filter-project">(<a href="${routes.getRouteUrl("showLog", page, userFilter, action.project.pluginId, versionFilter, pageFilter, actionFilter, subjectFilter)}">${action.project.pluginId}</a>)</small>
|
||||
<small class="filter-version">(<a href="${routes.getRouteUrl("showLog", page, userFilter, projectFilter, action.version.versionString, pageFilter, actionFilter, subjectFilter)}">${action.version.versionString}</a>)</small>
|
||||
</td>
|
||||
</#if>
|
||||
@* Show diff only when page edit *@
|
||||
<#if action.action == LoggedActionType.ProjectPageEdited || action.action == LoggedActionType.VersionDescriptionEdited>
|
||||
<td>
|
||||
<a href="#" class="data-view-old" data-view="@{offset + index}">View</a>
|
||||
<textarea style="display: none" data-oldstate="@{offset + index}">@action.oldState</textarea>
|
||||
<a href="#" class="data-view-old" data-view="${offset + index}">View</a>
|
||||
<textarea style="display: none" data-oldstate="${offset + index}">${action.oldState}</textarea>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" class="data-view-new" data-view="@{offset + index}">View</a> <small>(<a href="#" class="data-diff" data-diff="@{offset + index}">Show diff</a>)</small>
|
||||
<textarea style="display: none" data-newstate="@{offset + index}">@action.newState</textarea>
|
||||
<a href="#" class="data-view-new" data-view="${offset + index}">View</a> <small>(<a href="#" class="data-diff" data-diff="${offset + index}">Show diff</a>)</small>
|
||||
<textarea style="display: none" data-newstate="${offset + index}">${action.newState}</textarea>
|
||||
</td>
|
||||
<#else>
|
||||
<td>@action.oldState</td>
|
||||
<td>@action.newState</td>
|
||||
<td>${action.oldState}</td>
|
||||
<td>${action.newState}</td>
|
||||
</#if>
|
||||
</tr>
|
||||
}
|
||||
@ -136,10 +134,10 @@
|
||||
</div>
|
||||
<div class="panel-heading" style="display:block">
|
||||
<#if page gt 1>
|
||||
<h4 class="panel-title pull-left"><a href="@appRoutes.showLog(Some(page-1), userFilter, projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)">← @{page - 1}</a></h4>
|
||||
<h4 class="panel-title pull-left"><a href="${routes.getRouteUrl("showLog", page-1, userFilter, projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)}">← ${page - 1}</a></h4>
|
||||
</#if>
|
||||
<#if offset + limit < size>
|
||||
<h4 class="panel-title pull-right"><a href="@appRoutes.showLog(Some(page+1), userFilter, projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)">@{page + 1} →</a></h4>
|
||||
<h4 class="panel-title pull-right"><a href="${routes.getRouteUrl("showLog", page+1, userFilter, projectFilter, versionFilter, pageFilter, actionFilter, subjectFilter)}">${page + 1} →</a></h4>
|
||||
</#if>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
@ -1,7 +1,6 @@
|
||||
<#import "/spring.ftl" as spring />
|
||||
<#import "*/utils/hangar.ftlh" as hangar />
|
||||
|
||||
@import controllers.project.{routes => projectRoutes}
|
||||
@import controllers.routes.{Users => userRoutes}
|
||||
@import controllers.sugar.Requests.OreRequest
|
||||
@import models.viewhelper.{OrganizationData, ScopedOrganizationData, UserData}
|
||||
@ -46,15 +45,15 @@
|
||||
@o.get._1.projectRoles.map { case (role, project) =>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="@projectRoutes.Projects.show(project.ownerName, project.slug)">@project.ownerName/@project.slug</a>
|
||||
<span class="minor">@role.role.title</span>
|
||||
<a href="${routes.getRouteUrl("projects.show", project.ownerName, project.slug)}">${project.ownerName}/${project.slug}</a>
|
||||
<span class="minor">${role.role.title}</span>
|
||||
</td>
|
||||
<td>
|
||||
<#if role.role != Role.ProjectOwner>
|
||||
<#if role.isAccepted>
|
||||
<button class="btn btn-sm btn-danger pull-right btn-invite" data-invite-id="@role.id" data-invite-behalf="@u.user.name" data-invite-accepted="decline">Leave</button>
|
||||
<button class="btn btn-sm btn-danger pull-right btn-invite" data-invite-id="${role.id}" data-invite-behalf="${u.user.name}" data-invite-accepted="decline">Leave</button>
|
||||
<#else>
|
||||
<button class="btn btn-sm btn-info pull-right btn-invite" data-invite-id="@role.id" data-invite-behalf="@u.user.name" data-invite-accepted="accept">Join</button>
|
||||
<button class="btn btn-sm btn-info pull-right btn-invite" data-invite-id="${role.id}" data-invite-behalf="${u.user.name}" data-invite-accepted="accept">Join</button>
|
||||
</#if>
|
||||
</#if>
|
||||
</td>
|
||||
@ -78,7 +77,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
@userAvatar(Some(organization.name), user.avatarUrl, clazz = "user-avatar-xxs")
|
||||
<a href="@userRoutes.showProjects(organization.name)">
|
||||
<a href="${routes.getRouteUrl("users.showProjects", organization.name)}">
|
||||
${organization.name}
|
||||
</a>
|
||||
<div class="pull-right">
|
||||
|
Loading…
Reference in New Issue
Block a user