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
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
def edit_role2(post, permissions): #Обновлеяем запись obj = get_role2(post['id']) if not obj: return False obj.name = post['rolename'] obj.rolesgroup = post['rolegroup'] obj.description = post['description'] obj.ordering = post['order'] #Удаляем роли DBSession.query(PermissionsRoles).filter(PermissionsRoles.role_id == post['id']).delete() #Добавляем роли for e in permissions: pr = PermissionsRoles(post['id'], e) DBSession.add(pr) try: transaction.commit() except: transaction.rollback() return False else: return True
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
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
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
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
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
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
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
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
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)