diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index c7700ef148..c3259ccb77 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -673,6 +673,7 @@ apply_rss_feed_warning1=This Space must be visible to the Guest user for the RSS apply_rss_feed_warning2=view. rss_feed=RSS Feed rss_feed_link=RSS Feed Link +warn_cannot_view_target_details=Cannot view details of the target document as you do not have the required permissions. # Export messages export_info=Exports metadata and content from this or all Spaces. @@ -785,6 +786,7 @@ create_form_form_details_step1_desc=Select XML schema to use create_form_form_details_step2_desc=Specify details for new form. create_form_form_details_no_elements_in_schema=This schema does not contain any element declarations. A schema must contain at least one element declaration in order to generate a form. create_form_form_details_no_schema_selected= +create_form_form_details_associated_web_projects=This form is currently configured for the following web projects: create_form_configure_rendering_engine_templates_title=Configure Templates create_form_configure_rendering_engine_templates_step_title=Step Two - Configure Templates create_form_configure_rendering_engine_templates_desc=Enter information about the rendering engine templates you want to use for form {0}. @@ -1416,6 +1418,7 @@ delete_op_contents=Files and folders within this space. # Email users dialog email_space_users=Email Space users email_space_users_desc=Send an email to the users and groups assigned to this space. +email_space_users_no_recipients=There are no users or groups assigned to this space, press Cancel to exit the dialog. # Workflow messages doc_not_in_simple_workflow=This document is not part of a simple workflow. diff --git a/config/alfresco/web-client-application-context.xml b/config/alfresco/web-client-application-context.xml index 48a4d753d3..76cc624ea6 100644 --- a/config/alfresco/web-client-application-context.xml +++ b/config/alfresco/web-client-application-context.xml @@ -267,6 +267,9 @@ + + + diff --git a/config/alfresco/web-client-config-actions.xml b/config/alfresco/web-client-config-actions.xml index 255afed809..84671981a2 100644 --- a/config/alfresco/web-client-config-actions.xml +++ b/config/alfresco/web-client-config-actions.xml @@ -339,6 +339,18 @@ #{ClipboardBean.pasteAll} + + + + + CreateChildren + + add_content + /images/icons/add.gif + dialog:addContent + #{AddContentDialog.start} + + @@ -649,6 +661,12 @@ + + + + + + false diff --git a/source/java/org/alfresco/web/bean/NavigationBean.java b/source/java/org/alfresco/web/bean/NavigationBean.java index 9a242bca4b..379bc8d7c8 100644 --- a/source/java/org/alfresco/web/bean/NavigationBean.java +++ b/source/java/org/alfresco/web/bean/NavigationBean.java @@ -35,6 +35,7 @@ import javax.faces.event.ActionEvent; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.filesys.CIFSServer; +import org.alfresco.filesys.server.config.ServerConfiguration; import org.alfresco.filesys.server.filesys.DiskSharedDevice; import org.alfresco.filesys.smb.server.repo.ContentContext; import org.alfresco.filesys.smb.server.repo.ContentDiskInterface; @@ -67,6 +68,7 @@ import org.alfresco.web.ui.common.component.UIModeList; import org.alfresco.web.ui.repo.component.IRepoBreadcrumbHandler; import org.alfresco.web.ui.repo.component.shelf.UIShelf; import org.apache.log4j.Logger; +import org.springframework.web.jsf.FacesContextUtils; /** * Bean providing access and management of the various global navigation mechanisms @@ -587,23 +589,27 @@ public class NavigationBean Path path = node.getNodePath(); // resolve CIFS network folder location for this node - DiskSharedDevice diskShare = cifsServer.getConfiguration().getPrimaryFilesystem(); - - if (diskShare != null && diskShare.getContext() instanceof ContentContext) + ServerConfiguration fileServiceConfig = (ServerConfiguration)FacesContextUtils.getRequiredWebApplicationContext( + FacesContext.getCurrentInstance()).getBean("fileServerConfiguration"); + if (fileServiceConfig.isSMBServerEnabled()) { - ContentContext contentCtx = (ContentContext) diskShare.getContext(); - NodeRef rootNode = contentCtx.getRootNode(); - try + DiskSharedDevice diskShare = cifsServer.getConfiguration().getPrimaryFilesystem(); + if (diskShare != null && diskShare.getContext() instanceof ContentContext) { - String cifsPath = Repository.getNamePath(this.nodeService, path, rootNode, "\\", "file:///" + getCIFSServerPath(diskShare)); - - node.getProperties().put("cifsPath", cifsPath); - node.getProperties().put("cifsPathLabel", cifsPath.substring(8)); // strip file:/// part - } - catch(AccessDeniedException ade) - { - node.getProperties().put("cifsPath", ""); - node.getProperties().put("cifsPathLabel",""); // strip file:/// part + ContentContext contentCtx = (ContentContext) diskShare.getContext(); + NodeRef rootNode = contentCtx.getRootNode(); + try + { + String cifsPath = Repository.getNamePath(this.nodeService, path, rootNode, "\\", "file:///" + getCIFSServerPath(diskShare)); + + node.getProperties().put("cifsPath", cifsPath); + node.getProperties().put("cifsPathLabel", cifsPath.substring(8)); // strip file:/// part + } + catch(AccessDeniedException ade) + { + node.getProperties().put("cifsPath", ""); + node.getProperties().put("cifsPathLabel",""); // strip file:/// part + } } } diff --git a/source/java/org/alfresco/web/bean/wcm/CreateFormWizard.java b/source/java/org/alfresco/web/bean/wcm/CreateFormWizard.java index 9d6d67ff3c..6ef118eec5 100644 --- a/source/java/org/alfresco/web/bean/wcm/CreateFormWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/CreateFormWizard.java @@ -19,7 +19,8 @@ * and Open Source Software ("FLOSS") applications as described in Alfresco's * FLOSS exception. You should have recieved a copy of the text describing * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" */ + * http://www.alfresco.com/legal/licensing + */ package org.alfresco.web.bean.wcm; import java.io.File; @@ -685,6 +686,11 @@ public class CreateFormWizard return false; } + public List getAssociatedWebProjects() + { + return Collections.emptyList(); + } + /** * Returns the properties for current configured output methods JSF DataModel * diff --git a/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java b/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java index 49c6855caf..780ff4f020 100644 --- a/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java @@ -51,14 +51,12 @@ import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PersonService; import org.alfresco.service.cmr.workflow.WorkflowDefinition; import org.alfresco.service.cmr.workflow.WorkflowService; -import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.DNSNameMangler; import org.alfresco.web.app.AlfrescoNavigationHandler; import org.alfresco.web.app.Application; import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.bean.repository.Node; -import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.wizard.BaseWizardBean; import org.alfresco.web.bean.wizard.InviteUsersWizard.UserGroupRole; import org.alfresco.web.forms.Form; @@ -86,7 +84,7 @@ public class CreateWebsiteWizard extends BaseWizardBean private static final String WEBAPP_DEFAULT = "ROOT"; - protected final static Log LOGGER = LogFactory.getLog(CreateWebsiteWizard.class); + protected final static Log logger = LogFactory.getLog(CreateWebsiteWizard.class); protected boolean editMode = false; protected String dnsName; @@ -171,8 +169,8 @@ public class CreateWebsiteWizard extends BaseWizardBean WCMAppModel.TYPE_AVMWEBFOLDER); NodeRef nodeRef = fileInfo.getNodeRef(); - if (LOGGER.isDebugEnabled()) - LOGGER.debug("Created website folder node with name: " + this.name); + if (logger.isDebugEnabled()) + logger.debug("Created website folder node with name: " + this.name); // TODO: check that this dns is unique by querying existing store properties for a match String avmStore = DNSNameMangler.MakeDNSName(this.dnsName); @@ -193,7 +191,7 @@ public class CreateWebsiteWizard extends BaseWizardBean // call a delegate wizard bean to provide invite user functionality InviteWebsiteUsersWizard wiz = getInviteUsersWizard(); - wiz.init(null); + wiz.reset(); wiz.setNode(new Node(nodeRef)); wiz.setAvmStore(avmStore); wiz.setStandalone(false); diff --git a/source/java/org/alfresco/web/bean/wcm/EditFormWizard.java b/source/java/org/alfresco/web/bean/wcm/EditFormWizard.java index 7ff5d0d8dc..b333816b64 100644 --- a/source/java/org/alfresco/web/bean/wcm/EditFormWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/EditFormWizard.java @@ -63,6 +63,7 @@ public class EditFormWizard private final static Log LOGGER = LogFactory.getLog(EditFormWizard.class); private List removedRenderingEngineTemplates; + private List associatedWebProjects; // ------------------------------------------------------------------------------ // Wizard implementation @@ -136,6 +137,7 @@ public class EditFormWizard this.renderingEngineTemplates.add(data); } this.removedRenderingEngineTemplates = null; + this.associatedWebProjects = this.formsService.getAssociatedWebProjects(form); } /** @@ -149,7 +151,11 @@ public class EditFormWizard final NodeRef formNodeRef = this.browseBean.getActionSpace().getNodeRef(); // apply the name, title and description props - this.nodeService.setProperty(formNodeRef, ContentModel.PROP_NAME, this.getFormName()); + if (!this.getFormName().equals(this.nodeService.getProperty(formNodeRef, ContentModel.PROP_NAME))) + { + this.fileFolderService.rename(formNodeRef, this.getFormName()); + } + this.nodeService.setProperty(formNodeRef, ContentModel.PROP_TITLE, this.getFormTitle()); this.nodeService.setProperty(formNodeRef, ContentModel.PROP_DESCRIPTION, this.getFormDescription()); this.nodeService.setProperty(formNodeRef, @@ -252,8 +258,15 @@ public class EditFormWizard /** Indicates whether or not the wizard is currently in edit mode */ + @Override public boolean getEditMode() { return true; } + + @Override + public List getAssociatedWebProjects() + { + return this.associatedWebProjects; + } } diff --git a/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java b/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java index 0ad9243523..6eafc2032f 100644 --- a/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java @@ -147,7 +147,7 @@ public class EditWebsiteWizard extends CreateWebsiteWizard catch (FormNotFoundException fnfe) { //ignore - LOGGER.debug(fnfe.getMessage(), fnfe); + logger.debug(fnfe.getMessage(), fnfe); } } diff --git a/source/java/org/alfresco/web/bean/wcm/InviteWebsiteUsersWizard.java b/source/java/org/alfresco/web/bean/wcm/InviteWebsiteUsersWizard.java index 83b475b650..d91a29128b 100644 --- a/source/java/org/alfresco/web/bean/wcm/InviteWebsiteUsersWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/InviteWebsiteUsersWizard.java @@ -59,9 +59,6 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard /** the node representing the website */ private Node website; - /** list of authorities with the Content Manager role */ - private List managers; - /** root AVM store the users are invited into */ private String avmStore; @@ -93,11 +90,19 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard // only allow one selection per authority this.allowDuplicateAuthorities = false; this.website = null; - this.managers = null; this.avmStore = null; this.standalone = true; } - + + public void reset() + { + this.isFinished = false; + this.allowDuplicateAuthorities = false; + this.website = null; + this.avmStore = null; + this.standalone = true; + } + /** * @see org.alfresco.web.bean.wizard.InviteUsersWizard#finishImpl(javax.faces.context.FacesContext, java.lang.String) */ @@ -108,7 +113,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard // create a sandbox for each user appropriately with permissions based on role // build a list of managers who will have full permissions on ALL staging areas - this.managers = new ArrayList(4); + List managers = new ArrayList(4); Set existingUsers = new HashSet(8); if (isStandalone() == false) { @@ -127,7 +132,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard } if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userRole.getRole())) { - this.managers.add(userAuth); + managers.add(userAuth); } } } @@ -135,7 +140,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard if (foundCurrentUser == false) { this.userGroupRoles.add(new UserGroupRole(currentUser, AVMUtil.ROLE_CONTENT_MANAGER, null)); - this.managers.add(currentUser); + managers.add(currentUser); } } else @@ -148,7 +153,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard { if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userRole.getRole())) { - this.managers.add(userAuth); + managers.add(userAuth); } } } @@ -162,9 +167,9 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard String userrole = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE); if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userrole) && - this.managers.contains(username) == false) + managers.contains(username) == false) { - this.managers.add(username); + managers.add(username); } // add each existing user to the exclude this - we cannot add them more than once! @@ -185,7 +190,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard if (existingUsers.contains(userAuth) == false) { SandboxInfo info = SandboxFactory.createUserSandbox( - getAvmStore(), this.managers, userAuth, userRole.getRole()); + getAvmStore(), managers, userAuth, userRole.getRole()); this.sandboxInfoList.add(info); @@ -218,7 +223,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard if (existingUsers.contains(username)) { // only need to modify the sandboxes we haven't just created - SandboxFactory.updateSandboxManagers(getAvmStore(), this.managers, username); + SandboxFactory.updateSandboxManagers(getAvmStore(), managers, username); } } } @@ -352,14 +357,6 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard } } - /** - * @return List of authorities with the Content Manager role - */ - public List getManagers() - { - return this.managers; - } - /** * @return Returns the root AVM store. */ diff --git a/source/java/org/alfresco/web/bean/wizard/InviteUsersWizard.java b/source/java/org/alfresco/web/bean/wizard/InviteUsersWizard.java index 0d71e6499c..1cab6dedea 100644 --- a/source/java/org/alfresco/web/bean/wizard/InviteUsersWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/InviteUsersWizard.java @@ -319,7 +319,7 @@ public abstract class InviteUsersWizard extends BaseWizardBean String firstName = (String)this.nodeService.getProperty(personRef, ContentModel.PROP_FIRSTNAME); String lastName = (String)this.nodeService.getProperty(personRef, ContentModel.PROP_LASTNAME); String username = (String)this.nodeService.getProperty(personRef, ContentModel.PROP_USERNAME); - SelectItem item = new SortableSelectItem(username, firstName + " " + lastName, lastName); + SelectItem item = new SortableSelectItem(username, firstName + " " + lastName + " [" + username + "]", lastName); items[index] = item; } } diff --git a/source/java/org/alfresco/web/forms/FormsService.java b/source/java/org/alfresco/web/forms/FormsService.java index 4f3053cee9..45a274e532 100644 --- a/source/java/org/alfresco/web/forms/FormsService.java +++ b/source/java/org/alfresco/web/forms/FormsService.java @@ -38,11 +38,16 @@ import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.model.WCMAppModel; import org.alfresco.repo.avm.AVMNodeConverter; +import org.alfresco.repo.policy.PolicyComponent; +import org.alfresco.repo.policy.Behaviour; +import org.alfresco.repo.policy.JavaBehaviour; +import org.alfresco.repo.search.impl.lucene.QueryParser; import org.alfresco.service.cmr.avm.AVMNotFoundException; import org.alfresco.service.cmr.avm.AVMService; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.repository.AssociationRef; +import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.MimetypeService; @@ -96,12 +101,23 @@ public final class FormsService public FormsService(final ContentService contentService, final NodeService nodeService, final NamespaceService namespaceService, - final SearchService searchService) + final SearchService searchService, + final PolicyComponent policyComponent) { this.contentService = contentService; this.nodeService = nodeService; this.namespaceService = namespaceService; this.searchService = searchService; + policyComponent.bindClassBehaviour(QName.createQName(NamespaceService.ALFRESCO_URI, "onMoveNode"), + WCMAppModel.TYPE_FORMFOLDER, + new JavaBehaviour(this, + "handleMoveFormFolder", + Behaviour.NotificationFrequency.FIRST_EVENT)); + policyComponent.bindClassBehaviour(QName.createQName(NamespaceService.ALFRESCO_URI, "onDeleteNode"), + WCMAppModel.TYPE_FORMFOLDER, + new JavaBehaviour(this, + "handleDeleteFormFolder", + Behaviour.NotificationFrequency.FIRST_EVENT)); } /** @@ -174,18 +190,16 @@ public final class FormsService */ public Collection
getForms() { - final SearchParameters sp = new SearchParameters(); - sp.addStore(Repository.getStoreRef()); - sp.setLanguage(SearchService.LANGUAGE_LUCENE); - sp.setQuery("+ASPECT:\"" + WCMAppModel.ASPECT_FORM + - "\" +PARENT:\"" + this.getContentFormsNodeRef() + "\""); + final String query = + "+ASPECT:\"" + WCMAppModel.ASPECT_FORM + + "\" +PARENT:\"" + this.getContentFormsNodeRef() + "\""; + final ResultSet rs = this.searchService.query(Repository.getStoreRef(), + SearchService.LANGUAGE_LUCENE, + query); if (LOGGER.isDebugEnabled()) - LOGGER.debug("running query [" + sp.getQuery() + "]"); - final ResultSet rs = this.searchService.query(sp); - if (LOGGER.isDebugEnabled()) - LOGGER.debug("received " + rs.length() + " results"); + LOGGER.debug("found " + rs.length() + " form definitions"); final Collection result = new ArrayList(rs.length()); - for (ResultSetRow row : rs) + for (final ResultSetRow row : rs) { result.add(this.getForm(row.getNodeRef())); } @@ -269,4 +283,87 @@ public final class FormsService { return new RenditionImpl(nodeRef, this); } + + public List getAssociatedWebProjects(final Form form) + { + final List formConfigurations = this.getFormConfigurations(form.getName()); + if (LOGGER.isDebugEnabled()) + { + LOGGER.debug("found " + formConfigurations.size() + + " web projects configured with " + form.getName()); + } + final List result = new ArrayList(formConfigurations.size()); + for (final NodeRef ref : formConfigurations) + { + final List parents = this.nodeService.getParentAssocs(ref); + assert parents.size() != 1 : ("expected only one parent for " + ref + + " got " + parents.size()); + result.add(new WebProject(parents.get(0).getParentRef())); + } + return result; + } + + // event handlers + + public void handleMoveFormFolder(final ChildAssociationRef oldChild, final ChildAssociationRef newChild) + { + final String oldName = oldChild.getQName().getLocalName(); + final String newName = newChild.getQName().getLocalName(); + final List formConfigurations = this.getFormConfigurations(oldName); + // find all webprojects that used the old name + if (LOGGER.isDebugEnabled()) + { + LOGGER.debug("handling rename (" + oldName + + " => " + newName + + ") for " + formConfigurations.size()); + } + for (final NodeRef ref : formConfigurations) + { + this.nodeService.setProperty(ref, + WCMAppModel.PROP_FORMNAME, + newName); + } + } + + public void handleDeleteFormFolder(final ChildAssociationRef childRef, + final boolean isArchivedNode) + { + final String formName = childRef.getQName().getLocalName(); + final List formConfigurations = this.getFormConfigurations(formName); + for (final NodeRef ref : formConfigurations) + { + final List parents = this.nodeService.getParentAssocs(ref); + assert parents.size() != 1 : ("expected only one parent for " + ref + + " got " + parents.size()); + final NodeRef parentRef = parents.get(0).getParentRef(); + if (LOGGER.isDebugEnabled()) + { + + LOGGER.debug("removing configuration for " + formName + + " from web project " + this.nodeService.getProperty(parentRef, ContentModel.PROP_NAME)); + } + this.nodeService.removeChild(parentRef, ref); + } + } + + private List getFormConfigurations(final String formName) + { + final String query = + "+TYPE:\"" + WCMAppModel.TYPE_WEBFORM + + "\" +@" + Repository.escapeQName(WCMAppModel.PROP_FORMNAME) + + ":\"" + QueryParser.escape(formName) + "\""; + final ResultSet rs = this.searchService.query(Repository.getStoreRef(), + SearchService.LANGUAGE_LUCENE, + query); + if (LOGGER.isDebugEnabled()) + { + LOGGER.debug("query " + query + " returned " + rs.length() + " results"); + } + final List result = new ArrayList(rs.length()); + for (final ResultSetRow row : rs) + { + result.add(row.getNodeRef()); + } + return result; + } } diff --git a/source/java/org/alfresco/web/ui/repo/component/property/UIAssociationEditor.java b/source/java/org/alfresco/web/ui/repo/component/property/UIAssociationEditor.java index e8322e8389..cd6bb3e697 100644 --- a/source/java/org/alfresco/web/ui/repo/component/property/UIAssociationEditor.java +++ b/source/java/org/alfresco/web/ui/repo/component/property/UIAssociationEditor.java @@ -25,7 +25,6 @@ package org.alfresco.web.ui.repo.component.property; import java.io.IOException; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; @@ -35,11 +34,13 @@ import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; import org.alfresco.model.ContentModel; +import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.service.cmr.repository.AssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.namespace.QName; +import org.alfresco.web.app.Application; import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.User; @@ -56,6 +57,8 @@ import org.apache.commons.logging.LogFactory; public class UIAssociationEditor extends BaseAssociationEditor { private static final Log logger = LogFactory.getLog(UIAssociationEditor.class); + + public static final String MSG_WARN_CANNOT_VIEW_TARGET_DETAILS = "warn_cannot_view_target_details"; // ------------------------------------------------------------------------------ // Component implementation @@ -180,9 +183,19 @@ public class UIAssociationEditor extends BaseAssociationEditor else { // use the standard cm:name property - out.write(Repository.getDisplayPath(nodeService.getPath(targetNode))); - out.write("/"); - out.write(Repository.getNameForNode(nodeService, targetNode)); + + // Fix AWC-1301 + String displayString = null; + try + { + displayString = Repository.getDisplayPath(nodeService.getPath(targetNode)) + "/" + Repository.getNameForNode(nodeService, targetNode); + } + catch (AccessDeniedException ade) + { + displayString = Application.getMessage(context, MSG_WARN_CANNOT_VIEW_TARGET_DETAILS); + } + + out.write(displayString); } out.write(""); } diff --git a/source/web/jsp/browse/browse.jsp b/source/web/jsp/browse/browse.jsp index b720c735fa..945ea76a8a 100644 --- a/source/web/jsp/browse/browse.jsp +++ b/source/web/jsp/browse/browse.jsp @@ -133,11 +133,7 @@ <%-- Quick upload action --%> - - - - - + <%-- Create actions menu --%> diff --git a/source/web/jsp/dialog/document-details.jsp b/source/web/jsp/dialog/document-details.jsp index 56b29300d1..7ff2bff80d 100644 --- a/source/web/jsp/dialog/document-details.jsp +++ b/source/web/jsp/dialog/document-details.jsp @@ -437,7 +437,7 @@ + pageSize="10" initialSortColumn="versionDate" initialSortDescending="true"> <%-- Primary column for details view mode --%> diff --git a/source/web/jsp/dialog/versioned-details.jsp b/source/web/jsp/dialog/versioned-details.jsp index 0be3dcbf13..641463e507 100644 --- a/source/web/jsp/dialog/versioned-details.jsp +++ b/source/web/jsp/dialog/versioned-details.jsp @@ -240,7 +240,7 @@ + pageSize="10" initialSortColumn="versionDate" initialSortDescending="true"> <%-- Primary column for details view mode --%> diff --git a/source/web/jsp/users/email-space-users.jsp b/source/web/jsp/users/email-space-users.jsp index ecec998edf..81b9429fdd 100644 --- a/source/web/jsp/users/email-space-users.jsp +++ b/source/web/jsp/users/email-space-users.jsp @@ -58,6 +58,14 @@ + + + + + + + +
@@ -85,3 +93,5 @@ + +
\ No newline at end of file diff --git a/source/web/jsp/wcm/create-form-wizard/details.jsp b/source/web/jsp/wcm/create-form-wizard/details.jsp index 9ca19b93fd..4b071393d3 100644 --- a/source/web/jsp/wcm/create-form-wizard/details.jsp +++ b/source/web/jsp/wcm/create-form-wizard/details.jsp @@ -95,6 +95,18 @@ immediate="true" style="display:none;" valueChangeListener="#{WizardManager.bean.schemaFileValueChanged}"/> + + + +
    + +
  • ${wp.name}
  • +
    +
+
+
-