Пример #1
0
def db_put_user(post, roles, token):
    user = DBSession.query(Users).filter(or_(Users.username == post['username'], Users.email == post['email'])).all()
    if not user:
        ts = time.time()
        DBSession.autoflush = False
        addprofiles = Profiles(post['fullname'], '', '', '')
        usersactivation = UsersActivation(token, ts)
        u = Users(post['username'], post['email'], hash_password(post['password']), ts, 1, addprofiles, usersactivation=usersactivation)
    
        DBSession.add(u)
        DBSession.flush()
        DBSession.refresh(u)
    
        for e in roles:
            ru = RolesUsers(u.id, e)
            DBSession.add(ru)
            DBSession.flush()
    
        try:
            transaction.commit()
        except:
            DBSession.rollback()
            return False
        else:
            return True
    else:
        return 3
Пример #2
0
def new_user2(post, roles, useavatars):

    ts = time.time()

    # Добавляем запись
    DBSession.autoflush = False

    if useavatars == 1 and "avatarsource" in post:
        # Если используем аваторы
        addprofiles = Profiles(post["fullname"], post["avatarsource"], post["avatarsize1"], post["avatarsize2"])
    else:
        # Если нет
        addprofiles = Profiles(post["fullname"])

    u = Users(post["username"], post["email"], hash_password(post["password"]), ts, 1, addprofiles)

    DBSession.add(u)
    DBSession.flush()
    DBSession.refresh(u)

    # Добавляем роли
    for e in roles:
        ru = RolesUsers(u.id, e)
        DBSession.add(ru)
        DBSession.flush()

    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return u
Пример #3
0
def edit_user2(post, roles, useavatars):
    # Обновлеяем запись
    obj = get_user2(post["id"])
    if not obj:
        return False
    obj.username = post["username"]
    obj.email = post["email"]
    obj.profiles.fullname = post["fullname"]
    if useavatars == 1 and "avatarsource" in post:
        obj.profiles.avatar1 = post["avatarsource"]
        obj.profiles.avatar2 = post["avatarsize1"]
        obj.profiles.avatar3 = post["avatarsize2"]
    if post["password"] != "":
        obj.password = hash_password(post["password"])

    # Удаляем роли
    DBSession.query(RolesUsers).filter(RolesUsers.user_id == post["id"]).delete()

    # Добавляем роли
    for e in roles:
        ru = RolesUsers(post["id"], e)
        DBSession.add(ru)

    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return True
Пример #4
0
def set_userpassword(post):
    setopt(Users, 'check_password', Users_check_password)
    user = DBSession.query(Users).filter(Users.id == post['userid']).one()
    if user.check_password(post['oldpassword']):
        user.password = hash_password(post['password'])
        
        try:
            transaction.commit()
        except:
            DBSession.rollback()
            return False
        else:
            return 1
        
    else:
        return 2