From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci/site/luci/Extensions homebase_adapt ...
Date: 6 Jun 2007 15:14:12 -0000 [thread overview]
Message-ID: <20070606151412.9192.qmail@sourceware.org> (raw)
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)))
next reply other threads:[~2007-06-06 15:14 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-06 15:14 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-04-21 18:19 [Cluster-devel] conga/luci/site/luci/Extensions homebase_adapt rmccabe
2008-02-05 20:59 rmccabe
2007-01-29 22:06 rmccabe
2007-01-08 19:49 rmccabe
2007-01-08 19:46 rmccabe
2006-11-02 21:12 rmccabe
2006-11-01 20:34 rmccabe
2006-10-30 20:20 rmccabe
2006-10-26 16:57 rmccabe
2006-10-16 15:18 rmccabe
2006-10-13 17:12 rmccabe
2006-10-11 21:48 rmccabe
2006-10-11 18:44 rmccabe
2006-10-06 20:45 rmccabe
2006-10-06 18:58 rmccabe
2006-10-04 13:25 jparsons
2006-08-01 16:27 rmccabe
2006-07-27 13:37 jparsons
2006-07-26 19:50 rmccabe
2006-07-25 17:45 rmccabe
2006-07-18 19:26 rmccabe
2006-06-27 20:53 rmccabe
2006-06-27 20:47 rmccabe
2006-06-27 17:49 rmccabe
2006-06-26 20:10 rmccabe
2006-06-22 3:58 rmccabe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070606151412.9192.qmail@sourceware.org \
--to=rmccabe@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).