accounts2/fas/fas controllers.py,1.7,1.8 fasLDAP.py,1.6,1.7

Michael Patrick McGrath (mmcgrath) fedora-extras-commits at redhat.com
Thu Apr 26 18:31:13 UTC 2007


Author: mmcgrath

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

Modified Files:
	controllers.py fasLDAP.py 
Log Message:
Major UI changes, some library additions


Index: controllers.py
===================================================================
RCS file: /cvs/fedora/accounts2/fas/fas/controllers.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- controllers.py	26 Apr 2007 14:28:14 -0000	1.7
+++ controllers.py	26 Apr 2007 18:31:10 -0000	1.8
@@ -222,7 +222,6 @@
         # Some error checking for the sponsors
         if g[userName].fedoraRoleType.lower() == 'administrator' and g[sponsor].fedoraRoleType.lower() == 'sponsor':
             raise ValueError, 'Sponsors cannot alter administrators.  End of story'
-            
 
         try:
             userGroup = Groups.byGroupName(groupName)[userName]
@@ -317,9 +316,15 @@
             turbogears.flash('%s does not allow self removal' % group.cn)
             turbogears.redirect('editGroup?groupName=%s' % group.cn)
         return dict()
+    @expose(template='fas.templates.signUp')
+    def newAccount(self, cn, givenName, mail, telephoneNumber, postalAddressForm):
+        return dict()
 
     @expose(template='fas.templates.signUp')
     def signUp(self):
+        if turbogears.identity.not_anonymous():
+            turbogears.flash('No need to sign up, You have an account!')
+            turbogears.redirect('editAccount')
         return dict()
 
 


Index: fasLDAP.py
===================================================================
RCS file: /cvs/fedora/accounts2/fas/fas/fasLDAP.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- fasLDAP.py	14 Apr 2007 21:35:38 -0000	1.6
+++ fasLDAP.py	26 Apr 2007 18:31:10 -0000	1.7
@@ -47,7 +47,10 @@
             filter = '(&(fedoraRoleStatus=approved)(objectClass=FedoraRole))'
 
         base = 'ou=Roles,cn=%s,ou=People,dc=fedoraproject,dc=org' % cn
-        groupsDict = search(base, filter)
+        try:
+            groupsDict = search(base, filter)
+        except ldap.NO_SUCH_OBJECT:
+            return dict()
         if not groupsDict:
             groupsDict = []
         for group in groupsDict:
@@ -135,8 +138,6 @@
                     'fedoraRoleStatus' : 'unapproved',
                     'fedoraRoleType' : 'user',
                     'objectClass' : ('fedoraRole')}
-
-        print '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) 
 
 
@@ -175,10 +176,49 @@
     __base = 'ou=People,dc=fedoraproject,dc=org'
     __server = Server()
     __filter = ''
+    
+    def new(self, cn=None, givenName=None, mail=None, telephoneNumber=None, postalAddress=None):
+        import datetime
+        dt = datetime.datetime.now()
+        now = '%.2i-%.2i-%.2i %.2i:%.2i:%.2i.%.2i' % (dt.year,
+                                        dt.month,
+                                        dt.day,
+                                        dt.hour,
+                                        dt.minute,
+                                        dt.second,
+                                        dt.microsecond)
+        attributes = { 'cn' : cn,
+                    'objectClass' : ('fedoraPerson', 'inetOrgPerson', 'organizationalPerson', 'person', 'top'),
+#                    'objectClass' : 'inetOrgPerson',
+#                    'objectClass' : 'organizationalPerson',
+#                    'objectClass' : 'person',
+#                    'objectClass' : ('top'),
+                    'displayName' : cn,
+                    'sn' : cn,
+                    'cn' : cn,
+                    'fedoraPersonSshKey' : '',
+                    'facsimileTelephoneNumber' : '',
+                    'fedoraPersonApprovalStatus' : 'approved',
+                    'givenName' : givenName,
+                    'mail' : mail,
+                    'fedoraPersonKeyId' : '',
+                    'description' : '',
+                    'fedoraPersonCreationDate' : now,
+                    'telephoneNumber' : telephoneNumber,
+                    'fedoraPersonBugzillaMail' : mail,
+                    'postalAddress' : postalAddress,
+                    'fedoraPersonIrcNick' : ''
+                    }
+#                    'objectClass' : ('fedoraRole')}
+        print 'cn=%s,%s' % (cn, self.__base)
+        print attributes
+        add('cn=%s,%s' % (cn, self.__base), attributes)
+
 
     def __getattr__(self, attr):
         if attr.startswith('_'):
-            print 'GET %s=%s' % (attr, self.__getattr__(attr))
+#            print 'GET %s=%s' % (attr, self.__getattr__(attr))
+            pass
         if attr == 'userName':
             return self.__getattr__('cn')
         try:




More information about the scm-commits mailing list