From a68f64ec7f73ef418650d840fb75153d385b6ab6 Mon Sep 17 00:00:00 2001 From: Ricky Zhou Date: Tue, 28 Aug 2007 16:11:06 -0700 Subject: [PATCH] Smarter sorting, use auth.py in templates. --- fas/fas/auth.py | 11 +++++++ fas/fas/controllers.py | 2 ++ fas/fas/group.py | 5 ---- fas/fas/templates/group/dump.txt | 4 +-- fas/fas/templates/group/list.html | 14 ++++----- fas/fas/templates/group/view.html | 48 +++++++++++++++---------------- fas/fas/templates/user/list.html | 2 +- fas/fas/templates/user/view.html | 18 ++++++------ fas/fas/user.py | 5 ---- 9 files changed, 55 insertions(+), 54 deletions(-) diff --git a/fas/fas/auth.py b/fas/fas/auth.py index fa59714..990a0ef 100644 --- a/fas/fas/auth.py +++ b/fas/fas/auth.py @@ -42,6 +42,17 @@ def canSponsorGroup(userName, groupName, g=None): except: return False +def isApproved(userName, groupName, g=None): + if not g: + g = Groups.byUserName(userName) + try: + if (g[groupName].fedoraRoleStatus.lower() == 'approved'): + return True + else: + return False + except: + return False + def canEditUser(userName, editUserName): if userName == editUserName: return True diff --git a/fas/fas/controllers.py b/fas/fas/controllers.py index 208d3a5..019b7f7 100644 --- a/fas/fas/controllers.py +++ b/fas/fas/controllers.py @@ -15,6 +15,8 @@ from operator import itemgetter from fas.user import User from fas.group import Group +from fas.auth import isAdmin, canAdminGroup, canSponsorGroup, canEditUser + import sys reload(sys) sys.setdefaultencoding('utf-8') diff --git a/fas/fas/group.py b/fas/fas/group.py index cb6778a..6b20a02 100644 --- a/fas/fas/group.py +++ b/fas/fas/group.py @@ -12,8 +12,6 @@ from fas.fasLDAP import UserGroup from fas.auth import isAdmin, canAdminGroup, canSponsorGroup, canEditUser -from operator import itemgetter - from fas.user import knownUser, userNameExists class knownGroup(validators.FancyValidator): @@ -97,7 +95,6 @@ class Group(controllers.Controller): #searchUserForm.groupName.display('group') #findUser.groupName.display(value='fff') value = {'groupName': groupName} - groups = sorted(groups.items(), key=itemgetter(0)) return dict(userName=userName, groups=groups, group=group, me=me, value=value) @expose(template="fas.templates.group.new") @@ -202,7 +199,6 @@ class Group(controllers.Controller): except: turbogears.flash(_("No Groups found matching '%s'") % search) groups = {} - groups = sorted(groups.items(), key=itemgetter(0)) return dict(groups=groups, search=search, myGroups=myGroups) @validate(validators=userNameGroupNameExists()) @@ -325,6 +321,5 @@ class Group(controllers.Controller): @identity.require(turbogears.identity.not_anonymous()) def dump(self, groupName=None): groups = Groups.byGroupName(groupName) - groups = sorted(groups.items(), key=itemgetter(0)) return dict(groups=groups, Person=Person) diff --git a/fas/fas/templates/group/dump.txt b/fas/fas/templates/group/dump.txt index b07844b..fb68b9a 100644 --- a/fas/fas/templates/group/dump.txt +++ b/fas/fas/templates/group/dump.txt @@ -1,3 +1,3 @@ -#for user in groups -${user[0]},${Person.byUserName(user[0]).mail},${Person.byUserName(user[0]).givenName},${user[1].fedoraRoleType} +#for user in sorted(groups.keys()) +${user},${Person.byUserName(user).mail},${Person.byUserName(user).givenName},${groups[user].fedoraRoleType} #end diff --git a/fas/fas/templates/group/list.html b/fas/fas/templates/group/list.html index 7e424c6..2224149 100644 --- a/fas/fas/templates/group/list.html +++ b/fas/fas/templates/group/list.html @@ -27,15 +27,15 @@ GroupDescriptionStatus - - ${group[1].cn} - ${group[1].fedoraGroupDesc} + + ${groups[group].cn} + ${groups[group].fedoraGroupDesc} - - Approved - Unapproved + + Approved + Unapproved - Not a Member + Not a Member diff --git a/fas/fas/templates/group/view.html b/fas/fas/templates/group/view.html index 3a8b6ec..ccaf549 100644 --- a/fas/fas/templates/group/view.html +++ b/fas/fas/templates/group/view.html @@ -7,11 +7,12 @@ Edit Group +

${group.fedoraGroupDesc} (${group.cn})

My Status: - Approved - Unapproved + Approved + Unapproved Not a Member

@@ -54,32 +55,29 @@ Date Approved Approval Role Type - Action + Action - - ${user[0]} - ${user[1].fedoraRoleSponsor} - ${user[1].fedoraRoleSponsor} - ${user[1].fedoraRoleCreationDate} - ${user[1].fedoraRoleApprovalDate} - ${user[1].fedoraRoleStatus} - ${user[1].fedoraRoleType} - + + ${user} + ${groups[user].fedoraRoleSponsor} + None + ${groups[user].fedoraRoleCreationDate} + ${groups[user].fedoraRoleApprovalDate} + ${groups[user].fedoraRoleStatus} + ${groups[user].fedoraRoleType} + - - Sponsor - Approve - Delete - Upgrade - Downgrade Suspend - - - Sponsor - Approve - Delete - Upgrade - Downgrade Suspend + + diff --git a/fas/fas/templates/user/list.html b/fas/fas/templates/user/list.html index d1e8359..bff9671 100644 --- a/fas/fas/templates/user/list.html +++ b/fas/fas/templates/user/list.html @@ -28,7 +28,7 @@ - + ${user} Done diff --git a/fas/fas/templates/user/view.html b/fas/fas/templates/user/view.html index 9f31539..6cd65a1 100644 --- a/fas/fas/templates/user/view.html +++ b/fas/fas/templates/user/view.html @@ -7,6 +7,7 @@ View Account +

Account Details (edit)

@@ -29,16 +30,16 @@

Your Roles

${user.givenName}'s Roles