Fixed several links in ccm-admin

Jens Pelzetter 2021-01-12 21:12:51 +01:00
parent d4b27e04c9
commit c2dbc40923
20 changed files with 53 additions and 82 deletions

View File

@ -38,16 +38,11 @@ public interface AdminPage {
Set<Class<?>> getControllerClasses();
/**
* A identifier to use by {@link MvcContext#uri(java.lang.String)} to
* generate the URI of the page. The identifier has the same format as used
* in JavaDoc:
* <pre>
* ControllerSimpleClassName#methodName
* </pre>
* The URI fragment of the page behind {@code /@admin}.
*
* @return The identifier to use for generating the URL of the page
* @return The URI fragment of the page behind {@code /@admin}.
*/
String getUriIdentifier();
String getPageUri();
/**
* Gets the resourcebundle which provides the label of the admin page.

View File

@ -29,7 +29,7 @@ import java.util.Comparator;
*/
public class AdminPageModel implements Comparable<AdminPageModel> {
private String uriIdentifier;
private String pageUri;
private String label;
@ -39,12 +39,12 @@ public class AdminPageModel implements Comparable<AdminPageModel> {
private long position;
public String getUriIdentifier() {
return uriIdentifier;
public String getPageUri() {
return pageUri;
}
protected void setUriIdentifier(final String uriIdentifier) {
this.uriIdentifier = uriIdentifier;
protected void setPageUri(final String pageUri) {
this.pageUri = pageUri;
}
public String getLabel() {

View File

@ -81,7 +81,7 @@ public class AdminPagesModel {
);
final AdminPageModel model = new AdminPageModel();
model.setUriIdentifier(fromAdminPage.getUriIdentifier());
model.setPageUri(fromAdminPage.getPageUri());
model.setLabel(labelBundle.getString(fromAdminPage.getLabelKey()));
model.setDescription(
descriptionBundle.getString(

View File

@ -58,11 +58,8 @@ public class ApplicationsPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getApplicationTypes",
ApplicationsController.class.getSimpleName()
);
public String getPageUri() {
return "/applications";
}
@Override

View File

@ -46,11 +46,8 @@ public class CategoriesPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getCategorySystems",
CategorySystemsController.class.getSimpleName()
);
public String getPageUri() {
return "/categorymanager/categorysystems";
}
@Override

View File

@ -44,10 +44,8 @@ public class ConfigurationPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getSettings", ConfigurationController.class.getSimpleName()
);
public String getPageUri() {
return "/configuration";
}
@Override

View File

@ -42,10 +42,8 @@ public class DashboardPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getDashboard", DashboardController.class.getSimpleName()
);
public String getPageUri() {
return "/";
}
@Override

View File

@ -41,10 +41,8 @@ public class ImExportPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getImExportDashboard", ImExportController.class.getSimpleName()
);
public String getPageUri() {
return "/imexport";
}
@Override

View File

@ -42,10 +42,8 @@ public class SitesPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getSites", SitesController.class.getSimpleName()
);
public String getPageUri() {
return "/sites";
}
@Override

View File

@ -23,9 +23,7 @@ import org.libreccm.security.AuthorizationRequired;
import org.libreccm.security.RequiresPrivilege;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.mvc.Controller;
import javax.mvc.MvcContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;

View File

@ -42,11 +42,8 @@ public class SystemInformationPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getSystemInformation",
SystemInformationController.class.getSimpleName()
);
public String getPageUri() {
return "/systeminformation";
}
@Override

View File

@ -42,10 +42,8 @@ public class ThemesPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getThemes", ThemesController.class.getSimpleName()
);
public String getPageUri() {
return "/themes";
}
@Override

View File

@ -53,11 +53,8 @@ public class UsersGroupsRolesPage implements AdminPage {
}
@Override
public String getUriIdentifier() {
return String.format(
"%s#getOverview",
UsersGroupsRolesController.class.getSimpleName()
);
public String getPageUri() {
return "/users-groups-roles";
}
@Override

View File

@ -13,7 +13,7 @@
<ui:define name="breadcrumb">
<li class="breadcrumb-item">
<a href="#{mvc.uri('CategorySystemsController#getCategorySystems')}">
<a href="#{mvc.basePath}/categorymanager/categorysystems">
#{AdminMessages['categorymanager.label']}
</a>
</li>
@ -80,7 +80,7 @@
</dl>
<div class="mb-4">
<a class="btn btn-primary"
href="#{mvc.uri('CategorySystemsController#editCategorySystem', {'categorySystemIdentifier': CategorySystemDetailsModel.identifier } )}">
href="#{mvc.basePath}/#{mvc.basePath}/categorymanager/categorysystems/#{CategorySystemDetailsModel.identifier}/edit">
<bootstrap:svgIcon icon="pen" />
<span>#{AdminMessages['categorysystems.details.edit']}</span>
</a>
@ -157,7 +157,7 @@
#{AdminMessages['categorysystems.details.owners.heading']}
</h2>
<div class="mb-2">
<bootstrap:modalForm actionTarget="#{mvc.uri('CategorySystemsController#addOwner', {'categorySystemIdentifier': CategorySystemDetailsModel.identifier })}"
<bootstrap:modalForm actionTarget="#{mvc.basePath}/#{mvc.basePath}/categorymanager/categorysystems/#{CategorySystemDetailsModel.identifier}/owners/add"
buttonIcon="plus-circle"
buttonText="#{AdminMessages['categorysystems.details.owners.add']}"
buttonTextClass="text-right"
@ -308,7 +308,7 @@
<div class="mb-2">
<div class="text-right">
<a class="btn btn-secondary"
href="#{mvc.uri('CategoriesController#newSubCategory', {'categoryIdentifier': CategorySystemDetailsModel.rootIdentifier})}">
href="#{mvc.basePath}/categorymanager/categories/#{CategorySystemsIdentifier.rootIdentifier}/subcategories/new">
<bootstrap:svgIcon icon="plus-circle" />
<span>#{AdminMessages['categorysystems.details.categories.add']}</span>
</a>
@ -346,7 +346,7 @@
var="category">
<tr>
<td>
<a href="#{mvc.uri('CategoriesController#getCategory', { 'categoryIdentifier': category.identifier})}">
<a href="#{mvc.basePath}/categorymanager/categories/#{category.identifier}">
#{category.name}
</a>
</td>
@ -382,7 +382,7 @@
</td>
<td>
<c:if test="#{category.categoryOrder != 0}">
<form action="#{mvc.uri('CategoriesController#reorderSubCategory', {'categoryIdentifier': CategorySystemDetailsModel.rootIdentifier, 'subCategoryIdentifier': category.identifier})}"
<form action="#{mvc.basePath}/categorymanager/#{CategorySystemDetailsModel.rootIdentifier}/subcategories/#{category.identifier}/reorder"
method="post">
<input name="direction"
type="hidden"
@ -397,7 +397,7 @@
</td>
<td>
<c:if test="#{category.categoryOrder lt CategorySystemDetailsModel.categories.size()}">
<form action="#{mvc.uri('CategoriesController#reorderSubCategory', {'categoryIdentifier': CategorySystemDetailsModel.rootIdentifier, 'subCategoryIdentifier': category.identifier})}"
<form action="#{mvc.basePath}/categorymanager/categories/#{CategorySystemDetailsModel.rootIdentifier}/subcategories/#{category.identifier/reorder}"
method="post">
<input name="direction"
value="INCREASE"
@ -412,7 +412,7 @@
</td>
<td>
<libreccm:deleteDialog
actionTarget="#{mvc.uri('CategoriesController#removeSubCategory', {'categoryIdentifier': category.identifier})}"
actionTarget="#{mvc.basePath}/categorymanager/categories/#{category.identifier}/subcategories/remove"
buttonText="#{AdminMessages['categories.details.subcategories.delete']}"
buttonTextClass="text-center"
cancelLabel="#{AdminMessages['categories.details.subcategories.delete.cancel']}"

View File

@ -29,8 +29,8 @@
<ul class="navbar-nav mr-auto">
<c:forEach items="#{AdminPagesModel.adminPages}" var="page">
<li class="nav-item">
<a class="nav-link #{activePage == page.uriIdentifier?'active':''}"
href="#{mvc.uri(page.uriIdentifier)}">
<a class="nav-link #{activePage == page.pageUri?'active':''}"
href="#{mvc.basePath}#{page.pageUri}">
<svg class="bi"
width="1em"
height="1em"

View File

@ -30,10 +30,10 @@
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg##{page.icon}" />
</svg>
<div class="card-body"
id="admin-page-#{page.uriIdentifier}-body">
id="admin-page-#{page.pageUri}-body">
<h2 class="card-title">
<a class="stretched-link"
href="#{mvc.uri(page.uriIdentifier)}">
href="#{mvc.basePath}#{page.pageUri}">
#{page.label}
</a>
</h2>

View File

@ -13,7 +13,7 @@
<ui:define name="breadcrumb">
<li class="breadcrumb-item">
<a href="#{mvc.uri('SitesController#getSites')}">
<a href="#{mvc.basePath}/sites">
#{AdminMessages['sites.label']}
</a>
</li>
@ -53,7 +53,7 @@
<div class="mb-4">
<a class="btn btn-primary"
href="#{mvc.uri('SitesController#editSite', {'siteIdentifier': SiteDetailsModel.identifier } )}">
href="#{mvc.basePath}/sites/#{SiteDetailsModel.identifier}/edit">
<bootstrap:svgIcon icon="pen" />
<span>#{AdminMessages['site.details.edit']}</span>
</a>

View File

@ -11,7 +11,7 @@
<ui:define name="breadcrumb">
<li class="breadcrumb-item">
<a href="#{mvc.uri('SitesController#getSites')}">
<a href="#{mvc.basePath}/sites">
#{AdminMessages['sites.label']}
</a>
</li>
@ -23,7 +23,7 @@
</c:when>
<c:otherwise>
<li class="breadcrumb-item">
<a href="#{mvc.uri('SitesController#getSite', {'siteIdentifier': SiteDetailsModel.identifier })}">
<a href="#{mvc.basePath}/sites/#{SiteDetailsModel.identifier}/details">
#{SiteDetailsModel.domain}
</a>
</li>
@ -47,7 +47,7 @@
</c:choose>
</h1>
<form action="#{SiteDetailsModel.new ? mvc.uri('SiteFormController#createSite') : mvc.uri('SiteFormController#updateSite', {'siteIdentifier': SiteDetailsModel.identifier })}"
<form action="#{SiteDetailsModel.new ? mvc.basePath += '/sites/new' : mvc.basePath += '/sites' += SiteDetailsModel.identifier += '/edit'}"
method="post">
<bootstrap:formGroupText help="#{AdminMessages['sites.form.domain.help']}"
inputId="domain"
@ -66,7 +66,7 @@
name="defaultTheme"
options="#{SiteDetailsModel.availableThemes}" />
<a class="btn btn-warning"
href="#{SiteDetailsModel.new ? mvc.uri('SitesController#getSites') : mvc.uri('SitesController#getSite', { 'siteIdentifier': SiteDetailsModel.identifier })}">
href="#{SiteDetailsModel.new ? mvc.basePath += '/sites' : mvc.basePath += '/sites/' += SiteDetailsModel.identifier += '/details'}">
#{AdminMessages['sites.form.buttons.cancel']}
</a>
<button class="btn btn-success" type="submit">

View File

@ -24,7 +24,7 @@
<div class="mb-2">
<div class="text-right">
<a class="btn btn-secondary"
href="#{mvc.uri('SitesController#createNewSite')}">
href="#{mvc.basePath}/sites/new">
<bootstrap:svgIcon icon="plus-circle" />
<span>#{AdminMessages['sites.add_site']}</span>
</a>
@ -58,7 +58,7 @@
</td>
<td>
<a class="btn btn-info"
href="#{mvc.uri('SitesController#getSite', {'siteIdentifier': site.identifier })}">
href="#{mvc.basePath}/sites/#{site.identifier}/details">
<bootstrap:svgIcon icon="pen" />
<span>
#{AdminMessages['sites.table.edit']}
@ -66,7 +66,7 @@
</a>
</td>
<td>
<libreccm:deleteDialog actionTarget="#{mvc.uri('SitesController#deleteSite', {'identifier': site.identifier })}"
<libreccm:deleteDialog actionTarget="#{mvc.basePath}/sites/#{site.identifier}/delete"
buttonText="#{AdminMessages['sites.table.delete']}"
cancelLabel="#{AdminMessages['sites.delete_dialog.cancel']}"
confirmLabel="#{AdminMessages['sites.delete_dialog.confirm']}"

View File

@ -20,7 +20,7 @@
<div class="container-fluid">
<h1>#{AdminMessages['themes.label']}</h1>
<bootstrap:modalForm actionTarget="#{mvc.uri('ThemesController#createTheme')}"
<bootstrap:modalForm actionTarget="#{mvc.basePath}/themes/new"
buttonIcon="plus-circle"
buttonText="#{AdminMessages['themes.create_new_theme']}"
buttonTextClass="text-right"
@ -116,7 +116,7 @@
<td>
<c:choose>
<c:when test="#{theme.publishable and theme.published }">
<form action="#{mvc.uri('ThemesController#publishTheme', {'themeName': theme.name})}">
<form action="#{mvc.basePath}/themes/#{theme.name}/publish">
<button class="btn btn-primary"
type="button">
#{AdminMessages['themes.table.actions.republish']}
@ -124,7 +124,7 @@
</form>
</c:when>
<c:when test="#{theme.publishable}">
<form action="#{mvc.uri('ThemesController#publishTheme', {'themeName': theme.name})}">
<form action="#{mvc.basePath}/themes/#{theme.name}/publish">
<button class="btn btn-primary"
type="button">
#{AdminMessages['themes.table.actions.publish']}
@ -135,7 +135,7 @@
</td>
<td>
<c:if test="#{theme.published and theme.publishable}">
<libreccm:deleteDialog actionTarget="#{mvc.uri('ThemesController#unpublishTheme', {'themeName': theme.name})}"
<libreccm:deleteDialog actionTarget="#{mvc-basePath}/themes/#{theme.name}/unpublish"
buttonText="#{AdminMessages['themes.table.actions.unpublish']}"
cancelLabel="#{AdminMessages['themes.table.actions.unpublish.cancel']}"
confirmLabel="#{AdminMessages['themes.table.actions.unpublish.confirm']}"
@ -147,7 +147,7 @@
</td>
<td>
<c:if test="#{theme.editable and !theme.published}">
<libreccm:deleteDialog actionTarget="#{mvc.uri('ThemesController#deleteTheme', {'themeName': theme.name})}"
<libreccm:deleteDialog actionTarget="#{mvc.basePath}/themes/#{theme.name}/delete"
buttonText="#{AdminMessages['themes.table.actions.delete']}"
cancelLabel="#{AdminMessages['themes.table.actions.delete.cancel']}"
confirmLabel="#{AdminMessages['themes.table.actions.delete.confirm']}"