accounts2/fas/fas controllers.py,1.1,1.2 fasLDAP.py,1.1,1.2

Michael Patrick McGrath (mmcgrath) fedora-extras-commits at redhat.com
Mon Mar 26 16:29:45 UTC 2007


Author: mmcgrath

Update of /cvs/fedora/accounts2/fas/fas
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv819/fas

Modified Files:
	controllers.py fasLDAP.py 
Log Message:
fixed up fasLDAP.py section and general cvs cleanup


Index: controllers.py
===================================================================
RCS file: /cvs/fedora/accounts2/fas/fas/controllers.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- controllers.py	26 Mar 2007 15:11:11 -0000	1.1
+++ controllers.py	26 Mar 2007 16:29:37 -0000	1.2
@@ -57,7 +57,7 @@
         raise redirect("/")
 
     @expose(template="fas.templates.editAccount")
-#    @identity.require(identity.in_group("admin"))
+    @identity.require(identity.in_group("sysadmin-main"))
 #    @identity.require(identity.not_anonymous())
     def editAccount(self,userName=None):
         if not userName:
@@ -81,8 +81,8 @@
         try:
             groups[0]
         except:
-        turbogears.flash("No Groups found matching '%s'" % search)
-        groups = []
+            turbogears.flash("No Groups found matching '%s'" % search)
+            groups = []
         return dict(printList=groups, search=search)
 
     @expose(template="fas.templates.userList")
@@ -93,9 +93,8 @@
         try:
             users[0]
         except:
-        turbogears.flash("No users found matching '%s'" % search)
-        users = []
-#            raise ValueError("No users found matching '%s'.  Please go back and search again." % search)
+            turbogears.flash("No users found matching '%s'" % search)
+            users = []
         return dict(printList=users, search=search)
 
     @expose(template='fas.templates.edit')


Index: fasLDAP.py
===================================================================
RCS file: /cvs/fedora/accounts2/fas/fas/fasLDAP.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- fasLDAP.py	26 Mar 2007 15:11:11 -0000	1.1
+++ fasLDAP.py	26 Mar 2007 16:29:37 -0000	1.2
@@ -21,6 +21,7 @@
 
 class Groups:
     ''' Class contains group information '''
+    __userName = None
 
     @classmethod
     def byUserName(self, cn):
@@ -41,6 +42,7 @@
                 fedoraRoleStatus = group[0][1]['fedoraRoleStatus'][0],
                 fedoraRoleDomain = group[0][1]['fedoraRoleDomain'][0]
                         )
+        self.__userName = cn
         return groups
     
     @classmethod
@@ -58,7 +60,9 @@
         return groups
 
     @classmethod
-    def remove(self, groupName, userName):
+    def remove(self, groupName, userName=None):
+        if not userName:
+            userName = self.__userName
         if groupName in self.byUserName(userName):
             # Probably shouldn't be 'TypeError'
             delete('cn=%s,ou=Roles,cn=%s,ou=People,dc=fedoraproject,dc=org' % (groupName, userName))
@@ -66,9 +70,13 @@
             raise TypeError, 'User not in that group'
 
     @classmethod
-    def apply(self, groupName, userName):
+    def apply(self, groupName, userName=None):
         ''' Apply for a group '''
         import datetime
+
+        if not userName:
+            userName = self.__userName
+
         if groupName in self.byUserName(userName):
             # Probably shouldn't be 'TypeError'
             raise TypeError, 'Already in that group'
@@ -95,7 +103,7 @@
                     'fedoraRoleType' : 'user',
                     'objectClass' : ('fedoraRole')}
 
-   add('cn=%s,ou=Roles,cn=%s,ou=People,dc=fedoraproject,dc=org' % (groupName, userName), attributes) 
+        add('cn=%s,ou=Roles,cn=%s,ou=People,dc=fedoraproject,dc=org' % (groupName, userName), attributes) 
 
 
     @classmethod
@@ -132,7 +140,8 @@
     def __getattr__(self, attr):
         if attr.startswith('_'):
             print 'GET %s=%s' % (attr, self.__getattr__(attr))
-            return self.__getattr__(attr)
+        if attr == 'userName':
+            return self.__getattr__('cn')
         try:
             attributes = []
             attributes.append(attr)
@@ -176,10 +185,14 @@
         return self.byFilter('cn=%s' % cn)
 
     @classmethod
-    def auth(self, who, password):
+    def auth(self, who, password, ldapServer=None):
         ''' Basic Authentication Module '''
+        if not ldapServer:
+            s = Server()
+            ldapServer = s.ldapConn
+
         who = 'cn=%s,ou=People,dc=fedoraproject,dc=org' % who
-        self.server.ldapConn.simple_bind_s(who, password)
+        ldapServer.simple_bind_s(who, password)
 
 class UserAccount:
     def __init__(self):




More information about the fedora-extras-commits mailing list