View | Details | Raw Unified | Return to bug 35047 | Differences between
and this patch

Collapse All | Expand All

(-)a/customers/8505_lmz/ucs-school-lib/python/models/computer.py (-1 / +9 lines)
 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.'))

Return to bug 35047