Fixed several links in ccm-admin

Former-commit-id: c2dbc40923
pull/10/head
Jens Pelzetter 2021-01-12 21:12:51 +01:00
parent e289b428f5
commit 86b924b5bc
20 changed files with 53 additions and 82 deletions

View File

@ -38,16 +38,11 @@ public interface AdminPage {
Set<Class<?>> getControllerClasses(); Set<Class<?>> getControllerClasses();
/** /**
* A identifier to use by {@link MvcContext#uri(java.lang.String)} to * The URI fragment of the page behind {@code /@admin}.
* generate the URI of the page. The identifier has the same format as used
* in JavaDoc:
* <pre>
* ControllerSimpleClassName#methodName
* </pre>
* *
* @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. * 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> { public class AdminPageModel implements Comparable<AdminPageModel> {
private String uriIdentifier; private String pageUri;
private String label; private String label;
@ -39,12 +39,12 @@ public class AdminPageModel implements Comparable<AdminPageModel> {
private long position; private long position;
public String getUriIdentifier() { public String getPageUri() {
return uriIdentifier; return pageUri;
} }
protected void setUriIdentifier(final String uriIdentifier) { protected void setPageUri(final String pageUri) {
this.uriIdentifier = uriIdentifier; this.pageUri = pageUri;
} }
public String getLabel() { public String getLabel() {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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