|
363 |
if request.options.get('reload', False): |
363 |
if request.options.get('reload', False): |
364 |
self._italc.room = self._italc.room # believe me that makes sense :) |
364 |
self._italc.room = self._italc.room # believe me that makes sense :) |
365 |
|
365 |
|
366 |
result = [] |
366 |
result = [computer.dict for computer in self._italc.values()] |
367 |
for computer in self._italc.values(): |
|
|
368 |
item = { 'id' : computer.name, |
369 |
'name' : computer.name, |
370 |
'user' : computer.user.current, |
371 |
'teacher' : computer.isTeacher, |
372 |
'connection' : computer.state.current, |
373 |
'description' : computer.description, |
374 |
'ip' : computer.ipAddress, |
375 |
'mac' : computer.macAddress, |
376 |
'objectType': computer.objectType } |
377 |
item.update(computer.flagsDict) |
378 |
result.append(item) |
379 |
|
367 |
|
380 |
MODULE.info('computerroom.query: result: %s' % str(result)) |
368 |
MODULE.info('computerroom.query: result: %s' % str(result)) |
381 |
self.finished(request.id, result) |
369 |
self.finished(request.id, result) |
|
394 |
if not self._italc.school or not self._italc.room: |
382 |
if not self._italc.school or not self._italc.room: |
395 |
raise UMC_CommandError('no room selected') |
383 |
raise UMC_CommandError('no room selected') |
396 |
|
384 |
|
397 |
computers = [] |
385 |
computers = [computer.dict for computer in self._italc.values() if computer.hasChanged] |
398 |
for computer in self._italc.values(): |
|
|
399 |
item = dict(id = computer.name) |
400 |
modified = False |
401 |
if computer.state.hasChanged: |
402 |
item['connection'] = str(computer.state.current) |
403 |
modified = True |
404 |
if computer.flags.hasChanged: |
405 |
item.update(computer.flagsDict) |
406 |
modified = True |
407 |
if computer.user.hasChanged: |
408 |
item['user'] = str(computer.user.current) |
409 |
modified = True |
410 |
if computer.teacher.hasChanged: |
411 |
item['teacher'] = computer.teacher.current |
412 |
modified = True |
413 |
if modified: |
414 |
computers.append(item) |
415 |
result = { 'computers' : computers } |
386 |
result = { 'computers' : computers } |
416 |
|
387 |
|
417 |
userDN = _getRoomOwner(self._italc.roomDN) |
388 |
userDN = _getRoomOwner(self._italc.roomDN) |
|
511 |
self.finished(request.id, 'VNC is disabled') |
482 |
self.finished(request.id, 'VNC is disabled') |
512 |
|
483 |
|
513 |
try: |
484 |
try: |
514 |
template = open('/usr/share/ucs-school-umc-computerroom/ultravnc.vnc') |
485 |
with open('/usr/share/ucs-school-umc-computerroom/ultravnc.vnc') as fd: |
515 |
content = template.read() |
486 |
content = fd.read() |
516 |
except: |
487 |
except (IOError, OSError): |
517 |
raise UMC_CommandError('VNC template file does not exists') |
488 |
raise UMC_CommandError('VNC template file does not exists') |
518 |
|
489 |
|
519 |
port = ucr.get('ucsschool/umc/computerroom/vnc/port', '11100') |
490 |
port = ucr.get('ucsschool/umc/computerroom/vnc/port', '11100') |