|
914 |
else: |
914 |
else: |
915 |
searchdn = unicode(dn) |
915 |
searchdn = unicode(dn) |
916 |
try: |
916 |
try: |
917 |
if not self.get_ucs_ldap_object(searchdn): # fails if object doesn't exist |
917 |
old = self.get_ucs_ldap_object(searchdn) |
|
|
918 |
if not old: |
918 |
ud.debug(ud.LDAP, ud.INFO, "get_ucs_object: object not found: %s" % searchdn) |
919 |
ud.debug(ud.LDAP, ud.INFO, "get_ucs_object: object not found: %s" % searchdn) |
919 |
return None |
920 |
return None |
920 |
module = self.modules[property_type] |
921 |
|
921 |
ucs_object = univention.admin.objects.get(module, co='', lo=self.lo, position='', dn=searchdn) # does not fail if object doesn't exist |
922 |
module = self.modules[property_type] # old default |
|
|
923 |
if not module.identify(unicode(dn, 'utf8'), old): |
924 |
if self.modules_others[property_type]: |
925 |
for m in self.modules_others[property_type]: |
926 |
if m and m.identify(unicode(dn, 'utf8'), old): |
927 |
module = m |
928 |
break |
929 |
else: |
930 |
ud.debug(ud.LDAP, ud.ERROR, "get_ucs_object: could not identify UDM object type: %s" % searchdn) |
931 |
ud.debug(ud.LDAP, ud.PROCESS, "get_ucs_object: using default: %s" % module.module) |
932 |
|
933 |
ucs_object = univention.admin.objects.get(module, co='', lo=self.lo, position='', dn=searchdn) |
922 |
ud.debug(ud.LDAP, ud.INFO, "get_ucs_object: object found: %s" % searchdn) |
934 |
ud.debug(ud.LDAP, ud.INFO, "get_ucs_object: object found: %s" % searchdn) |
923 |
except (ldap.SERVER_DOWN, SystemExit): |
935 |
except (ldap.SERVER_DOWN, SystemExit): |
924 |
raise |
936 |
raise |