View | Details | Raw Unified | Return to bug 41764
Collapse All | Expand All

(-)modules/univention/s4connector/s4/__init__.py (-4 / +6 lines)
 Lines 926-932    Link Here 
926
				if s4_group_attrs:
926
				if s4_group_attrs:
927
					s4_members = self.get_s4_members(s4_group_dn, s4_group_attrs)
927
					s4_members = self.get_s4_members(s4_group_dn, s4_group_attrs)
928
					group_cache = self.group_members_cache_con[s4_group_dn.lower()]
928
					group_cache = self.group_members_cache_con[s4_group_dn.lower()]
929
					group_cache.extend(m.lower() for m in s4_members)
929
					group_cache.extend([m.lower() for m in s4_members])
930
930
931
			ud.debug(ud.LDAP, ud.INFO, "__init__: self.group_members_cache_con: %s" % self.group_members_cache_con)
931
			ud.debug(ud.LDAP, ud.INFO, "__init__: self.group_members_cache_con: %s" % self.group_members_cache_con)
932
932
 Lines 1502-1512    Link Here 
1502
			return True  # nothing left to do
1502
			return True  # nothing left to do
1503
		else:
1503
		else:
1504
			s4_members = self.get_s4_members(s4_group_object['dn'], ldap_object_s4_group)
1504
			s4_members = self.get_s4_members(s4_group_object['dn'], ldap_object_s4_group)
1505
			s4_members = map(compatible_modstring, s4_members)
1506
			object_dn_modstring = compatible_modstring(object['dn'])
1505
			object_dn_modstring = compatible_modstring(object['dn'])
1506
			object_dn_modstring_lower = object_dn_modstring.lower()
1507
1507
1508
			s4_members_lower = map(str.lower, s4_members)
1508
			for member in s4_members:
1509
			if object_dn_modstring.lower() not in s4_members_lower:  # add as member
1509
				if object_dn_modstring_lower == compatible_modstring(member).lower():
1510
					break
1511
			else:
1510
				s4_members.append(object_dn_modstring)
1512
				s4_members.append(object_dn_modstring)
1511
				ud.debug(ud.LDAP, ud.INFO, "primary_group_sync_from_ucs: primary Group needs change of membership in S4")
1513
				ud.debug(ud.LDAP, ud.INFO, "primary_group_sync_from_ucs: primary Group needs change of membership in S4")
1512
				self.lo_s4.lo.modify_s(compatible_modstring(s4_group_object['dn']), [(ldap.MOD_REPLACE, 'member', s4_members)])
1514
				self.lo_s4.lo.modify_s(compatible_modstring(s4_group_object['dn']), [(ldap.MOD_REPLACE, 'member', s4_members)])

Return to bug 41764