Ejemplo n.º 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
Ejemplo n.º 2
0
def add_comment(userid, thread, threadid, threadtitle, title, content):

    p = Parser()
    p.add_simple_formatter(
        "video",
        '<object width="480" height="360"><embed src="http://www.youtube.com/v/%(value)s" type="application/x-shockwave-flash" width="480" height="360"></embed></object>',
    )
    p.add_simple_formatter(
        "img", '<img style="max-width:480px; max-height:400px;" src="%(value)s" alt="" />', replace_links=False
    )

    ts = int(time.time())

    DBSession.autoflush = False
    c = Comments(userid, thread, threadid, threadtitle, title, p.format(content), created=ts)
    DBSession.add(c)
    DBSession.flush()

    try:
        transaction.commit()
        result = 1
    except:
        DBSession.rollback()
        result = 0

    return result
Ejemplo n.º 3
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
Ejemplo n.º 4
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
Ejemplo n.º 5
0
def edit_post2(post, tags):
    
    ts = time.time()
    
    obj = get_post2(post['id'])
    if not obj:
        return False
    obj.title = post['title']
    obj.slug = post['alias']
    obj.userid = post['userid']
    obj.intro = post['into']
    obj.content = post['content']
    obj.published = post['published']
    obj.comments = post['comments']
    obj.comments_premoderation = post['comments_premoderation']
    obj.last_edited = ts
    
    #Удаляем тэги
    DBSession.query(TagsPosts).filter(TagsPosts.post_id == post['id']).delete()
    
    #Добавляем тэги
    for e in tags:
        pt = TagsPosts(post['id'], e)
        DBSession.add(pt)
    
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return True
Ejemplo n.º 6
0
def new_post2(post, tags):
    
    ts = time.time()
    
    #Добавляем запись
    DBSession.autoflush = False
    
    p = Blogs(post['title'], post['alias'], post['userid'], post['into'], post['content'],
              post['published'], post['comments'], post['comments_premoderation'], ts)
    
    DBSession.add(p)
    DBSession.flush()
    DBSession.refresh(p)
    
    #Добавляем тэги
    for e in tags:
        pt = TagsPosts(p.id, e)
        DBSession.add(pt)
        DBSession.flush()
        
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return p
Ejemplo n.º 7
0
def new_accesslog(ip, e=1, u=0):
    
    l = AccessLog(ip, e, user_id=u)
    DBSession.add(l)
    
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
Ejemplo n.º 8
0
def delete_comment(itemid):

    DBSession.query(Comments).filter(Comments.id == itemid).delete()

    try:
        transaction.commit()
        result = 1
    except:
        DBSession.rollback()
        result = 0

    return result
Ejemplo n.º 9
0
def put_userprofile(userid, post):
    p = DBSession.query(Profiles).filter(Profiles.userid == userid).one()
    
    p.fullname = post['fullname']
    
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return True
def new_permission2(post):
    #Добавляем запись
    DBSession.autoflush = False
    r = Permissions(post['permname'], description=post['description'], ordering=post['order'])   
    DBSession.add(r)
    DBSession.flush()
    DBSession.refresh(r)
            
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return r
Ejemplo n.º 11
0
def db_set_avatar(post):
    p = DBSession.query(Profiles).filter(Profiles.userid == post['id']).all()
    if not p[0]:
        return False
    p[0].avatar1 = post['avatarsource']
    p[0].avatar2 = post['avatarsize1']
    p[0].avatar3 = post['avatarsize2']
    
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return True
Ejemplo n.º 12
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
Ejemplo n.º 13
0
def edit_comment(itemid, title, content):

    ts = int(time.time())

    obj = get_comment(itemid)
    obj.title = title
    obj.content = content
    obj.last_edited = ts

    try:
        transaction.commit()
        result = 1
    except:
        DBSession.rollback()
        result = 0

    return result
Ejemplo n.º 14
0
def db_get_useractivation(post, roles):
    ua = DBSession.query(UsersActivation).filter(UsersActivation.code == post['ticket']).all()
    if ua:
        DBSession.query(RolesUsers).filter(RolesUsers.user_id == ua[0].userid).delete()
        for e in roles:
            ru = RolesUsers(ua[0].userid, e)
            DBSession.add(ru)
        
        try:
            transaction.commit()
        except:
            DBSession.rollback()
            return False
        else:
            return True
        
        return ua[0]
    else:
        return None
Ejemplo n.º 15
0
def db_put_comment(itemid, post):

    p = get_bbparser()

    content = p.format(post["content"])

    obj = get_comment(itemid)
    obj.title = post["title"]
    obj.content = content
    obj.last_edited = post["last_edited"]

    try:
        transaction.commit()
        result = 1
    except:
        DBSession.rollback()
        result = 0

    return (result, content)
Ejemplo n.º 16
0
def new_role2(post, permissions):
    #Добавляем запись
    DBSession.autoflush = False
    r = Roles(post['rolename'], post['rolegroup'], description=post['description'], ordering=post['order'])   
    DBSession.add(r)
    DBSession.flush()
    DBSession.refresh(r)
    
    #Добавляем права
    for e in permissions:
        pr = PermissionsRoles(r.id, e)
        DBSession.add(pr)
        DBSession.flush()
            
    try:
        transaction.commit()
    except:
        DBSession.rollback()
        return False
    else:
        return r
Ejemplo n.º 17
0
def db_add_comment(post):

    p = get_bbparser()

    content = p.format(post["content"])

    DBSession.autoflush = False
    c = Comments(
        post["userid"], post["thread"], post["threadid"], post["threadtitle"], post["title"], content, post["created"]
    )
    DBSession.add(c)
    DBSession.flush()
    DBSession.refresh(c)

    try:
        transaction.commit()
        result = 1
    except:
        DBSession.rollback()
        result = 0

    u = DBSession.query(Users).filter(Users.id == post["userid"]).one()

    return (result, content, c.id, u.profiles.avatar3)