diff --git a/ccm-cms/src/main/java/org/librecms/CmsConstants.java b/ccm-cms/src/main/java/org/librecms/CmsConstants.java
index 2446b7c15..1a3ff9ad1 100644
--- a/ccm-cms/src/main/java/org/librecms/CmsConstants.java
+++ b/ccm-cms/src/main/java/org/librecms/CmsConstants.java
@@ -29,6 +29,7 @@ public class CmsConstants {
public static final String DB_SCHEMA = "CCM_CMS";
public static final String CMS_BUNDLE = "org.librecms.CmsResources";
+ public static final String CMS_ADMIN_BUNDLE = "org.librecms.CmsAdminMessages";
public static final String CMS_FOLDER_BUNDLE
= "com.arsdigita.cms.ui.folder.CMSFolderResources";
diff --git a/ccm-cms/src/main/java/org/librecms/ui/ContentSectionsController.java b/ccm-cms/src/main/java/org/librecms/ui/ContentSectionsController.java
index 3a92862da..833138d28 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/ContentSectionsController.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/ContentSectionsController.java
@@ -6,13 +6,14 @@
package org.librecms.ui;
import org.libreccm.security.AuthorizationRequired;
-import org.libreccm.security.RequiresPrivilege;
-import org.librecms.CmsConstants;
import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
import javax.mvc.Controller;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
+import javax.ws.rs.core.Response;
/**
*
@@ -22,12 +23,41 @@ import javax.ws.rs.Path;
@Controller
@Path("/")
public class ContentSectionsController {
-
+
+ @Inject
+ private HttpServletRequest request;
+
@GET
@Path("/")
@AuthorizationRequired
- public String getContentSections() {
- return "org/librecms/ui/content-sections.xhtml";
+ public Response getRoot() {
+ return Response
+ .status(Response.Status.MOVED_PERMANENTLY)
+ .entity(
+ String.format("%s/@content-sections/list", request
+ .getContextPath())
+ ).build();
}
-
+
+ @GET
+ @Path("/list")
+ @AuthorizationRequired
+ public String getContentSections() {
+ return "org/librecms/ui/content-sections/list.xhtml";
+ }
+
+ @GET
+ @Path("/pages")
+ @AuthorizationRequired
+ public String getPages() {
+ return "org/librecms/ui/content-sections/pages.xhtml";
+ }
+
+ @GET
+ @Path("/search")
+ @AuthorizationRequired
+ public String getSearch() {
+ return "org/librecms/ui/content-sections/pages.xhtml";
+ }
+
}
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/content-sections.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/content-sections.xhtml
index 3162e3d01..7703dba93 100644
--- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/content-sections.xhtml
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/content-sections.xhtml
@@ -1,9 +1,9 @@
#{title} - LibreCMS Content Sections
@@ -12,10 +12,52 @@
- Content Sections Placeholder
+
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/list.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/list.xhtml
new file mode 100644
index 000000000..c755e36dd
--- /dev/null
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/list.xhtml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+ #{CmsAdminMessages['contentsections.list.label']}
+
+
+
+
+
+
#{CmsAdminMessages['contentsections.list.label']}
+
+ Content Sections List Placeholder
+
+
+
+
+
+
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/pages.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/pages.xhtml
new file mode 100644
index 000000000..2ec25f31f
--- /dev/null
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/pages.xhtml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ #{CmsAdminMessages['contentsections.pages.label']}
+
+
+
+
+
+
#{CmsAdminMessages['contentsections.pages.label']}
+
+ Content Sections Pages Placeholder
+
+
+
+
+
+
+
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/search.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/search.xhtml
new file mode 100644
index 000000000..1e8533986
--- /dev/null
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/content-sections/search.xhtml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ #{CmsAdminMessages['contentsections.search.label']}
+
+
+
+
+
+
#{CmsAdminMessages['contentsections.search.label']}
+
+ Content Sections Search Placeholder
+
+
+
+
+
+
+
diff --git a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties
new file mode 100644
index 000000000..3fdac5f4c
--- /dev/null
+++ b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties
@@ -0,0 +1,6 @@
+contentsections.list.nav.link.title=Content Sections
+contentsections.pages.nav.link.title=Pages
+contentsections.search.nav.link.title=Search
+contentsections.list.label=Content Sections
+contentsections.pages.label=Pages
+contentsections.search.label=Search
diff --git a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties
new file mode 100644
index 000000000..79092122a
--- /dev/null
+++ b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties
@@ -0,0 +1,6 @@
+contentsections.list.nav.link.title=Content Sections
+contentsections.pages.nav.link.title=Seitenb\u00e4ume
+contentsections.search.nav.link.title=Suche
+contentsections.list.label=Content Sections
+contentsections.pages.label=Seitenb\u00e4ume
+contentsections.search.label=Suche
diff --git a/ccm-core/src/main/java/org/libreccm/ui/login/LoginController.java b/ccm-core/src/main/java/org/libreccm/ui/login/LoginController.java
index f006369e5..3d8955ee4 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/login/LoginController.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/login/LoginController.java
@@ -38,7 +38,6 @@ import javax.inject.Inject;
import javax.mail.MessagingException;
import javax.mvc.Controller;
import javax.mvc.Models;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
@@ -46,11 +45,9 @@ import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.RedirectionException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
/**