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})
public class AdminServlet
extends BaseApplicationServlet
implements AdminConstants {
extends BaseApplicationServlet
implements AdminConstants {
private static final long serialVersionUID = -3912367600768871630L;
private static final Logger LOGGER = LogManager
.getLogger(AdminServlet.class);
.getLogger(AdminServlet.class);
/**
* Logger instance for debugging
@ -111,30 +111,35 @@ public class AdminServlet
tabbedPane.setIdAttr("page-body");
tabbedPane.addTab(
new Label(new GlobalizedMessage("ui.admin.tab.applications",
BUNDLE_NAME)),
new ApplicationsAdminTab());
new Label(new GlobalizedMessage("ui.admin.tab.applications",
BUNDLE_NAME)),
new ApplicationsAdminTab());
tabbedPane.addTab(
new Label(new GlobalizedMessage(
"ui.admin.tab.users_groups_roles.title",
BUNDLE_NAME)),
new UsersGroupsRolesTab());
new Label(new GlobalizedMessage(
"ui.admin.tab.users_groups_roles.title",
BUNDLE_NAME)),
new UsersGroupsRolesTab());
tabbedPane.addTab(
new Label(new GlobalizedMessage("ui.admin.tab.categories.title",
BUNDLE_NAME)),
new CategoriesAdminTab());
new Label(new GlobalizedMessage("ui.admin.tab.categories.title",
BUNDLE_NAME)),
new CategoriesAdminTab());
tabbedPane.addTab(
new Label(new GlobalizedMessage("ui.admin.tab.registry.title",
BUNDLE_NAME)),
new RegistryAdminTab());
new Label(new GlobalizedMessage("ui.admin.tab.workflows.title",
BUNDLE_NAME)),
new WorkflowAdminTab());
tabbedPane.addTab(
new Label(new GlobalizedMessage("ui.admin.tab.sysinfo.title",
BUNDLE_NAME)),
new SystemInformationTab());
new Label(new GlobalizedMessage("ui.admin.tab.registry.title",
BUNDLE_NAME)),
new RegistryAdminTab());
tabbedPane.addTab(
new Label(new GlobalizedMessage("ui.admin.tab.sysinfo.title",
BUNDLE_NAME)),
new SystemInformationTab());
//page.add(new Label("admin"));
adminPage.add(tabbedPane);
@ -158,16 +163,16 @@ public class AdminServlet
public final void doService(final HttpServletRequest sreq,
final HttpServletResponse sresp,
final CcmApplication app) throws
ServletException, IOException {
ServletException, IOException {
// /////// Some preparational steps ///////////////
/* Determine access privilege: only logged in users may access */
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final Subject subject = cdiUtil.findBean(Subject.class);
final PermissionChecker permissionChecker = cdiUtil.findBean(
PermissionChecker.class);
PermissionChecker.class);
final ConfigurationManager confManager = CDI.current().select(
ConfigurationManager.class).get();
ConfigurationManager.class).get();
if (confManager == null) {
throw new IllegalStateException();
}
@ -179,17 +184,17 @@ public class AdminServlet
subject.getSession().getId().toString());
if (!subject.isAuthenticated()) {
LOGGER.debug(
"Subject {} is not authenticated, redirecting to login...",
subject.toString());
"Subject {} is not authenticated, redirecting to login...",
subject.toString());
throw new LoginSignal(sreq);
}
/* Determine access privilege: Admin privileges must be granted */
LOGGER.debug(
"Subject is loggedin, checking if subject has required permissions...");
"Subject is loggedin, checking if subject has required permissions...");
if (!permissionChecker.isPermitted("admin")) {
LOGGER.debug("Subject does *not* have required permissions. "
+ "Access denied.");
+ "Access denied.");
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.
*
* @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) {
// 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.desc.label=Description
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.desc.label=Beschreibung
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.desc.label=Description
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.xml=View document XML
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.registry.title=Registry
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.submit=Sichern
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.extremeaction=Extreme Actions
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.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.ban.label=Ban user
ui.admin.user.ban.label=Benutzer sperren
ui.admin.user.unban.label=Unban user
ui.admin.user.delete.failed.label=L\u00f6schen des Benutzers fehlgeschlagen
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.registry.title=Registry
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.registry.title=Registry
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.question=Question:
ui.admin.user.userpasswordform.submit=Changer
ui.admin.tab.applications=
ui.admin.tab.applications=Applications
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.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.groups.couldnt_find_specified_group=Impossible de trouver le groupe sp\u00e9cifi\u00e9
ui.admin.tab.users_groups_roles.title=
ui.admin.tab.categories.title=
ui.admin.tab.registry.title=
ui.admin.tab.categories.title=Categories
ui.admin.tab.registry.title=Registry
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: