CCM NG: Added tab for workflows administration to admin app
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3876 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
51d4fca237
commit
c93a3305fe
|
|
@ -69,13 +69,13 @@ import static com.arsdigita.ui.admin.AdminUiConstants.*;
|
||||||
*/
|
*/
|
||||||
@WebServlet(urlPatterns = {ADMIN_SERVLET_PATH})
|
@WebServlet(urlPatterns = {ADMIN_SERVLET_PATH})
|
||||||
public class AdminServlet
|
public class AdminServlet
|
||||||
extends BaseApplicationServlet
|
extends BaseApplicationServlet
|
||||||
implements AdminConstants {
|
implements AdminConstants {
|
||||||
|
|
||||||
private static final long serialVersionUID = -3912367600768871630L;
|
private static final long serialVersionUID = -3912367600768871630L;
|
||||||
|
|
||||||
private static final Logger LOGGER = LogManager
|
private static final Logger LOGGER = LogManager
|
||||||
.getLogger(AdminServlet.class);
|
.getLogger(AdminServlet.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logger instance for debugging
|
* Logger instance for debugging
|
||||||
|
|
@ -111,30 +111,35 @@ public class AdminServlet
|
||||||
tabbedPane.setIdAttr("page-body");
|
tabbedPane.setIdAttr("page-body");
|
||||||
|
|
||||||
tabbedPane.addTab(
|
tabbedPane.addTab(
|
||||||
new Label(new GlobalizedMessage("ui.admin.tab.applications",
|
new Label(new GlobalizedMessage("ui.admin.tab.applications",
|
||||||
BUNDLE_NAME)),
|
BUNDLE_NAME)),
|
||||||
new ApplicationsAdminTab());
|
new ApplicationsAdminTab());
|
||||||
|
|
||||||
tabbedPane.addTab(
|
tabbedPane.addTab(
|
||||||
new Label(new GlobalizedMessage(
|
new Label(new GlobalizedMessage(
|
||||||
"ui.admin.tab.users_groups_roles.title",
|
"ui.admin.tab.users_groups_roles.title",
|
||||||
BUNDLE_NAME)),
|
BUNDLE_NAME)),
|
||||||
new UsersGroupsRolesTab());
|
new UsersGroupsRolesTab());
|
||||||
|
|
||||||
tabbedPane.addTab(
|
tabbedPane.addTab(
|
||||||
new Label(new GlobalizedMessage("ui.admin.tab.categories.title",
|
new Label(new GlobalizedMessage("ui.admin.tab.categories.title",
|
||||||
BUNDLE_NAME)),
|
BUNDLE_NAME)),
|
||||||
new CategoriesAdminTab());
|
new CategoriesAdminTab());
|
||||||
|
|
||||||
tabbedPane.addTab(
|
tabbedPane.addTab(
|
||||||
new Label(new GlobalizedMessage("ui.admin.tab.registry.title",
|
new Label(new GlobalizedMessage("ui.admin.tab.workflows.title",
|
||||||
BUNDLE_NAME)),
|
BUNDLE_NAME)),
|
||||||
new RegistryAdminTab());
|
new WorkflowAdminTab());
|
||||||
|
|
||||||
tabbedPane.addTab(
|
tabbedPane.addTab(
|
||||||
new Label(new GlobalizedMessage("ui.admin.tab.sysinfo.title",
|
new Label(new GlobalizedMessage("ui.admin.tab.registry.title",
|
||||||
BUNDLE_NAME)),
|
BUNDLE_NAME)),
|
||||||
new SystemInformationTab());
|
new RegistryAdminTab());
|
||||||
|
|
||||||
|
tabbedPane.addTab(
|
||||||
|
new Label(new GlobalizedMessage("ui.admin.tab.sysinfo.title",
|
||||||
|
BUNDLE_NAME)),
|
||||||
|
new SystemInformationTab());
|
||||||
|
|
||||||
//page.add(new Label("admin"));
|
//page.add(new Label("admin"));
|
||||||
adminPage.add(tabbedPane);
|
adminPage.add(tabbedPane);
|
||||||
|
|
@ -158,16 +163,16 @@ public class AdminServlet
|
||||||
public final void doService(final HttpServletRequest sreq,
|
public final void doService(final HttpServletRequest sreq,
|
||||||
final HttpServletResponse sresp,
|
final HttpServletResponse sresp,
|
||||||
final CcmApplication app) throws
|
final CcmApplication app) throws
|
||||||
ServletException, IOException {
|
ServletException, IOException {
|
||||||
// /////// Some preparational steps ///////////////
|
// /////// Some preparational steps ///////////////
|
||||||
/* Determine access privilege: only logged in users may access */
|
/* Determine access privilege: only logged in users may access */
|
||||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||||
final Subject subject = cdiUtil.findBean(Subject.class);
|
final Subject subject = cdiUtil.findBean(Subject.class);
|
||||||
final PermissionChecker permissionChecker = cdiUtil.findBean(
|
final PermissionChecker permissionChecker = cdiUtil.findBean(
|
||||||
PermissionChecker.class);
|
PermissionChecker.class);
|
||||||
|
|
||||||
final ConfigurationManager confManager = CDI.current().select(
|
final ConfigurationManager confManager = CDI.current().select(
|
||||||
ConfigurationManager.class).get();
|
ConfigurationManager.class).get();
|
||||||
if (confManager == null) {
|
if (confManager == null) {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
@ -179,17 +184,17 @@ public class AdminServlet
|
||||||
subject.getSession().getId().toString());
|
subject.getSession().getId().toString());
|
||||||
if (!subject.isAuthenticated()) {
|
if (!subject.isAuthenticated()) {
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Subject {} is not authenticated, redirecting to login...",
|
"Subject {} is not authenticated, redirecting to login...",
|
||||||
subject.toString());
|
subject.toString());
|
||||||
throw new LoginSignal(sreq);
|
throw new LoginSignal(sreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine access privilege: Admin privileges must be granted */
|
/* Determine access privilege: Admin privileges must be granted */
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Subject is loggedin, checking if subject has required permissions...");
|
"Subject is loggedin, checking if subject has required permissions...");
|
||||||
if (!permissionChecker.isPermitted("admin")) {
|
if (!permissionChecker.isPermitted("admin")) {
|
||||||
LOGGER.debug("Subject does *not* have required permissions. "
|
LOGGER.debug("Subject does *not* have required permissions. "
|
||||||
+ "Access denied.");
|
+ "Access denied.");
|
||||||
throw new AccessDeniedException("User is not an administrator");
|
throw new AccessDeniedException("User is not an administrator");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -223,7 +228,7 @@ public class AdminServlet
|
||||||
* Adds one pair of Url - Page to the internal hash map, used as a cache.
|
* Adds one pair of Url - Page to the internal hash map, used as a cache.
|
||||||
*
|
*
|
||||||
* @param pathInfo url stub for a page to display
|
* @param pathInfo url stub for a page to display
|
||||||
* @param page Page object to display
|
* @param page Page object to display
|
||||||
*/
|
*/
|
||||||
// private void addPage(final String pathInfo, final Page page) {
|
// private void addPage(final String pathInfo, final Page page) {
|
||||||
// Assert.exists(pathInfo, String.class);
|
// Assert.exists(pathInfo, String.class);
|
||||||
|
|
|
||||||
|
|
@ -29,3 +29,4 @@ com.arsdigita.ui.admin.applications.url.label=URL
|
||||||
com.arsdigita.ui.admin.applications.title.label=Title
|
com.arsdigita.ui.admin.applications.title.label=Title
|
||||||
com.arsdigita.ui.admin.applications.desc.label=Description
|
com.arsdigita.ui.admin.applications.desc.label=Description
|
||||||
ui.admin.change_password=Change password
|
ui.admin.change_password=Change password
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
|
|
||||||
|
|
@ -29,3 +29,4 @@ com.arsdigita.ui.admin.applications.url.label=URL
|
||||||
com.arsdigita.ui.admin.applications.title.label=Bezeichnung
|
com.arsdigita.ui.admin.applications.title.label=Bezeichnung
|
||||||
com.arsdigita.ui.admin.applications.desc.label=Beschreibung
|
com.arsdigita.ui.admin.applications.desc.label=Beschreibung
|
||||||
ui.admin.change_password=Passwort \u00e4ndern
|
ui.admin.change_password=Passwort \u00e4ndern
|
||||||
|
ui.admin.tab.workflows.title=Arbeitsabl\u00e4ufe
|
||||||
|
|
|
||||||
|
|
@ -29,3 +29,4 @@ com.arsdigita.ui.admin.applications.url.label=URL
|
||||||
com.arsdigita.ui.admin.applications.title.label=Title
|
com.arsdigita.ui.admin.applications.title.label=Title
|
||||||
com.arsdigita.ui.admin.applications.desc.label=Description
|
com.arsdigita.ui.admin.applications.desc.label=Description
|
||||||
ui.admin.change_password=Change password
|
ui.admin.change_password=Change password
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
|
|
||||||
|
|
@ -29,3 +29,4 @@ ui.debug.transform.off=Hide transformation
|
||||||
ui.debug.transform.on=Display transformation
|
ui.debug.transform.on=Display transformation
|
||||||
ui.debug.xml=View document XML
|
ui.debug.xml=View document XML
|
||||||
ui.debug.xsl=Download XSL files
|
ui.debug.xsl=Download XSL files
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
|
|
||||||
|
|
@ -156,3 +156,4 @@ ui.admin.tab.users_groups_roles.title=Users/Groups/Roles
|
||||||
ui.admin.tab.categories.title=Categories
|
ui.admin.tab.categories.title=Categories
|
||||||
ui.admin.tab.registry.title=Registry
|
ui.admin.tab.registry.title=Registry
|
||||||
ui.admin.change_password=Change password
|
ui.admin.change_password=Change password
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ ui.admin.user.addeditform.screenname=Benutzername\:
|
||||||
ui.admin.user.addeditform.ssologinname=External Login:
|
ui.admin.user.addeditform.ssologinname=External Login:
|
||||||
ui.admin.user.addeditform.submit=Sichern
|
ui.admin.user.addeditform.submit=Sichern
|
||||||
ui.admin.user.addeditform.url=URL:
|
ui.admin.user.addeditform.url=URL:
|
||||||
ui.admin.user.browselink=Show All
|
ui.admin.user.browselink=Alle anzeigen
|
||||||
ui.admin.user.browsepanel.becomeUser=Become this user
|
ui.admin.user.browsepanel.becomeUser=Become this user
|
||||||
ui.admin.user.browsepanel.extremeaction=Extreme Actions
|
ui.admin.user.browsepanel.extremeaction=Extreme Actions
|
||||||
ui.admin.user.browsepanel.header=Alle registrierten Benutzer
|
ui.admin.user.browsepanel.header=Alle registrierten Benutzer
|
||||||
|
|
@ -72,7 +72,7 @@ ui.admin.user.createpanel.header=Neuen Benutzer erstellen
|
||||||
ui.admin.user.delete.confirm=Are you sure you want to delete this user?
|
ui.admin.user.delete.confirm=Are you sure you want to delete this user?
|
||||||
ui.admin.user.ban.confirm=Are you sure you want to ban this user?
|
ui.admin.user.ban.confirm=Are you sure you want to ban this user?
|
||||||
ui.admin.user.unban.confirm=Are you sure you want to unban this user?
|
ui.admin.user.unban.confirm=Are you sure you want to unban this user?
|
||||||
ui.admin.user.ban.label=Ban user
|
ui.admin.user.ban.label=Benutzer sperren
|
||||||
ui.admin.user.unban.label=Unban user
|
ui.admin.user.unban.label=Unban user
|
||||||
ui.admin.user.delete.failed.label=L\u00f6schen des Benutzers fehlgeschlagen
|
ui.admin.user.delete.failed.label=L\u00f6schen des Benutzers fehlgeschlagen
|
||||||
ui.admin.user.delete.label=Benutzer l\u00f6schen
|
ui.admin.user.delete.label=Benutzer l\u00f6schen
|
||||||
|
|
@ -156,3 +156,4 @@ ui.admin.tab.users_groups_roles.title=Benutzer/Gruppen/Rollen
|
||||||
ui.admin.tab.categories.title=Kategorien
|
ui.admin.tab.categories.title=Kategorien
|
||||||
ui.admin.tab.registry.title=Registry
|
ui.admin.tab.registry.title=Registry
|
||||||
ui.admin.change_password=Passwort \u00e4ndern
|
ui.admin.change_password=Passwort \u00e4ndern
|
||||||
|
ui.admin.tab.workflows.title=Arbeitsabl\u00e4ufe
|
||||||
|
|
|
||||||
|
|
@ -114,3 +114,19 @@ ui.admin.tab.users_groups_roles.title=Users/Groups/Roles
|
||||||
ui.admin.tab.categories.title=Categories
|
ui.admin.tab.categories.title=Categories
|
||||||
ui.admin.tab.registry.title=Registry
|
ui.admin.tab.registry.title=Registry
|
||||||
ui.admin.change_password=Change password
|
ui.admin.change_password=Change password
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
ui.admin.tab.sysinfo.title=System information
|
||||||
|
ui.admin.sysinfo.xml_transformer_factory=XML Transformer Factory
|
||||||
|
ui.admin.sysinfo.xml_transformer=XML Transformer
|
||||||
|
ui.admin.sysinfo.xml_document_builder_factory=XML Document Builder Factory
|
||||||
|
ui.admin.sysinfo.xml_document_builder=XML Document Builder
|
||||||
|
ui.admin.sysinfo.xml_config=XML config
|
||||||
|
ui.admin.sysinfo.sax_parser_factory=SAX Parser Factory
|
||||||
|
ui.admin.sysinfo.sax_parser=SAX Parser
|
||||||
|
ui.admin.sysinfo.java_system_properties=Java system properties
|
||||||
|
ui.admin.sysinfo.appinfo=About
|
||||||
|
ui.admin.SingletonApplicationPane.manage.no_admin_pane_found=No admin pane for applications of type '{0}' found.
|
||||||
|
ui.admin.SingletonApplicationPane.manage.heading=Edit settings
|
||||||
|
ui.admin.user.userinfo.name=Name:
|
||||||
|
ui.admin.user.userinfo.primaryemail=Email:
|
||||||
|
ui.admin.user.userinfo.screenname=Username:
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ ui.admin.user.userpasswordform.confirmpasswordlabel=Confirmer le mot de passe:
|
||||||
ui.admin.user.userpasswordform.passwordlabel=Mot de passe:
|
ui.admin.user.userpasswordform.passwordlabel=Mot de passe:
|
||||||
ui.admin.user.userpasswordform.question=Question:
|
ui.admin.user.userpasswordform.question=Question:
|
||||||
ui.admin.user.userpasswordform.submit=Changer
|
ui.admin.user.userpasswordform.submit=Changer
|
||||||
ui.admin.tab.applications=
|
ui.admin.tab.applications=Applications
|
||||||
ui.admin.applications.tree.heading=
|
ui.admin.applications.tree.heading=
|
||||||
ui.admin.applications.url.validation.not_blank=The URL of an application instance can is mandatory.
|
ui.admin.applications.url.validation.not_blank=The URL of an application instance can is mandatory.
|
||||||
ui.admin.applications.url.valiation.minmaxlength=The length of an URL of an application instance must be between 1 and 100 characters.
|
ui.admin.applications.url.valiation.minmaxlength=The length of an URL of an application instance must be between 1 and 100 characters.
|
||||||
|
|
@ -96,6 +96,28 @@ ui.admin.groups.ID_is_null=
|
||||||
ui.admin.user.userpasswordform.retrieving_user_failed=Impossible de retrouver l'utilisateur
|
ui.admin.user.userpasswordform.retrieving_user_failed=Impossible de retrouver l'utilisateur
|
||||||
ui.admin.groups.couldnt_find_specified_group=Impossible de trouver le groupe sp\u00e9cifi\u00e9
|
ui.admin.groups.couldnt_find_specified_group=Impossible de trouver le groupe sp\u00e9cifi\u00e9
|
||||||
ui.admin.tab.users_groups_roles.title=
|
ui.admin.tab.users_groups_roles.title=
|
||||||
ui.admin.tab.categories.title=
|
ui.admin.tab.categories.title=Categories
|
||||||
ui.admin.tab.registry.title=
|
ui.admin.tab.registry.title=Registry
|
||||||
ui.admin.change_password=Change password
|
ui.admin.change_password=Change password
|
||||||
|
ui.admin.tab.workflows.title=Workflows
|
||||||
|
ui.admin.save=Save
|
||||||
|
ui.admin.tab.sysinfo.title=System information
|
||||||
|
ui.admin.sysinfo.xml_transformer_factory=XML Transformer Factory
|
||||||
|
ui.admin.sysinfo.xml_transformer=XML Transformer
|
||||||
|
ui.admin.sysinfo.xml_document_builder_factory=XML Document Builder Factory
|
||||||
|
ui.admin.sysinfo.xml_document_builder=XML Document Builder
|
||||||
|
ui.admin.sysinfo.xml_config=XML config
|
||||||
|
ui.admin.sysinfo.sax_parser_factory=SAX Parser Factory
|
||||||
|
ui.admin.sysinfo.sax_parser=SAX Parser
|
||||||
|
ui.admin.sysinfo.java_system_properties=Java system properties
|
||||||
|
ui.admin.sysinfo.appinfo=About
|
||||||
|
ui.admin.SingletonApplicationPane.manage.no_admin_pane_found=No admin pane for applications of type '{0}' found.
|
||||||
|
ui.admin.SingletonApplicationPane.manage.heading=Edit settings
|
||||||
|
ui.admin.user.addeditform.ssologinname=External Login:
|
||||||
|
ui.admin.user.ban.confirm=Are you sure you want to ban this user?
|
||||||
|
ui.admin.user.ban.label=Ban user
|
||||||
|
ui.admin.user.userinfo.name=Name:
|
||||||
|
ui.admin.user.userinfo.primaryemail=Email:
|
||||||
|
ui.admin.user.unban.confirm=Are you sure you want to unban this user?
|
||||||
|
ui.admin.user.unban.label=Unban user
|
||||||
|
ui.admin.user.userinfo.screenname=Username:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue