diff --git a/config/alfresco/templates/email/invite_user_email.ftl b/config/alfresco/templates/email/invite_user_email.ftl index 4686476111..1f8db20624 100644 --- a/config/alfresco/templates/email/invite_user_email.ftl +++ b/config/alfresco/templates/email/invite_user_email.ftl @@ -1,6 +1,6 @@ You have been invited to '${space.name}' by ${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}. -You will have the role of: ${role} +<#if role?exists>You will have the role of: ${role} You can view the space through the Alfresco client: <#assign ref=space.nodeRef> diff --git a/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java b/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java index 6e812a3c39..18283d22aa 100644 --- a/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java +++ b/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java @@ -169,7 +169,7 @@ public final class AuthenticationHelper NodeRef guestHomeRef = (NodeRef)nodeService.getProperty(guestRef, ContentModel.PROP_HOMEFOLDER); // check that the home space node exists - else Guest cannot proceed - if (nodeService.exists(guestHomeRef) == false) + if (guestHomeRef == null || nodeService.exists(guestHomeRef) == false) { // cannot login as Guest as Home is missing - return to login screen logger.warn("Unable to locate Guest Home space - may have been deleted?"); diff --git a/source/java/org/alfresco/web/bean/repository/Repository.java b/source/java/org/alfresco/web/bean/repository/Repository.java index e7ab174dae..e67c882393 100644 --- a/source/java/org/alfresco/web/bean/repository/Repository.java +++ b/source/java/org/alfresco/web/bean/repository/Repository.java @@ -209,20 +209,24 @@ public final class Repository { String name = null; - // try to find a display "name" property for this node - Object nameProp = nodeService.getProperty(ref, ContentModel.PROP_NAME); - if (nameProp != null) - { - name = nameProp.toString(); - } - else - { - // revert to using QName if not found - QName qname = nodeService.getPrimaryParent(ref).getQName(); - if (qname != null) - { - name = qname.getLocalName(); - } + // Check that node reference still exists + if (nodeService.exists(ref) == true) + { + // try to find a display "name" property for this node + Object nameProp = nodeService.getProperty(ref, ContentModel.PROP_NAME); + if (nameProp != null) + { + name = nameProp.toString(); + } + else + { + // revert to using QName if not found + QName qname = nodeService.getPrimaryParent(ref).getQName(); + if (qname != null) + { + name = qname.getLocalName(); + } + } } return name; diff --git a/source/java/org/alfresco/web/bean/spaces/CreateSpaceWizard.java b/source/java/org/alfresco/web/bean/spaces/CreateSpaceWizard.java index f81e0986ac..587cedafe0 100644 --- a/source/java/org/alfresco/web/bean/spaces/CreateSpaceWizard.java +++ b/source/java/org/alfresco/web/bean/spaces/CreateSpaceWizard.java @@ -561,65 +561,73 @@ public class CreateSpaceWizard extends BaseWizardBean for (ConfigElement child : typesCfg.getChildren()) { QName idQName = Repository.resolveToQName(child.getAttribute("name")); - TypeDefinition typeDef = this.getDictionaryService().getType(idQName); - - if (typeDef != null) + if (idQName != null) { - if (this.getDictionaryService().isSubClass(typeDef.getName(), ContentModel.TYPE_FOLDER)) + TypeDefinition typeDef = this.getDictionaryService().getType(idQName); + + if (typeDef != null) { - // try and get the label from config - String label = Utils.getDisplayLabel(context, child); - - // if there wasn't a client based label try and get it from the dictionary - if (label == null) + if (this.getDictionaryService().isSubClass(typeDef.getName(), ContentModel.TYPE_FOLDER)) { - label = typeDef.getTitle(); + // try and get the label from config + String label = Utils.getDisplayLabel(context, child); + + // if there wasn't a client based label try and get it from the dictionary + if (label == null) + { + label = typeDef.getTitle(); + } + + // finally use the localname if we still haven't found a label + if (label == null) + { + label = idQName.getLocalName(); + } + + // resolve a description string for the type + String description = Utils.getDescription(context, child); + + // if we don't have a local description just use the label + if (description == null) + { + description = label; + } + + // extract the icon to use from the config + String icon = child.getAttribute("icon"); + if (icon == null || icon.length() == 0) + { + icon = DEFAULT_SPACE_TYPE_ICON_PATH; + } + + UIListItem item = new UIListItem(); + item.setValue(idQName.toString()); + item.setLabel(label); + item.setTooltip(label); + item.setImage(icon); + this.folderTypes.add(item); + + UIDescription desc = new UIDescription(); + desc.setControlValue(idQName.toString()); + desc.setText(description); + this.folderTypeDescriptions.add(desc); } - - // finally use the localname if we still haven't found a label - if (label == null) + else { - label = idQName.getLocalName(); + logger.warn("Failed to add '" + child.getAttribute("name") + + "' to the list of folder types as the type is not a subtype of cm:folder"); } - - // resolve a description string for the type - String description = Utils.getDescription(context, child); - - // if we don't have a local description just use the label - if (description == null) - { - description = label; - } - - // extract the icon to use from the config - String icon = child.getAttribute("icon"); - if (icon == null || icon.length() == 0) - { - icon = DEFAULT_SPACE_TYPE_ICON_PATH; - } - - UIListItem item = new UIListItem(); - item.setValue(idQName.toString()); - item.setLabel(label); - item.setTooltip(label); - item.setImage(icon); - this.folderTypes.add(item); - - UIDescription desc = new UIDescription(); - desc.setControlValue(idQName.toString()); - desc.setText(description); - this.folderTypeDescriptions.add(desc); } else { logger.warn("Failed to add '" + child.getAttribute("name") + - "' to the list of folder types as the type is not a subtype of cm:folder"); + "' to the list of folder types as the type is not recognised"); } } else { logger.warn("Failed to add '" + child.getAttribute("name") + - "' to the list of folder types as the type is not recognised"); + "' to the list of folder types as the prefix can not be resolved"); } } }