[Cluster-devel] conga/luci/site/luci/Extensions homebase_adapt ...
rmccabe at sourceware.org
rmccabe at sourceware.org
Wed Jun 6 15:14:12 UTC 2007
CVSROOT: /cvs/cluster
Module name: conga
Branch: EXPERIMENTAL
Changes by: rmccabe at sourceware.org 2007-06-06 15:14:12
Modified files:
luci/site/luci/Extensions: homebase_adapters.py
Log message:
Fix bz241727 (can't set user permissions in luci)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/homebase_adapters.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.50.2.8&r2=1.50.2.9
--- conga/luci/site/luci/Extensions/homebase_adapters.py 2007/05/30 05:54:02 1.50.2.8
+++ conga/luci/site/luci/Extensions/homebase_adapters.py 2007/06/06 15:14:12 1.50.2.9
@@ -758,7 +758,7 @@
if not request.form.has_key('__CLUSTER'):
for i in clusters:
try:
- if user.has_permission('View', i[1]):
+ if user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -776,7 +776,7 @@
for i in clusters:
if i[0] in request.form['__CLUSTER']:
try:
- if not user.has_permission('View', i[1]):
+ if not user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.append('View')
i[1].manage_setLocalRoles(user_id, roles)
@@ -788,7 +788,7 @@
errors.append('Failed to add permission for user "%s" for cluster "%s"' % (user_id, i[0]))
else:
try:
- if user.has_permission('View', i[1]):
+ if user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -809,7 +809,7 @@
if not request.form.has_key('__SYSTEM'):
for i in storage:
try:
- if user.has_permission('View', i[1]):
+ if user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -824,7 +824,7 @@
for i in storage:
if i[0] in request.form['__SYSTEM']:
try:
- if not user.has_permission('View', i[1]):
+ if not user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.append('View')
i[1].manage_setLocalRoles(user_id, roles)
@@ -833,7 +833,7 @@
errors.append('Failed to add permission for user "%s" for system "%s"' % (user_id, i[0]))
else:
try:
- if user.has_permission('View', i[1]):
+ if user.has_role('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -998,12 +998,12 @@
except:
pass
- if 'ACTUAL_URL' in request:
+ if request.has_key('ACTUAL_URL'):
url = request['ACTUAL_URL']
else:
url = '.'
- if 'pagetype' in request:
+ if request.has_key('pagetype'):
pagetype = request['pagetype']
else:
pagetype = '0'
@@ -1016,110 +1016,105 @@
index = 0
cur = None
- pagetype = str(pagetype)
+ if pagetype is None:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP0: pagetype is None')
-#
-# The Add System page
-#
+ pagetype = str(pagetype)
+ # The Add System page
try:
if havePermAddStorage(self):
addSystem = {}
addSystem['Title'] = 'Add a System'
- addSystem['absolute_url'] = '%s?pagetype=%s' % (url, HOMEBASE_ADD_SYSTEM)
+ addSystem['absolute_url'] = '%s?pagetype=%s' \
+ % (url, HOMEBASE_ADD_SYSTEM)
addSystem['Description'] = 'Add a system to the Luci storage management interface.'
+
if pagetype == HOMEBASE_ADD_SYSTEM:
- cur = addSystem
addSystem['currentItem'] = True
ret['curIndex'] = index
- else:
- addSystem['currentItem'] = False
+ cur = addSystem
index += 1
temp.append(addSystem)
- except: pass
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP1: %r %s' % (e, str(e)))
# Initial add cluster page
try:
if havePermAddCluster(self):
addCluster = {}
addCluster['Title'] = 'Add an Existing Cluster'
- addCluster['absolute_url'] = '%s?pagetype=%s' % (url, HOMEBASE_ADD_CLUSTER_INITIAL)
+ addCluster['absolute_url'] = '%s?pagetype=%s' \
+ % (url, HOMEBASE_ADD_CLUSTER_INITIAL)
addCluster['Description'] = 'Add an existing cluster to the Luci cluster management interface.'
+
if pagetype == HOMEBASE_ADD_CLUSTER_INITIAL or pagetype == HOMEBASE_ADD_CLUSTER:
addCluster['currentItem'] = True
ret['curIndex'] = index
cur = addCluster
- else:
- addCluster['currentItem'] = False
index += 1
temp.append(addCluster)
- except: pass
-
-#
-# The Remove Storage System page
-#
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP2: %r %s' % (e, str(e)))
+ # The Remove Storage System page
try:
if (havePermRemStorage(self) and havePermRemCluster(self) and (getStorage(self) or getClusters(self))):
remSystem = {}
remSystem['Title'] = 'Manage Systems'
- remSystem['absolute_url'] = '%s?pagetype=%s' % (url, HOMEBASE_DEL_SYSTEM)
+ remSystem['absolute_url'] = '%s?pagetype=%s' \
+ % (url, HOMEBASE_DEL_SYSTEM)
remSystem['Description'] = 'Update or remove storage systems and clusters.'
if pagetype == HOMEBASE_DEL_SYSTEM:
remSystem['currentItem'] = True
ret['curIndex'] = index
cur = remSystem
- else:
- remSystem['currentItem'] = False
index += 1
temp.append(remSystem)
- except:
- pass
-
-#
-# Add a Luci user.
-#
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP3: %r %s' % (e, str(e)))
+ # Add a Luci user.
try:
if havePermAddUser(self):
addUser = {}
addUser['Title'] = 'Add a User'
- addUser['absolute_url'] = '%s?pagetype=%s' % (url, HOMEBASE_ADD_USER)
+ addUser['absolute_url'] = '%s?pagetype=%s' \
+ % (url, HOMEBASE_ADD_USER)
addUser['Description'] = 'Add a user to the Luci interface.'
if pagetype == HOMEBASE_ADD_USER:
addUser['currentItem'] = True
ret['curIndex'] = index
cur = addUser
- else:
- addUser['currentItem'] = False
index += 1
temp.append(addUser)
- except:
- pass
-
-#
-# Delete a Luci user
-#
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP4: %r %s' % (e, str(e)))
+ # Delete a Luci user
try:
if (self.portal_membership.listMembers() and havePermDelUser(self)):
delUser = {}
delUser['Title'] = 'Delete a User'
- delUser['absolute_url'] = '%s?pagetype=%s' % (url, HOMEBASE_DEL_USER)
+ delUser['absolute_url'] = '%s?pagetype=%s' \
+ % (url, HOMEBASE_DEL_USER)
delUser['Description'] = 'Delete a Luci user.'
if pagetype == HOMEBASE_DEL_USER:
delUser['currentItem'] = True
ret['curIndex'] = index
cur = delUser
- else:
- delUser['currentItem'] = False
index += 1
temp.append(delUser)
- except: pass
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP5: %r %s' % (e, str(e)))
-#
-# The User Permissions Page
-#
+ # The User Permissions Page
try:
if (havePermEditPerms(self) and self.portal_membership.listMembers() and (getStorage(self) or getClusters(self))):
userPerm = {}
@@ -1130,35 +1125,34 @@
userPerm['currentItem'] = True
ret['curIndex'] = index
cur = userPerm
- else:
- userPerm['currentItem'] = False
index += 1
temp.append(userPerm)
- except: pass
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('HBP6: %r %s' % (e, str(e)))
- if not 'curIndex' in ret:
+ if not ret.has_key('curIndex'):
ret['curIndex'] = 0
- if cur and 'absolute_url' in cur and params:
- import cgi
+ if cur is not None and cur.has_key('absolute_url'):
cur['base_url'] = cur['absolute_url']
- param_list = list()
- for i in params:
- param_list.append('&%s=%s' % (cgi.escape(i), cgi.escape(params[i])))
- temp = '%s%s' % (cur['absolute_url'], ''.join(param_list))
- cur['absolute_url'] = temp
- elif cur and 'absolute_url' in cur:
- cur['base_url'] = cur['absolute_url']
- else:
- cur = {}
- cur['base_url'] = '#'
+
+ if params:
+ import cgi
+ param_list = list()
+ for i in params:
+ param_list.append('&%s=%s' \
+ % (cgi.escape(i), cgi.escape(params[i])))
+ temp = '%s%s' % (cur['absolute_url'], ''.join(param_list))
+ cur['absolute_url'] = temp
ret['children'] = temp
return ret
def createSystem(self, host, passwd):
try:
- dummy = self.restrictedTraverse('%s%s' % (STORAGE_FOLDER_PATH, host)).objectItems()
+ dummy = self.restrictedTraverse('%s%s' \
+ % (STORAGE_FOLDER_PATH, host)).objectItems()
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('CS0: %s already exists' % host)
return 'Storage system %s is already managed' % host
@@ -1171,7 +1165,7 @@
raise Exception, 'rc is None'
except Exception, e:
if LUCI_DEBUG_MODE is True:
- luci_log.debug_verbose('CS1: %s: %s' % (host, e))
+ luci_log.debug_verbose('CS2: %s: %r %s' % (host, e, str(e)))
return 'Unable to establish a secure connection to the ricci agent on %s: %s' % (host, str(e))
try:
@@ -1179,14 +1173,14 @@
rc.auth(passwd)
except Exception, e:
if LUCI_DEBUG_MODE is True:
- luci_log.debug_verbose('CS2: %s: %s' % (host, e))
+ luci_log.debug_verbose('CS3: %s: %r %s' % (host, e, str(e)))
return 'Unable to communicate with the ricci agent on %s for authentication' % host
try:
i = rc.authed()
except Exception, e:
if LUCI_DEBUG_MODE is True:
- luci_log.debug_verbose('CS3 %s: %r %s' % (host, e, str(e)))
+ luci_log.debug_verbose('CS4 %s: %r %s' % (host, e, str(e)))
return 'Unable to authenticate to the ricci agent on %s' % host
if i is not True:
@@ -1233,10 +1227,9 @@
user = request['user']
except:
try:
- members = list()
- members.extend(self.portal_membership.listMembers())
+ members = map(lambda x: x.getUserName(), self.portal_membership.listMembers())
members.sort()
- user = members[0].getUserName()
+ user = members[0]
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('getDefaultUser0: %r %s' \
@@ -1280,14 +1273,14 @@
for c in clusters:
try:
- perms[userName]['cluster'][c[0]] = i.has_permission('View', c[1])
+ perms[userName]['cluster'][c[0]] = i.has_role('View', c[1])
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('getUserPerms2: user %s, obj %s: %r %s' % (userName, c[0], e, str(e)))
for s in storage:
try:
- perms[userName]['storage'][s[0]] = i.has_permission('View', s[1])
+ perms[userName]['storage'][s[0]] = i.has_role('View', s[1])
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('getUserPerms2: user %s, obj %s: %r %s' % (userName, s[0], e, str(e)))
More information about the Cluster-devel
mailing list