Пример #1
0
def del_project(name):
    # firstly del project
    p_id = Project.get(Project.p_name == name).p_id
    query = Project.delete().where(Project.p_name == name)
    query.execute() 
    # secondly del p_id in admin_pro 
    users = User.select() 
    for user in users:
        admin_pro = user.admin_pro
        u_id = user.u_id
        if admin_pro:
            if admin_pro == str(p_id):
                admin_pro = None
            else:
                pids = admin_pro.split(',')
                if str(p_id) in pids:
                    pids.remove(str(p_id))
                    splits = ','
                    admin_pro = splits.join(pids)
            query = User.update(admin_pro = admin_pro).where(User.u_id == u_id)
            query.execute()
    # thirdly del item if p_id in item
    items = Item.select()
    items_id = []
    for item in items:
        if item.project_id == p_id:
            items_id.append(item.it_id)
    query = Item.delete().where(Item.project_id == p_id)
    query.execute() 
    # fourly del reply if it_id in items_id
    for item_id in items_id:
        query = Reply.delete().where(Reply.item_id == item_id)
        query.execute() 
Пример #2
0
def add_user(name,email):
    # if name is null, use the prefix of email as name
    if name == None :
        name = email.split('@')[0]

    # if email exists, then return user id. otherwise add new record and return user id 
    query = None
    try :
        query = User.get(User.email == email)
        if query.u_name != name:
            query.u_name = name
            query.save()
    except:
        User.create(u_name=name,email = email)
        query = User.get(User.email == email)
    return query
Пример #3
0
def get_user_admin(email):
    query=User.get(User.email == email)
    user_admin = []
    if query.admin_pro:
        projects = query.admin_pro.split(',')
        for pid in projects:
            if pid:
                pname = Project.get(Project.p_id == int(pid)).p_name
                user_admin.append({'p_id':str(pid),'p_name':pname})
    return user_admin
Пример #4
0
def get_admins_of_project(p_id):
    user_admin = []
    try:
        project = Project.get(Project.p_id == p_id)
        #temp_u['u_name'] = u_iter.u_name
        #temp_u['email'] = u_iter.email
        for user_iter in User.select():
            temp_u = { }
            pids = []
            if user_iter.admin_pro:
                pids = user_iter.admin_pro.split(',')
            if str(project.p_id) in pids:
                temp_u['u_name'] = user_iter.u_name
                temp_u['email'] = user_iter.email
                user_admin.append(temp_u)
        return user_admin
    except Exception, e:
        return []