diff --git a/ccm-cms/application.xml b/ccm-cms/application.xml index 1fa16bbb5..fdc411d38 100755 --- a/ccm-cms/application.xml +++ b/ccm-cms/application.xml @@ -2,7 +2,7 @@ diff --git a/ccm-cms/src/com/arsdigita/cms/ContentItem.java b/ccm-cms/src/com/arsdigita/cms/ContentItem.java index eeeaa98f9..a5797b8f2 100755 --- a/ccm-cms/src/com/arsdigita/cms/ContentItem.java +++ b/ccm-cms/src/com/arsdigita/cms/ContentItem.java @@ -1955,17 +1955,28 @@ public class ContentItem extends VersionedACSObject implements CustomCopy { return assocCopier.copyProperty(source, property, copier); }*/ - if (handlesReverseProperties()) { - return copyReverseProperty(source, this, property, copier); + if (source instanceof ContentItem) { + final ContentItem sourceItem = (ContentItem) source; + final Object value = sourceItem.get(property.getName()); + if (value instanceof DataCollection) { + final DataCollection collection = (DataCollection) value; + while(collection.next()) { + DomainObject obj = DomainObjectFactory.newInstance(collection.getDataObject()); + if (obj instanceof ContentItem) { + final ContentItem item = (ContentItem) obj; + return item.copyReverseProperty(source, + item, + property, + + copier); + } + } + } } return false; } - - public boolean handlesReverseProperties() { - return false; - } - + public boolean copyReverseProperty(final CustomCopy source, final ContentItem liveItem, final Property property, diff --git a/ccm-sci-publications/application.xml b/ccm-sci-publications/application.xml index 994b31ff5..f13453263 100644 --- a/ccm-sci-publications/application.xml +++ b/ccm-sci-publications/application.xml @@ -2,12 +2,12 @@ - + diff --git a/ccm-sci-publications/src/ccm-sci-publications.upgrade b/ccm-sci-publications/src/ccm-sci-publications.upgrade index 1d7981863..8b2b3aa2e 100644 --- a/ccm-sci-publications/src/ccm-sci-publications.upgrade +++ b/ccm-sci-publications/src/ccm-sci-publications.upgrade @@ -5,4 +5,7 @@