Ejemplo n.º 1
0
 def register(self, ctx, username, email,
              password, screename, homepage):
     properties = dict(screename=screename or username,
                       login=username,
                       password=password,
                       group_id=3,
                       email=email,
                       homepage=homepage
                       ) 
         
     def success(result, ctx, username):
         d = IUsersDatabase(IS(ctx)).findUser(username)
         d.addCallback(login, ctx)
         return d
     def login(avatar, ctx):
         # if using new guard
         # s = inevow.ISession(ctx)
         # creds = credentials.UsernamePassword(avatar['ulogin'], avatar['upassword'])
         # s.setComponent(creds, ignoreClass=True)
         s = inevow.ISession(ctx)
         res = index.Main()
         res.remember(avatar, IA)
         s.setResourceForPortal(res, s.guard.resource.portal, res.logout)
         #
     uri = iw.ILastURL(inevow.ISession(ctx), None)
     if uri:
         inevow.ISession(ctx).unsetComponent(iw.ILastURL)
     inevow.IRequest(ctx).setComponent(iformless.IRedirectAfterPost,uri or '')
     d = IUsersDatabase(IS(ctx)).addUser(properties)
     d.addCallback(success, ctx, username)        
     return d
Ejemplo n.º 2
0
 def success(result, ctx, username):
     d = IUsersDatabase(IS(ctx)).findUser(username)
     d.addCallback(login, ctx)
     return d