GlobalNavigation

Erweitert um einen AdminCenter Eintrag.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2394 8810af33-2d31-482b-a856-94f89814c4df
master
quasi 2013-10-29 07:59:28 +00:00
parent 231ec5abf7
commit 66758056a2
1 changed files with 77 additions and 63 deletions

View File

@ -22,7 +22,13 @@ import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.SimpleComponent;
import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentCenter;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
import com.arsdigita.ui.UI;
import com.arsdigita.ui.admin.Admin;
import com.arsdigita.ui.login.LoginServlet;
import com.arsdigita.web.URL;
import com.arsdigita.xml.Element;
import org.apache.log4j.Logger;
@ -38,10 +44,9 @@ import javax.servlet.http.HttpServletRequest;
// Made public (instead of unspecified, resulting in protected) in 6.6.8
public class GlobalNavigation extends SimpleComponent {
private static final Logger s_log = Logger.getLogger
(GlobalNavigation.class);
private static final Logger s_log = Logger.getLogger(GlobalNavigation.class);
private final String m_centerPath;
private final String m_adminPath;
private final String m_wspcPath;
private final String m_signOutPath;
private final String m_helpPath;
@ -51,8 +56,9 @@ public class GlobalNavigation extends SimpleComponent {
*/
public GlobalNavigation() {
m_centerPath = ContentCenter.getURL();
m_adminPath = Admin.getInstance().getServletPath();
m_wspcPath = UI.getWorkspaceURL();
m_signOutPath = UI.getLogoutPageURL();
m_signOutPath = LoginServlet.getLogoutPageURL();
m_helpPath = "/nowhere"; // We don't have this yet XXX.
}
@ -66,15 +72,23 @@ public class GlobalNavigation extends SimpleComponent {
if (isVisible(state)) {
final HttpServletRequest sreq = state.getRequest();
final Element nav = parent.newChildElement
("cms:globalNavigation", CMS.CMS_XML_NS);
final Element nav = parent.newChildElement("cms:globalNavigation", CMS.CMS_XML_NS);
final String centerTitle = lz("cms.ui.content_center");
final String adminTitle = lz("cms.ui.admin_center");
final String wspcTitle = lz("cms.ui.my_workspace");
final String signOutTitle = lz("cms.ui.sign_out");
final String helpTitle = lz("cms.ui.help");
link(sreq, nav, "cms:contentCenter", m_centerPath, centerTitle);
/* If the current user has admin permissions, insert a link to the admin center */
if (PermissionService.checkPermission(new PermissionDescriptor(
PrivilegeDescriptor.ADMIN,
Admin.getInstance(),
Kernel.getContext().getParty()))) {
link(sreq, nav, "cms:adminCenter", m_adminPath, adminTitle);
}
link(sreq, nav, "cms:workspace", m_wspcPath, wspcTitle);
link(sreq, nav, "cms:signOut", m_signOutPath, signOutTitle);
link(sreq, nav, "cms:help", m_helpPath, helpTitle);