Lines 2507-2513
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2507 |
ud.debug(ud.LDAP, ud.PROCESS, "Unable to sync %s (GUID: %s). The object is currently locked." % (object['dn'], objectGUID)) |
2507 |
ud.debug(ud.LDAP, ud.PROCESS, "Unable to sync %s (GUID: %s). The object is currently locked." % (object['dn'], objectGUID)) |
2508 |
return False |
2508 |
return False |
2509 |
|
2509 |
|
2510 |
entryUUID = object['attributes'].get('entryUUID')[0] |
2510 |
entryUUID = object['attributes'].get('entryUUID', [None])[0] # may be empty for back_mapped_subobject for leaf object delete_in_s4 |
2511 |
|
2511 |
|
2512 |
# |
2512 |
# |
2513 |
# ADD |
2513 |
# ADD |
Lines 2516-2522
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2516 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: add object: %s" % object['dn']) |
2516 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: add object: %s" % object['dn']) |
2517 |
|
2517 |
|
2518 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: lock UCS entryUUID: %s" % entryUUID) |
2518 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: lock UCS entryUUID: %s" % entryUUID) |
2519 |
self.lockingdb.lock_ucs(entryUUID) |
2519 |
if entryUUID: |
|
|
2520 |
self.lockingdb.lock_ucs(entryUUID) |
2520 |
|
2521 |
|
2521 |
self.addToCreationList(object['dn']) |
2522 |
self.addToCreationList(object['dn']) |
2522 |
|
2523 |
|
Lines 2771-2777
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2771 |
return False |
2772 |
return False |
2772 |
|
2773 |
|
2773 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: unlock UCS entryUUID: %s" % entryUUID) |
2774 |
ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: unlock UCS entryUUID: %s" % entryUUID) |
2774 |
self.lockingdb.unlock_ucs(entryUUID) |
2775 |
if entryUUID: |
|
|
2776 |
self.lockingdb.unlock_ucs(entryUUID) |
2775 |
|
2777 |
|
2776 |
self._check_dn_mapping(pre_mapped_ucs_dn, object['dn']) |
2778 |
self._check_dn_mapping(pre_mapped_ucs_dn, object['dn']) |
2777 |
|
2779 |
|
Lines 2794-2800
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2794 |
try: |
2796 |
try: |
2795 |
objectGUID = self._get_objectGUID(object['dn']) |
2797 |
objectGUID = self._get_objectGUID(object['dn']) |
2796 |
self.lo_s4.lo.delete_s(compatible_modstring(object['dn'])) |
2798 |
self.lo_s4.lo.delete_s(compatible_modstring(object['dn'])) |
2797 |
self.update_deleted_cache_after_removal(object.get('attributes').get('entryUUID')[0], objectGUID) |
|
|
2798 |
except ldap.NO_SUCH_OBJECT: |
2799 |
except ldap.NO_SUCH_OBJECT: |
2799 |
pass # object already deleted |
2800 |
pass # object already deleted |
2800 |
except ldap.NOT_ALLOWED_ON_NONLEAF: |
2801 |
except ldap.NOT_ALLOWED_ON_NONLEAF: |
Lines 2814-2824
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2814 |
continue |
2815 |
continue |
2815 |
ud.debug(ud.LDAP, ud.INFO, "delete: %s" % result[0]) |
2816 |
ud.debug(ud.LDAP, ud.INFO, "delete: %s" % result[0]) |
2816 |
subobject_s4 = {'dn': result[0], 'modtype': 'delete', 'attributes': result[1]} |
2817 |
subobject_s4 = {'dn': result[0], 'modtype': 'delete', 'attributes': result[1]} |
2817 |
key = None |
2818 |
key = self.__identify(subobject_s4) |
2818 |
for k in self.property.keys(): |
|
|
2819 |
if self.modules[k].identify(result[0], result[1]): |
2820 |
key = k |
2821 |
break |
2822 |
back_mapped_subobject = self._object_mapping(key, subobject_s4) |
2819 |
back_mapped_subobject = self._object_mapping(key, subobject_s4) |
2823 |
ud.debug(ud.LDAP, ud.WARN, "delete subobject: %s" % back_mapped_subobject['dn']) |
2820 |
ud.debug(ud.LDAP, ud.WARN, "delete subobject: %s" % back_mapped_subobject['dn']) |
2824 |
if not self._ignore_object(key, back_mapped_subobject): |
2821 |
if not self._ignore_object(key, back_mapped_subobject): |
Lines 2832-2834
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2832 |
return False |
2829 |
return False |
2833 |
|
2830 |
|
2834 |
return self.delete_in_s4(object, property_type) |
2831 |
return self.delete_in_s4(object, property_type) |
|
|
2832 |
entryUUID = object.get('attributes').get('entryUUID', [None])[0] |
2833 |
if entryUUID: |
2834 |
self.update_deleted_cache_after_removal(entryUUID, objectGUID) |
2835 |
else: |
2836 |
ud.debug(ud.LDAP, ud.INFO, "delete_in_s4: Object without entryUUID: %s" % (object['dn'],)) |