From 69c7bcd092edb0cbec5e832b1f7e93bab703b2a5 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Mon, 31 Aug 2020 21:07:30 +0200 Subject: [PATCH] More work on admin UI with Wicket --- ccm-bundle-devel-wildfly/pom.xml | 4 + ccm-core/pom.xml | 5 +- .../java/org/libreccm/ui/CcmAdminFilter.java | 4 +- .../libreccm/ui/MissingPageDataException.java | 67 ++++++++ .../java/org/libreccm/ui/admin/AdminPage.java | 40 ++++- .../org/libreccm/ui/admin/AdminPageData.java | 143 ++++++++++++++++++ .../ui/admin/AdminPageDataBuilder.java | 139 +++++++++++++++++ .../libreccm/ui/admin/AdminPagesProvider.java | 31 ++++ .../libreccm/ui/admin/ApplicationsPage.java | 37 +++++ .../org/libreccm/ui/admin/CategoriesPage.java | 37 +++++ .../java/org/libreccm/ui/admin/CcmAdmin.java | 35 +++++ .../libreccm/ui/admin/CcmCoreAdminPages.java | 136 +++++++++++++++++ .../libreccm/ui/admin/ConfigurationPage.java | 37 +++++ .../org/libreccm/ui/admin/DashboardPage.java | 11 +- .../org/libreccm/ui/admin/ImExportPage.java | 37 +++++ .../org/libreccm/ui/admin/PageModelsPage.java | 37 +++++ .../java/org/libreccm/ui/admin/SitesPage.java | 37 +++++ .../ui/admin/SystemInformationPage.java | 37 +++++ .../ui/admin/UsersGroupsRolesPage.java | 37 +++++ .../admin/applications/ApplicationsPanel.java | 38 +++++ .../ui/admin/categories/CategoriesPanel.java | 38 +++++ .../configuration/ConfigurationPanel.java | 38 +++++ .../admin/{ => dashboard}/DashboardPanel.java | 2 +- .../ui/admin/imexport/ImExportPanel.java | 38 +++++ .../ui/admin/pagemodels/PageModelsPanel.java | 38 +++++ .../libreccm/ui/admin/sites/SitesPanel.java | 39 +++++ .../SystemInformationPanel.java | 38 +++++ .../ui/admin/usersgroupsroles/GroupsPage.java | 37 +++++ .../ui/admin/usersgroupsroles/RolesPage.java | 37 +++++ .../UsersGroupsRolesPanel.java | 38 +++++ .../ui/admin/usersgroupsroles/UsersPage.java | 37 +++++ .../usersgroupsroles/groups/GroupsPanel.java | 38 +++++ .../usersgroupsroles/roles/RolesPanel.java | 39 +++++ .../usersgroupsroles/users/UsersPanel.java | 38 +++++ .../libreccm/ui/admin/AdminBundle.properties | 41 +++++ .../ui/admin/AdminBundle_de.properties | 41 +++++ .../org/libreccm/ui/admin/AdminPage.html | 3 + .../admin/applications/ApplicationsPanel.html | 13 ++ .../ui/admin/categories/CategoriesPanel.html | 13 ++ .../configuration/ConfigurationPanel.html | 13 ++ .../admin/{ => dashboard}/DashboardPanel.html | 0 .../ui/admin/imexport/ImExportPanel.html | 13 ++ .../ui/admin/pagemodels/PageModelsPanel.html | 13 ++ .../libreccm/ui/admin/sites/SitesPanel.html | 13 ++ .../SystemInformationPanel.html | 13 ++ .../UsersGroupsRolesPanel.html | 13 ++ .../usersgroupsroles/groups/GroupsPanel.html | 13 ++ .../usersgroupsroles/roles/RolesPanel.html | 13 ++ .../usersgroupsroles/users/UsersPanel.html | 13 ++ 49 files changed, 1661 insertions(+), 11 deletions(-) create mode 100644 ccm-core/src/main/java/org/libreccm/ui/MissingPageDataException.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageData.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageDataBuilder.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/AdminPagesProvider.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/ApplicationsPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/CategoriesPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/CcmCoreAdminPages.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/ConfigurationPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/ImExportPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/PageModelsPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/SitesPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/SystemInformationPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/UsersGroupsRolesPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/applications/ApplicationsPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategoriesPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/configuration/ConfigurationPanel.java rename ccm-core/src/main/java/org/libreccm/ui/admin/{ => dashboard}/DashboardPanel.java (96%) create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/imexport/ImExportPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/pagemodels/PageModelsPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/sites/SitesPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/GroupsPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/RolesPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersPage.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.java create mode 100644 ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.java create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle.properties create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle_de.properties create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/applications/ApplicationsPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/categories/CategoriesPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/configuration/ConfigurationPanel.html rename ccm-core/src/main/resources/org/libreccm/ui/admin/{ => dashboard}/DashboardPanel.html (100%) create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/imexport/ImExportPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/pagemodels/PageModelsPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/sites/SitesPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.html create mode 100644 ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.html diff --git a/ccm-bundle-devel-wildfly/pom.xml b/ccm-bundle-devel-wildfly/pom.xml index aeea4098c..0fc49e301 100644 --- a/ccm-bundle-devel-wildfly/pom.xml +++ b/ccm-bundle-devel-wildfly/pom.xml @@ -244,9 +244,13 @@ false ${project.basedir}/wildfly.properties + development + + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787 + diff --git a/ccm-core/pom.xml b/ccm-core/pom.xml index 82ae07062..ae238e11e 100644 --- a/ccm-core/pom.xml +++ b/ccm-core/pom.xml @@ -253,7 +253,10 @@ org.apache.wicket wicket-core - 9.0.0 + + + org.apache.wicket + wicket-cdi diff --git a/ccm-core/src/main/java/org/libreccm/ui/CcmAdminFilter.java b/ccm-core/src/main/java/org/libreccm/ui/CcmAdminFilter.java index fc8587b12..860b5e6f1 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/CcmAdminFilter.java +++ b/ccm-core/src/main/java/org/libreccm/ui/CcmAdminFilter.java @@ -24,8 +24,6 @@ import org.libreccm.security.PermissionChecker; import org.libreccm.security.Shiro; import java.io.IOException; -import java.net.URL; -import java.net.http.HttpRequest; import javax.inject.Inject; import javax.servlet.FilterChain; @@ -43,7 +41,7 @@ import javax.servlet.http.HttpServletResponse; * @author Jens Pelzetter */ @WebFilter( - value = "/@admin/", + value = "/@admin/*", initParams = { @WebInitParam( name = "applicationClassName", diff --git a/ccm-core/src/main/java/org/libreccm/ui/MissingPageDataException.java b/ccm-core/src/main/java/org/libreccm/ui/MissingPageDataException.java new file mode 100644 index 000000000..683832f10 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/MissingPageDataException.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +package org.libreccm.ui; + +/** + * + * @author Jens Pelzetter + */ +public class MissingPageDataException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + /** + * Creates a new instance of MissingPageDataException without detail message. + */ + public MissingPageDataException() { + super(); + } + + + /** + * Constructs an instance of MissingPageDataException with the specified detail message. + * + * @param msg The detail message. + */ + public MissingPageDataException(final String msg) { + super(msg); + } + + /** + * Constructs an instance of MissingPageDataException which wraps the + * specified exception. + * + * @param exception The exception to wrap. + */ + public MissingPageDataException(final Exception exception) { + super(exception); + } + + /** + * Constructs an instance of MissingPageDataException with the specified message which also wraps the + * specified exception. + * + * @param msg The detail message. + * @param exception The exception to wrap. + */ + public MissingPageDataException(final String msg, final Exception exception) { + super(msg, exception); + } +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPage.java index f2f6b2846..55595990d 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPage.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPage.java @@ -19,13 +19,49 @@ package org.libreccm.ui.admin; import org.apache.wicket.markup.html.WebPage; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.repeater.RepeatingView; + +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +import javax.enterprise.inject.Instance; +import javax.inject.Inject; /** * * @author Jens Pelzetter */ public class AdminPage extends WebPage { - + private static final long serialVersionUID = 1L; - + + @Inject + private Instance adminPages; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public AdminPage() { + super(); + + final List adminPagesData = adminPages + .stream() + .map(AdminPagesProvider::getAdminPagesData) + .flatMap(Collection::stream) + .sorted( + (page1, page2) -> Integer.compare( + page1.getPosition(), page2.getPosition() + ) + ) + .collect(Collectors.toList()); + + final RepeatingView adminPagesView = new RepeatingView("adminPages"); + for (final AdminPageData adminPageData : adminPagesData) { + adminPagesView.add( + new Label(adminPagesView.newChildId(), adminPageData.getLabel()) + ); + } + add(adminPagesView); + } + } diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageData.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageData.java new file mode 100644 index 000000000..b36cbd6b2 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageData.java @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import java.util.Objects; + +/** + * + * @author Jens Pelzetter + */ +public class AdminPageData { + + private final String path; + + private final Class pageClass; + + private final int position; + + private final String label; + + private final String description; + + AdminPageData( + final String path, + final Class pageClass, + final int position, + final String label, + final String description + ) { + this.path = path; + this.pageClass = pageClass; + this.position = position; + this.label = label; + this.description = description; + } + + public String getPath() { + return path; + } + + public Class getPageClass() { + return pageClass; + } + + public int getPosition() { + return position; + } + + public String getLabel() { + return label; + } + + public String getDescription() { + return description; + } + + @Override + public int hashCode() { + int hash = 3; + hash = 59 * hash + Objects.hashCode(path); + hash = 59 * hash + Objects.hashCode(pageClass); + hash = 59 * hash + position; + hash = 59 * hash + Objects.hashCode(label); + hash = 59 * hash + Objects.hashCode(description); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if ((obj instanceof AdminPageData)) { + return false; + } + final AdminPageData other = (AdminPageData) obj; + if (other.canEqual(this)) { + return false; + } + if (!Objects.equals(path, other.getPath())) { + return false; + } + if (!Objects.equals(pageClass, other.getPageClass())) { + return false; + } + if (position != other.getPosition()) { + return false; + } + if (!Objects.equals(label, other.getLabel())) { + return false; + } + return Objects.equals(description, other.getDescription()); + } + + public boolean canEqual(final Object obj) { + return obj instanceof AdminPageData; + } + + @Override + public final String toString() { + return toString(""); + } + + public String toString(final String data) { + return String.format("%s{" + + "path = %s, " + + "pageClass = %s, " + + "order = %d, " + + "label = %s, " + + "description = %s%s" + + "}", + super.toString(), + path, + pageClass.getName(), + position, + label, + description, + data + ); + } + + + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageDataBuilder.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageDataBuilder.java new file mode 100644 index 000000000..3bf41cd74 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPageDataBuilder.java @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.MissingPageDataException; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * + * @author Jens Pelzetter + */ +public class AdminPageDataBuilder { + + private String path; + + private final Class pageClass; + + private Integer position; + + private ResourceBundle labelBundle; + + private String labelKey; + + private ResourceBundle descriptionBundle; + + private String descriptionKey; + + private AdminPageDataBuilder(final Class pageClass) { + this.pageClass = pageClass; + } + + public AdminPageDataBuilder mountedTo(final String path) { + this.path = path; + return this; + } + + public static AdminPageDataBuilder forPage( + final Class pageClass + ) { + return new AdminPageDataBuilder(pageClass); + } + + public AdminPageDataBuilder atPosition(final int position) { + this.position = position; + return this; + } + + public AdminPageDataBuilder withLabel( + final ResourceBundle labelBundle, final String labelKey + ) { + this.labelBundle = labelBundle; + this.labelKey = labelKey; + return this; + } + + public AdminPageDataBuilder withDescription( + final ResourceBundle descriptionBundle, final String descriptionKey + ) { + this.descriptionBundle = descriptionBundle; + this.descriptionKey = descriptionKey; + return this; + } + + public AdminPageData build() { + if (path == null || path.isBlank()) { + throw new MissingPageDataException("Missing path for page."); + } + + if (pageClass == null) { + throw new MissingPageDataException("Missing class for page."); + } + + if (position == null) { + throw new MissingPageDataException("Missing position for page."); + } + + if (labelBundle == null) { + throw new MissingPageDataException( + "Missing label bundle for page." + ); + } + + if (labelKey == null || labelKey.isBlank()) { + throw new MissingPageDataException("Missing label key for page."); + } + + if (descriptionBundle == null) { + throw new MissingPageDataException( + "Missing description bundle for page." + ); + } + + if (descriptionKey == null || descriptionKey.isBlank()) { + throw new MissingPageDataException( + "Missing description key for page." + ); + } + + final String label = getLabelFromBundle(); + final String description = getDescriptionFromBundle(); + + + return new AdminPageData(path, pageClass, position, label, description); + } + + private String getLabelFromBundle() { + try { + return labelBundle.getString(labelKey); + } catch(MissingResourceException ex) { + return labelKey; + } + } + + private String getDescriptionFromBundle() { + try { + return descriptionBundle.getString(descriptionKey); + } catch(MissingResourceException ex) { + return descriptionKey; + } + } +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPagesProvider.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPagesProvider.java new file mode 100644 index 000000000..387fda4a5 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminPagesProvider.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import java.util.Set; + +/** + * + * @author Jens Pelzetter + */ +public interface AdminPagesProvider { + + Set getAdminPagesData(); + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/ApplicationsPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/ApplicationsPage.java new file mode 100644 index 000000000..774cc31b4 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/ApplicationsPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.applications.ApplicationsPanel; + +/** + * + * @author Jens Pelzetter + */ +public class ApplicationsPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ApplicationsPage() { + super(); + add(new ApplicationsPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/CategoriesPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/CategoriesPage.java new file mode 100644 index 000000000..cb5474c0d --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/CategoriesPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.categories.CategoriesPanel; + +/** + * + * @author Jens Pelzetter + */ +public class CategoriesPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public CategoriesPage() { + super(); + add(new CategoriesPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/CcmAdmin.java b/ccm-core/src/main/java/org/libreccm/ui/admin/CcmAdmin.java index b5b64ff74..fe02ba3c4 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/CcmAdmin.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/CcmAdmin.java @@ -18,15 +18,26 @@ */ package org.libreccm.ui.admin; +import org.apache.wicket.cdi.CdiConfiguration; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebApplication; +import java.util.Collection; +import java.util.Set; +import java.util.stream.Collectors; + +import javax.enterprise.inject.Instance; +import javax.inject.Inject; + /** * * @author Jens Pelzetter */ public class CcmAdmin extends WebApplication { + @Inject + private Instance adminPages; + @Override public Class getHomePage() { return DashboardPage.class; @@ -36,6 +47,30 @@ public class CcmAdmin extends WebApplication { public void init() { super.init(); // setConfigurationType(RuntimeConfigurationType.DEPLOYMENT); + + final CdiConfiguration cdiConfiguration = new CdiConfiguration(); + cdiConfiguration.configure(this); + + final Set adminPagesData = adminPages + .stream() + .map(AdminPagesProvider::getAdminPagesData) + .flatMap(Collection::stream) + .collect(Collectors.toSet()); + + for (final AdminPageData adminPageData : adminPagesData) { + mountPage(adminPageData.getPath(), adminPageData.getPageClass()); + } + +// mountPage("applications", ApplicationsPage.class); +// mountPage("categories", CategoriesPage.class); +// mountPage("configuration", ConfigurationPage.class); +// mountPage("imexport", ImExportPage.class); +// mountPage("pagemodels", PageModelsPage.class); +// mountPage("sites", SitesPage.class); +// mountPage("systeminformation", SystemInformationPage.class); +// mountPage("users-groups-roles/groups", GroupsPage.class); +// mountPage("users-groups-roles/roles", RolesPage.class); +// mountPage("users-groups-roles/users", UsersPage.class); } } diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/CcmCoreAdminPages.java b/ccm-core/src/main/java/org/libreccm/ui/admin/CcmCoreAdminPages.java new file mode 100644 index 000000000..4214d0fed --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/CcmCoreAdminPages.java @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.l10n.GlobalizationHelper; +import org.libreccm.ui.admin.usersgroupsroles.GroupsPage; +import org.libreccm.ui.admin.usersgroupsroles.RolesPage; +import org.libreccm.ui.admin.usersgroupsroles.UsersPage; + +import java.util.ResourceBundle; +import java.util.Set; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +/** + * + * @author Jens Pelzetter + */ +@ApplicationScoped +public class CcmCoreAdminPages implements AdminPagesProvider { + + @Inject + private GlobalizationHelper globalizationHelper; + + @Override + public Set getAdminPagesData() { + final ResourceBundle adminBundle = ResourceBundle.getBundle( + "org.libreccm.ui.admin.AdminBundle", + globalizationHelper.getNegotiatedLocale() + ); + + return Set.of( + AdminPageDataBuilder + .forPage(ApplicationsPage.class) + .mountedTo("applications") + .atPosition(10) + .withLabel(adminBundle, "applications.label") + .withDescription(adminBundle, "applications.description") + .build(), + AdminPageDataBuilder + .forPage(CategoriesPage.class) + .mountedTo("categories") + .atPosition(20) + .withLabel(adminBundle, "categories.label") + .withDescription(adminBundle, "categories.description") + .build(), + AdminPageDataBuilder + .forPage(ConfigurationPage.class) + .mountedTo("configuration") + .atPosition(30) + .withLabel(adminBundle, "configuration.label") + .withDescription(adminBundle, "configuration.description") + .build(), + AdminPageDataBuilder + .forPage(ImExportPage.class) + .mountedTo("imexport") + .atPosition(40) + .withLabel(adminBundle, "imexport.label") + .withDescription(adminBundle, "imexport.description") + .build(), + AdminPageDataBuilder + .forPage(ConfigurationPage.class) + .mountedTo("pagemodels") + .atPosition(50) + .withLabel(adminBundle, "pagemodels.label") + .withDescription(adminBundle, "pagemodels.description") + .build(), + AdminPageDataBuilder + .forPage(SitesPage.class) + .mountedTo("sites") + .atPosition(60) + .withLabel(adminBundle, "sites.label") + .withDescription(adminBundle, "sites.description") + .build(), + AdminPageDataBuilder + .forPage(SystemInformationPage.class) + .mountedTo("systeminformation") + .atPosition(70) + .withLabel(adminBundle, "systeminformation.label") + .withDescription(adminBundle, "systeminformation.description") + .build(), + AdminPageDataBuilder + .forPage(UsersGroupsRolesPage.class) + .mountedTo("users-groups-roles") + .atPosition(80) + .withLabel(adminBundle, "usersGroupsRoles.label") + .withDescription(adminBundle, "usersGroupsRoles.description") + .build(), + AdminPageDataBuilder + .forPage(GroupsPage.class) + .mountedTo("users-groups-roles/groups") + .atPosition(90) + .withLabel(adminBundle, "usersGroupsRoles.groups.label") + .withDescription( + adminBundle, "usersGroupsRoles.groups.description" + ) + .build(), + AdminPageDataBuilder + .forPage(RolesPage.class) + .mountedTo("users-groups-roles/roles") + .atPosition(100) + .withLabel(adminBundle, "usersGroupsRoles.roles.label") + .withDescription( + adminBundle, "usersGroupsRoles.roles.description" + ) + .build(), + AdminPageDataBuilder + .forPage(UsersPage.class) + .mountedTo("users-groups-roles/users") + .atPosition(110) + .withLabel(adminBundle, "usersGroupsRoles.users.label") + .withDescription( + adminBundle, "usersGroupsRoles.users.description" + ) + .build() + ); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/ConfigurationPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/ConfigurationPage.java new file mode 100644 index 000000000..b5a0e0351 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/ConfigurationPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.configuration.ConfigurationPanel; + +/** + * + * @author Jens Pelzetter + */ +public class ConfigurationPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ConfigurationPage() { + super(); + add(new ConfigurationPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPage.java index 0da217545..4f3d865b6 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPage.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPage.java @@ -18,18 +18,21 @@ */ package org.libreccm.ui.admin; +import org.libreccm.ui.admin.dashboard.DashboardPanel; + /** * * @author Jens Pelzetter */ public class DashboardPage extends AdminPage { - + private static final long serialVersionUID = 1L; - + @SuppressWarnings("OverridableMethodCallInConstructor") public DashboardPage() { + super(); // add(new Label("dashboardLabel", "CCM Admin Dashboard")); - add(new DashboardPanel("adminPanel")); + add(new DashboardPanel("adminPanel")); } - + } diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/ImExportPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/ImExportPage.java new file mode 100644 index 000000000..2ef879d1e --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/ImExportPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.imexport.ImExportPanel; + +/** + * + * @author Jens Pelzetter + */ +public class ImExportPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ImExportPage() { + super(); + add(new ImExportPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/PageModelsPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/PageModelsPage.java new file mode 100644 index 000000000..dc0060712 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/PageModelsPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.pagemodels.PageModelsPanel; + +/** + * + * @author Jens Pelzetter + */ +public class PageModelsPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public PageModelsPage() { + super(); + add(new PageModelsPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/SitesPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/SitesPage.java new file mode 100644 index 000000000..6b12a5551 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/SitesPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.sites.SitesPanel; + +/** + * + * @author Jens Pelzetter + */ +public class SitesPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public SitesPage() { + super(); + add(new SitesPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/SystemInformationPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/SystemInformationPage.java new file mode 100644 index 000000000..5ec7d7fe4 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/SystemInformationPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.systeminformation.SystemInformationPanel; + +/** + * + * @author Jens Pelzetter + */ +public class SystemInformationPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public SystemInformationPage() { + super(); + add(new SystemInformationPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/UsersGroupsRolesPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/UsersGroupsRolesPage.java new file mode 100644 index 000000000..e82141f47 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/UsersGroupsRolesPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin; + +import org.libreccm.ui.admin.usersgroupsroles.UsersGroupsRolesPanel; + +/** + * + * @author Jens Pelzetter + */ +public class UsersGroupsRolesPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public UsersGroupsRolesPage() { + super(); + add(new UsersGroupsRolesPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/applications/ApplicationsPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/applications/ApplicationsPanel.java new file mode 100644 index 000000000..429fab549 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/applications/ApplicationsPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.applications; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class ApplicationsPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ApplicationsPanel(final String id) { + super(id); + add(new Label("applicationsLabel", "Applications Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategoriesPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategoriesPanel.java new file mode 100644 index 000000000..43d614a0a --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategoriesPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.categories; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class CategoriesPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public CategoriesPanel(final String id) { + super(id); + add(new Label("categoriesLabel", "Categories Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/configuration/ConfigurationPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/configuration/ConfigurationPanel.java new file mode 100644 index 000000000..73ef4e5a2 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/configuration/ConfigurationPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.configuration; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class ConfigurationPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ConfigurationPanel(final String id) { + super(id); + add(new Label("configurationLabel", "Configuration Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/dashboard/DashboardPanel.java similarity index 96% rename from ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPanel.java rename to ccm-core/src/main/java/org/libreccm/ui/admin/dashboard/DashboardPanel.java index 8b412b851..c9618dc6a 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/DashboardPanel.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/dashboard/DashboardPanel.java @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ -package org.libreccm.ui.admin; +package org.libreccm.ui.admin.dashboard; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.panel.Panel; diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/imexport/ImExportPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/imexport/ImExportPanel.java new file mode 100644 index 000000000..0d56997df --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/imexport/ImExportPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.imexport; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class ImExportPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public ImExportPanel(final String id) { + super(id); + add(new Label("imexportLabel", "Import/Export Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/pagemodels/PageModelsPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/pagemodels/PageModelsPanel.java new file mode 100644 index 000000000..1ffbf9cdb --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/pagemodels/PageModelsPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.pagemodels; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class PageModelsPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public PageModelsPanel(final String id) { + super(id); + add(new Label("pageModelsLabel", "PageModel Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/sites/SitesPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/sites/SitesPanel.java new file mode 100644 index 000000000..5fef01f78 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/sites/SitesPanel.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.sites; + +import org.libreccm.ui.admin.configuration.*; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class SitesPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public SitesPanel(final String id) { + super(id); + add(new Label("sitesLabel", "Sites Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.java new file mode 100644 index 000000000..4b6a3f26a --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.systeminformation; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class SystemInformationPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public SystemInformationPanel(final String id) { + super(id); + add(new Label("systemInformationLabel", "Systeminformation Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/GroupsPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/GroupsPage.java new file mode 100644 index 000000000..2bc791dd8 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/GroupsPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles; + +import org.libreccm.ui.admin.AdminPage; +import org.libreccm.ui.admin.usersgroupsroles.groups.GroupsPanel; + +/** + * + * @author Jens Pelzetter + */ +public class GroupsPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public GroupsPage() { + add(new GroupsPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/RolesPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/RolesPage.java new file mode 100644 index 000000000..40e9af0fa --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/RolesPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles; + +import org.libreccm.ui.admin.AdminPage; +import org.libreccm.ui.admin.usersgroupsroles.roles.RolesPanel; + +/** + * + * @author Jens Pelzetter + */ +public class RolesPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public RolesPage() { + add(new RolesPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.java new file mode 100644 index 000000000..99e89be4e --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class UsersGroupsRolesPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public UsersGroupsRolesPanel(final String id) { + super(id); + add(new Label("usersGroupsRolesLabel", "Users/Groups/Roles Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersPage.java new file mode 100644 index 000000000..9c6c3d9a0 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersPage.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles; + +import org.libreccm.ui.admin.AdminPage; +import org.libreccm.ui.admin.usersgroupsroles.users.UsersPanel; + +/** + * + * @author Jens Pelzetter + */ +public class UsersPage extends AdminPage { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public UsersPage() { + add(new UsersPanel("adminPanel")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.java new file mode 100644 index 000000000..0621209b4 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles.groups; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class GroupsPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public GroupsPanel(final String id) { + super(id); + add(new Label("groupsLabel", "Groups Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.java new file mode 100644 index 000000000..e18b301da --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles.roles; + +import org.libreccm.ui.admin.configuration.*; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class RolesPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public RolesPanel(final String id) { + super(id); + add(new Label("rolesLabel", "Roles Placeholder")); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.java new file mode 100644 index 000000000..851e9f35e --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.ui.admin.usersgroupsroles.users; + +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +/** + * + * @author Jens Pelzetter + */ +public class UsersPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @SuppressWarnings("OverridableMethodCallInConstructor") + public UsersPanel(final String id) { + super(id); + add(new Label("usersLabel", "Users Placeholder")); + } + +} diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle.properties b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle.properties new file mode 100644 index 000000000..268a2c87d --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle.properties @@ -0,0 +1,41 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +applications.label=Applications +applications.description=Manage application instances +categories.label=Categories +categories.description=Manage categories +configuration.label=Configuration +configuration.description=Manage settings +dashboard.label=Dashboard +dashboard.description=Provides an overview of all available admin pages +imexport.label=Export/Import +imexport.description=Export and import entities +pagemodels.label=Page Models +pagemodels.description=Manage page models +sites.label=Sites +sites.description=Manage sites +usersGroupsRoles.label=Users/Groups/Roles +usersGroupsRoles.description=Manage users, groups and roles +usersGroupsRoles.groups.label=Groups +usersGroupsRoles.groups.description=Manage groups +usersGroupsRoles.roles.label=Roles +usersGroupsRoles.roles.description=Manage roles +usersGroupsRoles.users.label=Users +usersGroupsRoles.users.description=Manage users +systeminformation.label=System Information +systeminformation.description=Shows several informations about this CCM instance and its environment diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle_de.properties b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle_de.properties new file mode 100644 index 000000000..db1a6632d --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminBundle_de.properties @@ -0,0 +1,41 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +applications.label=Applikationen +applications.description=Verwalten der Instanzen der Applikationen +categories.label=Kategorien +categories.description=Verwaltung der Kategorien +configuration.label=Konfiguration +configuration.description=Konfiguration bearbeiten +dashboard.label=Dashboard +dashboard.description=\u00dcberblick \u00fcber alle Administrations-Seiten +imexport.label=Export/Import +imexport.description=Daten exportieren und importieren +pagemodels.label=Page Models +pagemodels.description=Verwalten der Page Models +sites.label=Sites +sites.description=Verwalten der Sites +usersGroupsRoles.label=Benutzer*innen/Gruppen/Rollen +usersGroupsRoles.description=Benutzer*innen, Gruppen und Rollen verwalten +usersGroupsRoles.groups.label=Gruppen +usersGroupsRoles.groups.description=Gruppen verwalten +usersGroupsRoles.roles.label=Rollen +usersGroupsRoles.roles.description=Rollen verwalten +usersGroupsRoles.users.label=Benutzer*innen +usersGroupsRoles.users.description=Benutzer*innen verwalten +systeminformation.label=System Information +systeminformation.description=Zeigt verschiedene Informationen \u00fcber diese CCM Instanz und ihre Umgebung diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminPage.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminPage.html index f8358e4b4..3b503234a 100644 --- a/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminPage.html +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/AdminPage.html @@ -5,6 +5,9 @@ LibreCCM Admin +
    +
  • [adminPageName]
  • +
[admin panel]
diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/applications/ApplicationsPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/applications/ApplicationsPanel.html new file mode 100644 index 000000000..8a3a7de6a --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/applications/ApplicationsPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/categories/CategoriesPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/categories/CategoriesPanel.html new file mode 100644 index 000000000..3278af0ea --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/categories/CategoriesPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/configuration/ConfigurationPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/configuration/ConfigurationPanel.html new file mode 100644 index 000000000..4dbd4aa55 --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/configuration/ConfigurationPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/DashboardPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/dashboard/DashboardPanel.html similarity index 100% rename from ccm-core/src/main/resources/org/libreccm/ui/admin/DashboardPanel.html rename to ccm-core/src/main/resources/org/libreccm/ui/admin/dashboard/DashboardPanel.html diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/imexport/ImExportPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/imexport/ImExportPanel.html new file mode 100644 index 000000000..24652288e --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/imexport/ImExportPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/pagemodels/PageModelsPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/pagemodels/PageModelsPanel.html new file mode 100644 index 000000000..81d7ad76c --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/pagemodels/PageModelsPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/sites/SitesPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/sites/SitesPanel.html new file mode 100644 index 000000000..3e9f898db --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/sites/SitesPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.html new file mode 100644 index 000000000..ca81de618 --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/systeminformation/SystemInformationPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.html new file mode 100644 index 000000000..23d63cffe --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.html new file mode 100644 index 000000000..5951c9d9a --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/groups/GroupsPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.html new file mode 100644 index 000000000..871bd2a64 --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/roles/RolesPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ + diff --git a/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.html b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.html new file mode 100644 index 000000000..4449025a3 --- /dev/null +++ b/ccm-core/src/main/resources/org/libreccm/ui/admin/usersgroupsroles/users/UsersPanel.html @@ -0,0 +1,13 @@ + + + + + + + +
+ [Label's message goes here] +
+
+ +