Lines 213-218
class object(univention.admin.handlers.simpleLdap):
|
Link Here
|
---|
|
213 |
super(object, self)._ldap_post_remove() |
213 |
super(object, self)._ldap_post_remove() |
214 |
self._updateZone() |
214 |
self._updateZone() |
215 |
|
215 |
|
|
|
216 |
@classmethod |
217 |
def rewrite_filter(cls, filter, mapping): |
218 |
if filter.variable == 'ip': |
219 |
filter.variable = 'relativeDomainName' |
220 |
if ':' in filter.value: |
221 |
addr = ipaddress.IPv6Address(u'%s' % (filter.value,)) |
222 |
raise NotImplementedError('IPv6') |
223 |
else: |
224 |
subnets = [ipaddress.IPv4Interface(u'%s/%d' % (filter.value, netmask)) for netmask in (24, 16, 8)] |
225 |
subnets = [s.network.network_address.compressed.replace('.0', '') for s in subnets] |
226 |
filter.transform_to_conjunction(univention.admin.filter.conjunction('|', [ |
227 |
rewrite_rev(expression('ip', filter.value), subnet=subnet) for subnet in subnets |
228 |
])) |
229 |
else: |
230 |
super(object, cls).rewrite_filter(filter, mapping) |
231 |
|
216 |
@classmethod |
232 |
@classmethod |
217 |
def lookup_filter_superordinate(cls, filter, superordinate): |
233 |
def lookup_filter_superordinate(cls, filter, superordinate): |
218 |
filter.expressions.append(univention.admin.filter.expression('zoneName', superordinate.mapping.mapValueDecoded('subnet', superordinate['subnet']), escape=True)) |
234 |
filter.expressions.append(univention.admin.filter.expression('zoneName', superordinate.mapping.mapValueDecoded('subnet', superordinate['subnet']), escape=True)) |