diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/AbstractRmWebScript.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/AbstractRmWebScript.java index a6c0ff4c79..9a6704959d 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/AbstractRmWebScript.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/AbstractRmWebScript.java @@ -47,6 +47,7 @@ public abstract class AbstractRmWebScript extends DeclarativeWebScript protected static final String STORE_ID = "store_id"; protected static final String ID = "id"; protected static final String SUCCESS = "success"; + protected static final String INVERT = "__invert"; /** Disposition service */ private DispositionService dispositionService; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefPost.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefPost.java index b65fac1c01..105a142929 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefPost.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefPost.java @@ -126,7 +126,15 @@ public class CustomRefPost extends AbstractRmWebScript NodeRef target = getTargetNode(json); NodeRef source = parseRequestForNodeRef(req); - getRelationshipService().addRelationship(uniqueName, source, target); + if (uniqueName.endsWith(INVERT)) + { + String uniqueNameStem = uniqueName.split(INVERT)[0]; + getRelationshipService().addRelationship(uniqueNameStem, target, source); + } + else + { + getRelationshipService().addRelationship(uniqueName, source, target); + } } /** diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/RelationshipLabelsGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/RelationshipLabelsGet.java index 3f52761471..c3850a7033 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/RelationshipLabelsGet.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/RelationshipLabelsGet.java @@ -104,7 +104,7 @@ public class RelationshipLabelsGet extends AbstractRmWebScript if (RelationshipType.PARENTCHILD.equals(type)) { - relationshipLabels.add(new RelationshipLabel(sourceText, uniqueName)); + relationshipLabels.add(new RelationshipLabel(sourceText, uniqueName + INVERT)); relationshipLabels.add(new RelationshipLabel(targetText, uniqueName)); } else if (RelationshipType.BIDIRECTIONAL.equals(type))