#!/usr/bin/python2.4 """Demonstrate Bug #18999""" import sys import univention.admin import univention.admin.modules import univention.admin.objects name = "test" key = 'mobileTelephoneNumber' config = univention.admin.config.config() access, position = univention.admin.uldap.getAdminConnection() position.setDn("cn=users,%s" % position.getBase()) dn = "uid=%s,%s" % (name, position.getDn()) u = univention.admin.handlers.users.user.object(config, access, position, dn) u.open() u['username'] = name u['password'] = 'univention' u['lastname'] = name u['mobileTelephoneNumber'] = ['+49 170 111111', '+49 160 222222', '+49 150 333333'] u['unixhome'] = '/home/%s' % name dn = u.create() remove = ['+49 170 111111', '+49 160 222222'] add = [] changes = [(univention.admin.handlers.users.user.mapping.mapName(key), remove, add)] dn = access.lo.modify(dn, changes) s = set(u[key]) s -= set(remove) s |= set(add) print "should: %s" % s u2 = univention.admin.handlers.users.user.object(config, access, position, dn) i = set(u2[key]) print "is: %s" % i u.remove()