Esempio n. 1
0
def create_users(app, count=None):
    users = [('*****@*****.**', 'password', ['admin'], True),
             ('*****@*****.**', 'password', ['editor'], True),
             ('*****@*****.**', 'password', ['admin', 'editor'], True),
             ('*****@*****.**', 'password', ['author'], True),
             ('*****@*****.**', 'password', [], False)]
    count = count or len(users)

    for u in users[:count]:
        pw = encrypt_password(u[1])
        ds.create_user(email=u[0], password=pw,
                       roles=u[2], active=u[3], confirmed_at=datetime.utcnow())
    ds.commit()
Esempio n. 2
0
    def run( self, email_address, password, roles):
        from exi.models import Role, User
        
        # make sure roles exist
        roles = re.split(r"\s*,\s*", roles)
        for role in roles:
            if not Role().find_one(dict(name=role)):
                print "Role: %s does not exist. Create it first." % role
                return
        
        # does the user already exist?
        if User().find_one(dict(email=email_address)):
            print "Email: %s already exists." % email_address
            return

        pw = encrypt_password(password)
        user = User().create(**dict(email=email_address, password=pw, confirmed_at=datetime.datetime.utcnow()))

        for role in roles:
            if not UserAddRole().run(**dict(email_address=user.email, role_name=role)):
                print "Failed to add role: %s" % role