/* ===============================================================================
*
* Part of the InfoGlue Content Management Platform (www.infoglue.org)
*
* ===============================================================================
*
* Copyright (C)
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2, as published by the
* Free Software Foundation. See the file LICENSE.html for more information.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
* Place, Suite 330 / Boston, MA 02111-1307 / USA.
*
* ===============================================================================
*/
package org.infoglue.cms.applications.managementtool.actions;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.infoglue.cms.applications.common.ImageButton;
import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction;
import org.infoglue.cms.controllers.kernel.impl.simple.AvailableServiceBindingController;
import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
import org.infoglue.cms.controllers.kernel.impl.simple.GroupControllerProxy;
import org.infoglue.cms.controllers.kernel.impl.simple.GroupPropertiesController;
import org.infoglue.cms.controllers.kernel.impl.simple.InterceptionPointController;
import org.infoglue.cms.controllers.kernel.impl.simple.InterceptorController;
import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController;
import org.infoglue.cms.controllers.kernel.impl.simple.RedirectController;
import org.infoglue.cms.controllers.kernel.impl.simple.RoleControllerProxy;
import org.infoglue.cms.controllers.kernel.impl.simple.RolePropertiesController;
import org.infoglue.cms.controllers.kernel.impl.simple.ServiceDefinitionController;
import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeTypeDefinitionController;
import org.infoglue.cms.controllers.kernel.impl.simple.UserControllerProxy;
import org.infoglue.cms.controllers.kernel.impl.simple.UserPropertiesController;
import org.infoglue.cms.controllers.kernel.impl.simple.WorkflowDefinitionController;
import org.infoglue.cms.entities.management.InterceptionPointVO;
import org.infoglue.cms.entities.workflow.WorkflowDefinitionVO;
import org.infoglue.cms.security.InfoGlueGroup;
import org.infoglue.cms.security.InfoGluePrincipal;
import org.infoglue.cms.security.InfoGlueRole;
import org.infoglue.cms.util.CmsPropertyHandler;
/**
* This class implements the action class for the framed page in the management tool.
*
* @author Mattias Bogeblad
*/
public class ViewManagementToolToolBarAction extends InfoGlueAbstractAction
{
private final static Logger logger = Logger.getLogger(ViewManagementToolToolBarAction.class.getName());
private static final long serialVersionUID = 1L;
private String title = "";
private String name = "";
private String toolbarKey = "";
private String url = "";
//All id's that are used
private Integer repositoryId = null;
private String userName = null;
private Integer extranetUserId = null;
private String roleName = null;
private String groupName = null;
private Integer extranetRoleId = null;
private Integer languageId = null;
private Integer functionId = null;
private Integer serviceDefinitionId = null;
private Integer availableServiceBindingId = null;
private Integer siteNodeTypeDefinitionId = null;
private Integer contentTypeDefinitionId = null;
private Integer interceptionPointId = null;
private Integer interceptorId = null;
private Integer categoryId = null;
private Integer workflowDefinitionId = null;
private Integer redirectId = null;
private Integer serverNodeId = null;
private String URIEncoding = CmsPropertyHandler.getURIEncoding();
private InterceptionPointVO interceptionPointVO = null;
public String doExecute() throws Exception
{
if(this.interceptionPointId != null)
this.interceptionPointVO = InterceptionPointController.getController().getInterceptionPointVOWithId(this.interceptionPointId);
return "success";
}
public Integer getInterceptionPointId()
{
return this.interceptionPointId;
}
public void setInterceptionPointId(Integer interceptionPointId)
{
this.interceptionPointId = interceptionPointId;
}
public Integer getInterceptorId()
{
return this.interceptorId;
}
public void setInterceptorId(Integer interceptorId)
{
this.interceptorId = interceptorId;
}
public Integer getRepositoryId()
{
return this.repositoryId;
}
public void setRepositoryId(Integer repositoryId)
{
this.repositoryId = repositoryId;
}
public Integer getExtranetUserId()
{
return extranetUserId;
}
public void setExtranetUserId(Integer integer)
{
extranetUserId = integer;
}
public Integer getLanguageId()
{
return this.languageId;
}
public void setLanguageId(Integer languageId)
{
this.languageId = languageId;
}
public String getRoleName()
{
return this.roleName;
}
public void setRoleName(String roleName)
{
this.roleName = roleName;
}
public String getGroupName()
{
return groupName;
}
public void setGroupName(String groupName)
{
this.groupName = groupName;
}
public Integer getFunctionId()
{
return this.functionId;
}
public void setFunctionId(Integer functionId)
{
this.functionId = functionId;
}
public Integer getServiceDefinitionId()
{
return this.serviceDefinitionId;
}
public void setServiceDefinitionId(Integer serviceDefinitionId)
{
this.serviceDefinitionId = serviceDefinitionId;
}
public Integer getAvailableServiceBindingId()
{
return this.availableServiceBindingId;
}
public void setAvailableServiceBindingId(Integer availableServiceBindingId)
{
this.availableServiceBindingId = availableServiceBindingId;
}
public Integer getSiteNodeTypeDefinitionId()
{
return this.siteNodeTypeDefinitionId;
}
public void setSiteNodeTypeDefinitionId(Integer siteNodeTypeDefinitionId)
{
this.siteNodeTypeDefinitionId = siteNodeTypeDefinitionId;
}
public Integer getContentTypeDefinitionId()
{
return this.contentTypeDefinitionId;
}
public void setContentTypeDefinitionId(Integer contentTypeDefinitionId)
{
this.contentTypeDefinitionId = contentTypeDefinitionId;
}
public Integer getServerNodeId()
{
return serverNodeId;
}
public void setServerNodeId(Integer serverNodeId)
{
this.serverNodeId = serverNodeId;
}
public Integer getCategoryId()
{
return this.categoryId;
}
public void setCategoryId(Integer categoryId)
{
this.categoryId = categoryId;
}
public String getTitle()
{
return this.title;
}
public void setTitle(String title)
{
this.title = title;
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
public String getToolbarKey()
{
return this.toolbarKey;
}
public void setToolbarKey(String toolbarKey)
{
this.toolbarKey = toolbarKey;
}
public void setUrl(String url)
{
this.url = url;
}
public String getUrl()
{
return this.url;
}
public Integer getExtranetRoleId()
{
return extranetRoleId;
}
public void setExtranetRoleId(Integer extranetRoleId)
{
this.extranetRoleId = extranetRoleId;
}
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public Integer getWorkflowDefinitionId()
{
return workflowDefinitionId;
}
public void setWorkflowDefinitionId(Integer workflowDefinitionId)
{
this.workflowDefinitionId = workflowDefinitionId;
}
public Integer getRedirectId()
{
return redirectId;
}
public void setRedirectId(Integer redirectId)
{
this.redirectId = redirectId;
}
public List getButtons()
{
logger.info("Title:" + this.title);
logger.info("toolbarKey:" + this.toolbarKey);
try
{
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.repositoryList.header"))
return getRepositoriesButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewRepository.header"))
return getRepositoryDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewSystemUserList.header"))
return getSystemUsersButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewSystemUser.header"))
return getSystemUserDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewRoleList.header"))
return getRolesButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewRole.header"))
return getRoleDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewGroupList.header"))
return getGroupsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewGroup.header"))
return getGroupDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewLanguageList.header"))
return getLanguagesButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewLanguage.header"))
return getLanguageDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewInterceptionPointList.header"))
return getInterceptionPointsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewInterceptionPoint.header"))
return getInterceptionPointButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewInterceptorList.header"))
return getInterceptorsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewInterceptor.header"))
return getInterceptorButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewServiceDefinitionList.header"))
return getServiceDefinitionsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewServiceDefinition.header"))
return getServiceDefinitionDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewAvailableServiceBindingList.header"))
return getAvailableServiceBindingsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewAvailableServiceBinding.header"))
return getAvailableServiceBindingDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewSiteNodeTypeDefinitionList.header"))
return getSiteNodeTypeDefinitionsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewSiteNodeTypeDefinition.header"))
return getSiteNodeTypeDefinitionDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewContentTypeDefinitionList.header"))
return getContentTypeDefinitionsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewContentTypeDefinition.header"))
return getContentTypeDefinitionDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewCategoryList.header") || this.toolbarKey.equalsIgnoreCase("tool.managementtool.editCategory.header"))
return getCategoryButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewWorkflowDefinitionList.header"))
return getWorkflowDefinitionsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewWorkflowDefinition.header"))
return getWorkflowDefinitionDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.portletList.header"))
return getPortletsButtons();
//if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.portlet.header"))
// return getPortletDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.redirectList.header"))
return getRedirectsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewRedirect.header"))
return getRedirectDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.serverNodeList.header"))
return getServerNodesButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewServerNode.header"))
return getServerNodeDetailsButtons();
if(this.toolbarKey.equalsIgnoreCase("tool.managementtool.viewMessageCenter.header"))
return getMessageCenterButtons();
}
catch(Exception e) {e.printStackTrace();}
return null;
}
private List getRepositoriesButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateRepository!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newRepository"), "tool.managementtool.createRepository.header"));
buttons.add(new ImageButton(true, "javascript:submitListForm('repository');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteRepository"), "tool.managementtool.deleteRepositories.header"));
buttons.add(new ImageButton(true, "javascript:openPopup('ImportRepository!input.action', 'Import', 'width=600,height=500,resizable=no');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.importRepository"), getLocalizedString(getSession().getLocale(), "tool.managementtool.importRepository.header")));
return buttons;
}
private List getRepositoryDetailsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteRepository.header&yesDestination=" + URLEncoder.encode("DeleteRepository!markForDelete!action?repositoryId=" + this.repositoryId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListRepository.action?title=Repositories", "UTF-8") + "&message=tool.managementtool.deleteRepository.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteRepository"), "tool.managementtool.deleteRepository.header"));
buttons.add(new ImageButton(true, "javascript:openPopup('ExportRepository!input.action?repositoryId=" + this.repositoryId + "', 'Export', 'width=600,height=500,resizable=no,scrollbars=yes');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.exportRepository"), getLocalizedString(getSession().getLocale(), "tool.managementtool.exportRepository.header")));
buttons.add(new ImageButton(true, "javascript:openPopup('ImportRepository!inputCopy.action?repositoryId=" + this.repositoryId + "', 'Export', 'width=600,height=500,resizable=no,scrollbars=yes');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.copyRepository"), getLocalizedString(getSession().getLocale(), "tool.managementtool.importRepositoryCopy.header")));
buttons.add(new ImageButton("ViewRepositoryProperties.action?repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.global.buttons.editProperties"), "Edit Properties", new Integer(22), new Integer(80)));
String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewRepository.action?repositoryId=" + this.repositoryId, "UTF-8"), "UTF-8");
buttons.add(new ImageButton("ViewAccessRights.action?interceptionPointCategory=Repository&extraParameters=" + this.repositoryId +"&colorScheme=ManagementTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "tool.managementtool.accessRights.header"));
buttons.add(new ImageButton("ViewListRepositoryLanguage.action?repositoryId=" + this.repositoryId +"&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.repositoryLanguages"), "tool.managementtool.repositoryLanguages.header"));
buttons.add(new ImageButton(true, "javascript:openPopup('RebuildRegistry!input.action?repositoryId=" + this.repositoryId + "', 'Registry', 'width=400,height=200,resizable=no');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.rebuildRegistry"), getLocalizedString(getSession().getLocale(), "tool.managementtool.rebuildRegistry.header")));
return buttons;
}
private List getSystemUsersButtons() throws Exception
{
List buttons = new ArrayList();
if(UserControllerProxy.getController().getSupportCreate())
buttons.add(new ImageButton("CreateSystemUser!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newSystemUser"), "New System User"));
//if(UserControllerProxy.getController().getSupportDelete())
// buttons.add(new ImageButton(true, "javascript:submitListFormWithPrimaryKey('systemUser', 'userName');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteSystemUser"), "tool.managementtool.deleteSystemUsers.header"));
buttons.add(new ImageButton(true, "javascript:toggleSearchForm();", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.searchButton"), "Search Form"));
return buttons;
}
private List getSystemUserDetailsButtons() throws Exception
{
String encodedUserName = URLEncoder.encode(URLEncoder.encode(this.userName, URIEncoding), URIEncoding);
List buttons = new ArrayList();
if(!this.userName.equals(CmsPropertyHandler.getAnonymousUser()))
{
InfoGluePrincipal user = UserControllerProxy.getController().getUser(this.userName);
if(user.getAutorizationModule().getSupportDelete())
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteSystemUser.header&yesDestination=" + URLEncoder.encode("DeleteSystemUser.action?userName=" + URLEncoder.encode(this.userName, URIEncoding), URIEncoding) + "&noDestination=" + URLEncoder.encode("ViewListSystemUser.action?title=SystemUsers", URIEncoding) + "&message=tool.managementtool.deleteSystemUser.text&extraParameters=" + encodedUserName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteSystemUser"), "tool.managementtool.deleteSystemUser.header"));
if(user.getAutorizationModule().getSupportUpdate())
buttons.add(new ImageButton("UpdateSystemUserPassword!input.action?userName=" + encodedUserName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.updateSystemUserPassword"), "Update user password"));
}
List contentTypeDefinitionVOList = UserPropertiesController.getController().getContentTypeDefinitionVOList(this.userName);
if(contentTypeDefinitionVOList.size() > 0)
buttons.add(new ImageButton("ViewUserProperties.action?userName=" + encodedUserName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.viewSystemUserProperties"), "View User Properties"));
if(this.getInfoGluePrincipal().getIsAdministrator())
buttons.add(new ImageButton("AuthorizationSwitchManagement!inputUser.action?userName=" + encodedUserName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.transferUserAccessRights"), "Transfer Users Access Rights"));
return buttons;
}
private List getRolesButtons() throws Exception
{
List buttons = new ArrayList();
if(UserControllerProxy.getController().getSupportCreate())
buttons.add(new ImageButton("CreateRole!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newRole"), "New Role"));
//if(UserControllerProxy.getController().getSupportDelete())
// buttons.add(new ImageButton(true, "javascript:submitListFormWithPrimaryKey('role', 'roleName');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteRole"), "tool.managementtool.deleteRoles.header"));
return buttons;
}
private List getRoleDetailsButtons() throws Exception
{
List buttons = new ArrayList();
String yesDestination = URLEncoder.encode("DeleteRole.action?roleName=" + URLEncoder.encode(this.roleName, URIEncoding), URIEncoding);
String noDestination = URLEncoder.encode("ViewListRole.action?title=Roles", URIEncoding);
String message = URLEncoder.encode("Do you really want to delete the role " + URLEncoder.encode(this.roleName, URIEncoding), URIEncoding);
String encodedRoleName = URLEncoder.encode(URLEncoder.encode(this.roleName, URIEncoding), URIEncoding);
InfoGlueRole role = RoleControllerProxy.getController().getRole(this.roleName);
if(role.getAutorizationModule().getSupportDelete())
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteRole.header&yesDestination=" + yesDestination + "&noDestination=" + noDestination + "&message=tool.managementtool.deleteRole.text&extraParameters=" + encodedRoleName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteRole"), "tool.managementtool.deleteRole.header"));
List contentTypeDefinitionVOList = RolePropertiesController.getController().getContentTypeDefinitionVOList(this.roleName);
if(contentTypeDefinitionVOList.size() > 0)
buttons.add(new ImageButton("ViewRoleProperties.action?roleName=" + encodedRoleName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.viewRoleProperties"), "View Role Properties"));
if(this.getInfoGluePrincipal().getIsAdministrator())
buttons.add(new ImageButton("AuthorizationSwitchManagement!inputRole.action?roleName=" + encodedRoleName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.transferRoleAccessRights"), "Transfer Roles Access Rights"));
boolean hasAccessToManageAllAccessRights = this.hasAccessTo("Role.ManageAllAccessRights", true);
boolean hasAccessToManageAccessRights = this.hasAccessTo("Role.ManageAccessRights", "" + this.groupName);
if(hasAccessToManageAllAccessRights || hasAccessToManageAccessRights)
buttons.add(new ImageButton("ViewAccessRights.action?interceptionPointCategory=Role&extraParameters=" + encodedRoleName + "&returnAddress=ViewRole.action?roleName=" + encodedRoleName + "&colorScheme=ManagementTool", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "Role Access Rights"));
return buttons;
}
private List getGroupsButtons() throws Exception
{
List buttons = new ArrayList();
if(UserControllerProxy.getController().getSupportCreate())
buttons.add(new ImageButton("CreateGroup!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newGroup"), "New Group"));
//if(UserControllerProxy.getController().getSupportDelete())
// buttons.add(new ImageButton(true, "javascript:submitListFormWithPrimaryKey('group', 'groupName');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteGroup"), "tool.managementtool.deleteGroups.header"));
return buttons;
}
private List getGroupDetailsButtons() throws Exception
{
List buttons = new ArrayList();
String yesDestination = URLEncoder.encode("DeleteGroup.action?groupName=" + URLEncoder.encode(this.groupName, URIEncoding), URIEncoding);
String noDestination = URLEncoder.encode("ViewListGroup.action?title=Groups", URIEncoding);
String message = URLEncoder.encode("Do you really want to delete the group " + URLEncoder.encode(this.groupName, URIEncoding), URIEncoding);
String encodedGroupName = URLEncoder.encode(URLEncoder.encode(this.groupName, URIEncoding), URIEncoding);
InfoGlueGroup group = GroupControllerProxy.getController().getGroup(this.groupName);
if(group.getAutorizationModule().getSupportDelete())
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteGroup.header&yesDestination=" + yesDestination + "&noDestination=" + noDestination + "&message=tool.managementtool.deleteGroup.text&extraParameters=" + encodedGroupName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteGroup"), "tool.managementtool.deleteGroup.header"));
List contentTypeDefinitionVOList = GroupPropertiesController.getController().getContentTypeDefinitionVOList(this.groupName);
if(contentTypeDefinitionVOList.size() > 0)
buttons.add(new ImageButton("ViewGroupProperties.action?groupName=" + encodedGroupName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.viewGroupProperties"), "View Group Properties"));
if(this.getInfoGluePrincipal().getIsAdministrator())
buttons.add(new ImageButton("AuthorizationSwitchManagement!inputGroup.action?groupName=" + encodedGroupName, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.transferGroupAccessRights"), "Transfer Groups Access Rights"));
boolean hasAccessToManageAllAccessRights = this.hasAccessTo("Group.ManageAllAccessRights", true);
boolean hasAccessToManageAccessRights = this.hasAccessTo("Group.ManageAccessRights", "" + this.groupName);
if(hasAccessToManageAllAccessRights || hasAccessToManageAccessRights)
buttons.add(new ImageButton("ViewAccessRights.action?interceptionPointCategory=Group&extraParameters=" + encodedGroupName + "&returnAddress=ViewGroup.action?groupName=" + encodedGroupName + "&colorScheme=ManagementTool", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "Group Access Rights"));
return buttons;
}
private List getLanguagesButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateLanguage!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newLanguage"), "New Language"));
buttons.add(new ImageButton(true, "javascript:submitListForm('language');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteLanguage"), "tool.managementtool.deleteLanguages.header"));
return buttons;
}
private List getLanguageDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = LanguageController.getController().getLanguageVOWithId(this.languageId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteLanguage.header&yesDestination=" + URLEncoder.encode("DeleteLanguage.action?languageId=" + this.languageId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListLanguage.action?title=Languages", "UTF-8") + "&message=tool.managementtool.deleteLanguage.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteLanguage"), "tool.managementtool.deleteLanguage.header"));
return buttons;
}
private List getInterceptionPointsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateInterceptionPoint!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newInterceptionPoint"), "New InterceptionPoint"));
buttons.add(new ImageButton(true, "javascript:submitListForm('interceptionPoint');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteInterceptionPoint"), "tool.managementtool.deleteInterceptionPoints.header"));
return buttons;
}
private List getInterceptionPointButtons() throws Exception
{
List buttons = new ArrayList();
this.name = InterceptionPointController.getController().getInterceptionPointVOWithId(this.interceptionPointId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteInterceptionPoint.header&yesDestination=" + URLEncoder.encode("DeleteInterceptionPoint.action?interceptionPointId=" + this.interceptionPointId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListInterceptionPoint.action?title=InterceptionPoints", "UTF-8") + "&message=tool.managementtool.deleteInterceptionPoint.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteInterceptionPoint"), "tool.managementtool.deleteInterceptionPoint.header"));
if(this.interceptionPointVO.getUsesExtraDataForAccessControl().booleanValue() == false)
buttons.add(new ImageButton("ViewAccessRights.action?interceptionPointCategory=" + this.interceptionPointVO.getCategory() + "&interceptionPointId=" + this.interceptionPointId + "&returnAddress=ViewInterceptionPoint.action?interceptionPointId=" + this.interceptionPointId + "&colorScheme=ManagementTool", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "InterceptionPoint Access Rights"));
return buttons;
}
private List getInterceptorsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateInterceptor!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newInterceptor"), "New Interceptor"));
buttons.add(new ImageButton(true, "javascript:submitListForm('interceptor');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteInterceptor"), "tool.managementtool.deleteInterceptors.header"));
return buttons;
}
private List getInterceptorButtons() throws Exception
{
List buttons = new ArrayList();
this.name = InterceptorController.getController().getInterceptorVOWithId(this.interceptorId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteInterceptor.header&yesDestination=" + URLEncoder.encode("DeleteInterceptor.action?interceptorId=" + this.interceptorId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListInterceptor.action?title=Interceptors", "UTF-8") + "&message=tool.managementtool.deleteInterceptor.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteInterceptor"), "tool.managementtool.deleteInterceptor.header"));
return buttons;
}
private List getServiceDefinitionsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateServiceDefinition!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newServiceDefinition"), "New ServiceDefinition"));
buttons.add(new ImageButton(true, "javascript:submitListForm('serviceDefinition');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteServiceDefinition"), "tool.managementtool.deleteServiceDefinitions.header"));
return buttons;
}
private List getServiceDefinitionDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = ServiceDefinitionController.getController().getServiceDefinitionVOWithId(this.serviceDefinitionId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteServiceDefinition.header&yesDestination=" + URLEncoder.encode("DeleteServiceDefinition.action?serviceDefinitionId=" + this.serviceDefinitionId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListServiceDefinition.action?title=ServiceDefinitions", "UTF-8") + "&message=tool.managementtool.deleteServiceDefinition.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteServiceDefinition"), "tool.managementtool.deleteServiceDefinition.header"));
return buttons;
}
private List getAvailableServiceBindingsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateAvailableServiceBinding!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newAvailableServiceBinding"), "New AvailableServiceBinding"));
buttons.add(new ImageButton(true, "javascript:submitListForm('availableServiceBinding');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteAvailableServiceBinding"), "tool.managementtool.deleteAvailableServiceBindings.header"));
return buttons;
}
private List getAvailableServiceBindingDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = AvailableServiceBindingController.getController().getAvailableServiceBindingVOWithId(this.availableServiceBindingId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteAvailableServiceBinding.header&yesDestination=" + URLEncoder.encode("DeleteAvailableServiceBinding.action?availableServiceBindingId=" + this.availableServiceBindingId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListAvailableServiceBinding.action?title=AvailableServiceBindings", "UTF-8") + "&message=tool.managementtool.deleteAvailableServiceBinding.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteAvailableServiceBinding"), "tool.managementtool.deleteAvailableServiceBinding.header"));
return buttons;
}
private List getSiteNodeTypeDefinitionsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateSiteNodeTypeDefinition!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newSiteNodeTypeDefinition"), "New SiteNodeTypeDefinition"));
buttons.add(new ImageButton(true, "javascript:submitListForm('siteNodeTypeDefinition');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteSiteNodeTypeDefinition"), "tool.managementtool.deleteSiteNodeTypeDefinitions.header"));
return buttons;
}
private List getSiteNodeTypeDefinitionDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = SiteNodeTypeDefinitionController.getController().getSiteNodeTypeDefinitionVOWithId(this.siteNodeTypeDefinitionId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteSiteNodeTypeDefinition.header&yesDestination=" + URLEncoder.encode("DeleteSiteNodeTypeDefinition.action?siteNodeTypeDefinitionId=" + this.siteNodeTypeDefinitionId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListSiteNodeTypeDefinition.action?title=SiteNodeTypeDefinitions", "UTF-8") + "&message=tool.managementtool.deleteSiteNodeTypeDefinition.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteSiteNodeTypeDefinition"), "tool.managementtool.deleteSiteNodeTypeDefinition.header"));
return buttons;
}
private List getContentTypeDefinitionsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateContentTypeDefinition!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newContentTypeDefinition"), "New ContentTypeDefinition"));
buttons.add(new ImageButton(true, "javascript:submitListForm('contentTypeDefinition');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteContentTypeDefinition"), "tool.managementtool.deleteContentTypeDefinitions.header"));
return buttons;
}
private List getContentTypeDefinitionDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithId(this.contentTypeDefinitionId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteContentTypeDefinition.header&yesDestination=" + URLEncoder.encode("DeleteContentTypeDefinition.action?contentTypeDefinitionId=" + this.contentTypeDefinitionId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListContentTypeDefinition.action?title=ContentTypeDefinitions", "UTF-8") + "&message=tool.managementtool.deleteContentTypeDefinition.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteContentTypeDefinition"), "tool.managementtool.deleteContentTypeDefinition.header"));
String protectContentTypes = CmsPropertyHandler.getProtectContentTypes();
if(protectContentTypes != null && protectContentTypes.equalsIgnoreCase("true"))
{
String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContentTypeDefinition.action?contentTypeDefinitionId=" + this.contentTypeDefinitionId, "UTF-8"), "UTF-8");
buttons.add(getAccessRightsButton("ContentTypeDefinition", this.contentTypeDefinitionId.toString(), returnAddress));
}
return buttons;
}
private List getCategoryButtons() throws Exception
{
String url = "CategoryManagement!new.action";
if(getCategoryId() != null)
url += "?model/parentId=" + getCategoryId();
List buttons = new ArrayList();
buttons.add(new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newCategory"), "New Category"));
if(getCategoryId() != null)
buttons.add(new ImageButton(true, "javascript:openPopup('CategoryManagement!displayTreeForMove.action?categoryId=" + getCategoryId() + "', 'Category', 'width=400,height=600,resizable=no,status=yes');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.moveCategory"), "Move Category"));
buttons.add(new ImageButton(true, "javascript:submitListForm('category');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteCategory"), "Delete Category"));
if(getCategoryId() != null)
{
String returnAddress = URLEncoder.encode(URLEncoder.encode("CategoryManagement!edit.action?categoryId=" + getCategoryId() + "&title=Category%20Details", "UTF-8"), "UTF-8");
buttons.add(getAccessRightsButton("Category", getCategoryId().toString(), returnAddress));
}
return buttons;
}
private ImageButton getAccessRightsButton(String interceptionPointCategory, String extraParameter, String returnAddress) throws Exception
{
return new ImageButton("ViewAccessRights.action?interceptionPointCategory=" + interceptionPointCategory + "&extraParameters=" + extraParameter +"&colorScheme=ManagementTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "tool.managementtool.accessRights.header");
}
private List getRedirectsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateRedirect!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newRedirect"), "New Redirect"));
buttons.add(new ImageButton(true, "javascript:submitListForm('redirect');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteRedirect"), "tool.managementtool.deleteRedirects.header"));
return buttons;
}
private List getRedirectDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = RedirectController.getController().getRedirectVOWithId(this.redirectId).getUrl();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteRedirect.header&yesDestination=" + URLEncoder.encode("DeleteRedirect.action?redirectId=" + this.redirectId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListWorkflowDefinition.action", "UTF-8") + "&message=tool.managementtool.deleteWorkflowDefinition.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteWorkflowDefinition"), "tool.managementtool.deleteWorkflowDefinition.header"));
return buttons;
}
private List getPortletsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("UploadPortlet.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newPortlet"), "New Portlet"));
//buttons.add(new ImageButton(true, "javascript:submitListForm('workflowDefinition');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteWorkflowDefinition"), "tool.managementtool.deleteWorkflowDefinitions.header"));
return buttons;
}
private List getWorkflowDefinitionsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateWorkflowDefinition!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newWorkflowDefinition"), "New WorkflowDefinition"));
buttons.add(new ImageButton(true, "javascript:submitListForm('workflowDefinition');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteWorkflowDefinition"), "tool.managementtool.deleteWorkflowDefinitions.header"));
return buttons;
}
private List getWorkflowDefinitionDetailsButtons() throws Exception
{
List buttons = new ArrayList();
this.name = WorkflowDefinitionController.getController().getWorkflowDefinitionVOWithId(this.workflowDefinitionId).getName();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteWorkflowDefinition.header&yesDestination=" + URLEncoder.encode("DeleteWorkflowDefinition.action?workflowDefinitionId=" + this.workflowDefinitionId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListWorkflowDefinition.action", "UTF-8") + "&message=tool.managementtool.deleteWorkflowDefinition.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteWorkflowDefinition"), "tool.managementtool.deleteWorkflowDefinition.header"));
final String protectWorkflows = CmsPropertyHandler.getProtectWorkflows();
if(protectWorkflows != null && protectWorkflows.equalsIgnoreCase("true"))
{
String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewWorkflowDefinition.action?workflowDefinitionId=" + this.workflowDefinitionId, "UTF-8"), "UTF-8");
final WorkflowDefinitionVO workflowDefinition = WorkflowDefinitionController.getController().getWorkflowDefinitionVOWithId(this.workflowDefinitionId);
buttons.add(new ImageButton("ViewAccessRights.action?interceptionPointCategory=Workflow&extraParameters=" + workflowDefinition.getName() +"&colorScheme=ManagementTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.accessRights"), "tool.managementtool.accessRights.header"));
}
return buttons;
}
private List getServerNodesButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateServerNode!input.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newServerNode"), "tool.managementtool.createServerNode.header"));
buttons.add(new ImageButton(true, "javascript:submitListForm('serverNode');", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteServerNode"), "tool.managementtool.deleteServerNodes.header"));
buttons.add(new ImageButton("ViewServerNodeProperties.action?serverNodeId=-1", getLocalizedString(getSession().getLocale(), "images.global.buttons.editProperties"), "Edit Properties", new Integer(22), new Integer(80)));
return buttons;
}
private List getServerNodeDetailsButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("Confirm.action?header=tool.managementtool.deleteServerNode.header&yesDestination=" + URLEncoder.encode("DeleteServerNode.action?serverNodeId=" + this.serverNodeId, "UTF-8") + "&noDestination=" + URLEncoder.encode("ViewListServerNode.action?title=ServerNodes", "UTF-8") + "&message=tool.managementtool.deleteServerNode.text&extraParameters=" + this.name, getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.deleteServerNode"), "tool.managementtool.deleteServerNode.header"));
buttons.add(new ImageButton("ViewServerNodeProperties.action?serverNodeId=" + this.serverNodeId, getLocalizedString(getSession().getLocale(), "images.global.buttons.editProperties"), "Edit Properties", new Integer(22), new Integer(80)));
return buttons;
}
private List getMessageCenterButtons() throws Exception
{
List buttons = new ArrayList();
buttons.add(new ImageButton("CreateEmail!inputChooseRecipients.action", getLocalizedString(getSession().getLocale(), "images.managementtool.buttons.newEmail"), "tool.managementtool.createEmail.header"));
return buttons;
}
}