Publizieren Assoiziation GenericContact <-> GenericOrganizatzationalUnit
git-svn-id: https://svn.libreccm.org/ccm/trunk@1565 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
355f54236f
commit
07dd42dc28
|
|
@ -76,7 +76,6 @@ public class GenericContactBundle
|
|||
(GenericContactBundle) source;
|
||||
|
||||
if (PERSON.equals(attribute)) {
|
||||
|
||||
final DataCollection persons = (DataCollection) contactBundle.
|
||||
get(PERSON);
|
||||
|
||||
|
|
@ -84,6 +83,15 @@ public class GenericContactBundle
|
|||
createPersonAssoc(persons);
|
||||
}
|
||||
|
||||
return true;
|
||||
} else if ("organizationalunit".equals(attribute)) {
|
||||
final DataCollection orgaunits = (DataCollection) contactBundle.
|
||||
get("organizationalunit");
|
||||
|
||||
while (orgaunits.next()) {
|
||||
createOrgaUnitAssoc(orgaunits);
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return super.copyProperty(source, property, copier);
|
||||
|
|
@ -114,6 +122,28 @@ public class GenericContactBundle
|
|||
}
|
||||
}
|
||||
|
||||
private void createOrgaUnitAssoc(final DataCollection orgaunits) {
|
||||
final GenericOrganizationalUnitBundle draftOrga =
|
||||
(GenericOrganizationalUnitBundle) DomainObjectFactory.
|
||||
newInstance(orgaunits.getDataObject());
|
||||
final GenericOrganizationalUnitBundle liveOrga =
|
||||
(GenericOrganizationalUnitBundle) draftOrga.
|
||||
getLiveVersion();
|
||||
|
||||
if (liveOrga != null) {
|
||||
final DataObject link = add("organizationalunit", liveOrga);
|
||||
|
||||
link.set(GenericOrganizationalUnitContactCollection.CONTACT_TYPE,
|
||||
orgaunits.get(
|
||||
GenericOrganizationalUnitContactCollection.LINK_CONTACT_TYPE));
|
||||
link.set(GenericOrganizationalUnitContactCollection.CONTACT_ORDER,
|
||||
orgaunits.get(
|
||||
GenericOrganizationalUnitContactCollection.LINK_CONTACT_ORDER));
|
||||
|
||||
link.save();
|
||||
}
|
||||
}
|
||||
|
||||
public GenericPerson getPerson() {
|
||||
DataCollection collection;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue