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

Collapse All | Expand All

(-)a/ucs-school-umc-computerroom/umc/python/computerroom/__init__.py (-1 / +1 lines)
 Lines 450-456   def update(self, request, ldap_user_read=None): Link Here 
450
		if not self._italc.school or not self._italc.room:
450
		if not self._italc.school or not self._italc.room:
451
			raise UMC_Error('no room selected')
451
			raise UMC_Error('no room selected')
452
452
453
		computers = [computer.dict for computer in self._italc.values() if computer.hasChanged]
453
		computers = self._italc.query()
454
		result = {'computers': computers}
454
		result = {'computers': computers}
455
455
456
		userDN = _getRoomOwner(self._italc.roomDN)
456
		userDN = _getRoomOwner(self._italc.roomDN)
(-)a/ucs-school-umc-computerroom/umc/python/computerroom/italc2.py (-1 / +12 lines)
 Lines 183-189   def isInitialized(self): Link Here 
183
	def hasChanged(self):
183
	def hasChanged(self):
184
		self.lock()
184
		self.lock()
185
		diff = self._has_changed
185
		diff = self._has_changed
186
		self._has_changed = False
187
		self._old = copy.deepcopy(self._current)
186
		self._old = copy.deepcopy(self._current)
188
		self.unlock()
187
		self.unlock()
189
		return diff
188
		return diff
 Lines 390-395   def hasChanged(self): Link Here 
390
		states = (self.state, self.flags, self.user, self.teacher)
389
		states = (self.state, self.flags, self.user, self.teacher)
391
		return any(state.hasChanged for state in states)
390
		return any(state.hasChanged for state in states)
392
391
392
	def reset_has_changed(self):
393
		states = (self.state, self.flags, self.user, self.teacher)
394
		for state in states:
395
			state._has_changed = False
396
393
	# UDM properties
397
	# UDM properties
394
	@property
398
	@property
395
	def name(self):
399
	def name(self):
 Lines 745-747   def stopDemo(self): Link Here 
745
			self.demoServer.stopDemoServer()
749
			self.demoServer.stopDemoServer()
746
		for client in self.demoClients:
750
		for client in self.demoClients:
747
			client.stopDemoClient()
751
			client.stopDemoClient()
752
753
	def query(self):
754
		try:
755
			return [computer.dict for computer in self._italc.values() if computer.hasChanged]
756
		finally:
757
			for computer in self._italc.values():
758
				computer.reset_has_changed()

Return to bug 41752