Lines 115-127
class UserMap( dict ):
|
Link Here
|
---|
|
115 |
MODULE.info( 'Unknown user "%s"' % username ) |
115 |
MODULE.info( 'Unknown user "%s"' % username ) |
116 |
dict.__setitem__( self, userstr, UserInfo( '', '' ) ) |
116 |
dict.__setitem__( self, userstr, UserInfo( '', '' ) ) |
117 |
else: |
117 |
else: |
|
|
118 |
result[0].open() |
118 |
userobj = UserInfo( result[ 0 ].dn, username ) |
119 |
userobj = UserInfo( result[ 0 ].dn, username ) |
119 |
for grp in result[ 0 ][ 'groups' ]: |
|
|
120 |
if grp.endswith( search_base.workgroups ): |
121 |
userobj.workgroups.append( udm_uldap.explodeDn( grp, True )[ 0 ] ) |
122 |
elif grp.endswith( search_base.classes ): |
123 |
userobj.school_class = udm_uldap.explodeDn( grp, True )[ 0 ] |
124 |
userobj.isTeacher = search_base.isTeacher( userobj.dn ) |
120 |
userobj.isTeacher = search_base.isTeacher( userobj.dn ) |
|
|
121 |
|
122 |
blacklisted_groups = set([x.strip().lower() for x in ucr.get('ucsschool/umc/computerroom/hide_screenshots/groups', 'Domain Admins').split(',')]) |
123 |
users_groupmemberships = set([udm_uldap.explodeDn(x, True)[0].lower() for x in result[0]['groups']]) |
124 |
MODULE.info('UserMap: %s: hide screenshots for following groups: %s' % (username, blacklisted_groups,)) |
125 |
MODULE.info('UserMap: %s: user is member of following groups: %s' % (username, users_groupmemberships,)) |
126 |
userobj.hide_screenshot = bool(blacklisted_groups & users_groupmemberships) |
127 |
|
128 |
if ucr.is_true('ucsschool/umc/computerroom/hide_screenshots/teachers', False) and userobj.isTeacher: |
129 |
MODULE.info('UserMap: %s: is teacher hiding screenshot' % (username,)) |
130 |
userobj.hide_screenshot = True |
131 |
|
132 |
MODULE.info('UserMap: %s: hide_screenshot=%r' % (username, userobj.hide_screenshot)) |
133 |
|
125 |
dict.__setitem__( self, userstr, userobj ) |
134 |
dict.__setitem__( self, userstr, userobj ) |
126 |
|
135 |
|
127 |
_usermap = UserMap() |
136 |
_usermap = UserMap() |
Lines 383-388
class ITALC_Computer( notifier.signals.Provider, QObject ):
|
Link Here
|
---|
|
383 |
return (self._computer.info.get('mac') or [''])[ 0 ] |
392 |
return (self._computer.info.get('mac') or [''])[ 0 ] |
384 |
|
393 |
|
385 |
@property |
394 |
@property |
|
|
395 |
def hide_screenshot(self): |
396 |
global _usermap |
397 |
try: |
398 |
return _usermap[str(self._username.current)].hide_screenshot |
399 |
except AttributeError: |
400 |
return False |
401 |
|
402 |
@property |
386 |
def isTeacher( self ): |
403 |
def isTeacher( self ): |
387 |
global _usermap |
404 |
global _usermap |
388 |
try: |
405 |
try: |