Lines 189-194
class SchoolComputer(UCSSchoolHelperAbstractClass):
|
Link Here
|
---|
|
189 |
network = self.get_network() |
190 |
network = self.get_network() |
190 |
if network: |
191 |
if network: |
191 |
udm_obj['network'] = network.dn |
192 |
udm_obj['network'] = network.dn |
|
|
193 |
ipv4_network = self.get_ipv4_network() |
194 |
if ipv4_network: |
195 |
if ipv4_network.ip == ipv4_network.network: |
196 |
# IP is set to network address, replace it |
197 |
self.ip_address = None |
198 |
else: |
199 |
udm_obj['ip'] = str(ipv4_network.ip) |
192 |
# TODO: groups. for memberserver... |
200 |
# TODO: groups. for memberserver... |
193 |
return super(SchoolComputer, self).do_create(udm_obj, lo) |
201 |
return super(SchoolComputer, self).do_create(udm_obj, lo) |
194 |
|
202 |
|
Lines 230-236
class SchoolComputer(UCSSchoolHelperAbstractClass):
|
Link Here
|
---|
|
230 |
|
238 |
|
231 |
def validate(self, lo, validate_unlikely_changes=False): |
239 |
def validate(self, lo, validate_unlikely_changes=False): |
232 |
super(SchoolComputer, self).validate(lo, validate_unlikely_changes) |
240 |
super(SchoolComputer, self).validate(lo, validate_unlikely_changes) |
233 |
if self.ip_address: |
241 |
# don't test existance of IP address if it is the network's address |
|
|
242 |
if self.ip_address and self.get_ipv4_network().ip != self.get_ipv4_network().network: |
234 |
name, ip_address = escape_filter_chars(self.name), escape_filter_chars(self.ip_address) |
243 |
name, ip_address = escape_filter_chars(self.name), escape_filter_chars(self.ip_address) |
235 |
if AnyComputer.get_first_udm_obj(lo, '&(!(cn=%s))(ip=%s)' % (name, ip_address)): |
244 |
if AnyComputer.get_first_udm_obj(lo, '&(!(cn=%s))(ip=%s)' % (name, ip_address)): |
236 |
self.add_error('ip_address', _('The ip address is already taken by another computer. Please change the ip address.')) |
245 |
self.add_error('ip_address', _('The ip address is already taken by another computer. Please change the ip address.')) |