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-94f89814c4df
pull/2/head
jensp 2016-02-18 13:56:58 +00:00
parent 51d4fca237
commit c93a3305fe
9 changed files with 83 additions and 34 deletions

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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: