Example #1
0
def update(id,
           updator,
           org_id=None,
           role_id=None,
           username=None,
           real_name=None,
           email=None,
           tel=None,
           profile_photo=None,
           login_error_num=None,
           description=None,
           password=None,
           enable=None,
           last_login_time=None):
    user = get(id)
    if user:
        old_data = user.to_json()
        user.org_id = org_id if org_id is not None else user.org_id
        user.role_id = role_id if role_id is not None else user.role_id
        user.username = username if username is not None else user.username
        user.real_name = real_name if real_name is not None else user.real_name
        user.email = email if email is not None else user.email
        user.tel = tel if tel is not None else user.tel
        user.profile_photo = profile_photo if profile_photo is not None else user.profile_photo
        user.login_error_num = login_error_num if login_error_num is not None else user.login_error_num
        user.description = description if description is not None else user.description
        user.password = password if password is not None else user.password
        user.enable = enable if enable is not None else user.enable
        user.last_login_time = last_login_time if last_login_time is not None else user.last_login_time

        user.updator = updator
        user.update_time = datetime.now()
        opr_data(oid=updator, od=old_data, nd=user.to_json())
        db.session.add(user)
Example #2
0
def role_set_auth(role_id, auths_id, oid=0):
    od = nd = []
    role_find = Role.query.filter(Role.id == role_id).one_or_none()
    if role_find:
        for auth_id in auths_id:
            auth = Auth.query.filter(Auth.id == auth_id).one_or_none()
            if auth:
                # 三种可能  权限已存在  新增权限  删除(未传)
                role_auth_check = RoleAuth.query.filter(
                    RoleAuth.role_id == role_id,
                    RoleAuth.auth_id == auth_id).one_or_none()
                if role_auth_check is None:
                    role_auth = RoleAuth(role_id=role_id, auth_id=auth_id)
                    db.session.add(role_auth)
                    od.append({})
                    nd.append(role_auth.to_json())
        # 删除没勾选的该角色的权限
        role_auth_del = RoleAuth.query.filter(
            RoleAuth.role_id == role_id,
            RoleAuth.auth_id.notin_(auths_id)).all()
        for item in role_auth_del:
            db.session.delete(item)
            od.append(item.to_json())
            nd.append({})
            db.session.delete(item)
        db.session.commit()
        opr_data(oid=oid, od={}, nd={'nd': nd})
        return msg.SYS_SUCCESS
    else:
        db.session.commit()
        return msg.SYS_RECORD_NOT_FOUND
Example #3
0
def add(org_id,
        role_id,
        username,
        password,
        real_name,
        email,
        tel,
        enable,
        description,
        creator,
        updator,
        profile_photo=web['static_avatar'],
        id=None):
    user = User(
        id=id,
        org_id=org_id,
        role_id=role_id,
        username=username,
        password=password,
        real_name=real_name,
        email=email,
        tel=tel,
        profile_photo=profile_photo if profile_photo else web['static_avatar'],
        login_error_num=0,
        enable=enable,
        description=description,
        creator=creator,
        create_time=datetime.now(),
        updator=updator if updator else creator,
        update_time=datetime.now())
    opr_data(oid=creator, od={}, nd=user.to_json())
    db.session.add(user)
Example #4
0
def role_delete(roles_id, oid=0):
    for role_id in roles_id:
        role_find = Role.query.filter(Role.id == role_id).one_or_none()
        if role_find:
            od = role_find.to_json()
            db.session.delete(role_find)
            opr_data(oid=oid, od=od, nd={})
    db.session.commit()
    return msg.SYS_SUCCESS
Example #5
0
def delete_media(ids: list, oid: int):
    """
    删除媒体库
    :param ids: type(int)
    :return:
    """
    for media_id in ids:
        sql_result = Media.query.filter(Media.id == media_id).one_or_none()
        if sql_result:
            db.session.delete(sql_result)
            opr_data(oid=oid, nd={}, od=sql_result.to_json())
Example #6
0
def role_add(name, description, creator, enable):
    role_check = Role.query.filter(Role.name == name).one_or_none()
    if role_check:
        return msg.SYS_NAME_REPEATED_ERR
    role = Role(name=name,
                description=description,
                creator=creator,
                enable=enable)
    db.session.add(role)
    db.session.commit()
    opr_data(oid=creator, od={}, nd=role.to_json())
    return msg.SYS_SUCCESS
Example #7
0
def auth_audit(need_auditing, auths_id, updator):
    od = nd = []
    for auth_id in auths_id:
        auth_find = Auth.query.filter(Auth.id == auth_id).one_or_none()
        if auth_find:
            od.append(auth_find.to_json())
            auth_find.need_auditing = need_auditing
            auth_find.updator = updator
            auth_find.update_time = datetime.datetime.now()
            nd.append(auth_find.to_json())
    opr_data(oid=updator, od={'od': od}, nd={'nd': nd})
    return msg.SYS_SUCCESS
Example #8
0
def outbox_message_del(ids, oid=0):
    for each in ids:
        is_exist = Message.query.filter(Message.id == int(each)).one_or_none()
        if not is_exist:
            return False, msg.MESSAGE_UN_RECORD
        # 伪删除
        is_exist.is_del = 1
    od = {
        'ids': ids,
    }
    nd = {}
    opr_data(oid=oid, nd=nd, od=od)
    return True, msg.SYS_SUCCESS
Example #9
0
def role_disable(roles_id, updator):
    od = nd = []
    for role_id in roles_id:
        role_find = Role.query.filter(Role.id == role_id).one_or_none()
        if role_find:
            od.append(role_find.to_json())
            role_find.enable = False
            role_find.updator = updator
            role_find.update_time = datetime.datetime.now()
            nd.append(role_find.to_json())
    opr_data(oid=updator, od={'od': od}, nd={'nd': nd})
    db.session.commit()
    return msg.SYS_SUCCESS
Example #10
0
def user_outbox_message_del(ids, oid=0):
    on_user = get_g().user
    uid = on_user.id
    for each in ids:
        is_exist = Message.query.filter(Message.id == int(each),
                                        Message.sender == uid).one_or_none()
        if not is_exist:
            return False, msg.MESSAGE_UN_RECORD
        # 伪删除
        is_exist.is_del = 1
    od = {'ids': ids}
    nd = {}
    opr_data(oid=oid, nd=nd, od=od)
    return True, msg.SYS_SUCCESS
Example #11
0
def modify_media(data: dict, updator: int):
    """
    编辑媒体
    :param data:{
        "id":789
        "name":"name",
        "describe":"describe"
    }
    :return:
    """
    sql_result = Media.queyr.filter(Media.id == data["id"]).one()
    old = sql_result.to_json()
    sql_result.name = data["name"]
    sql_result.describe = data["describe"]
    opr_data(oid=updator, nd=sql_result.to_json(), od=old)
Example #12
0
def login_setting(lut: int, ct: bool, oid: int):
    system = Metadata.query.get(1)
    if not system:
        new_system = Metadata(lut=lut, ct=ct)
        db.session.add(new_system)
        od = {}
    else:
        od = system.to_json()
        system.lock_user_threshold = lut
        system.captcha_threshold = ct
    db.session.commit()
    new_data = Metadata.query.get(1)
    nd = new_data.to_json()
    opr_data(oid=oid, od=od, nd=nd)
    return True, msg.SYS_SUCCESS
Example #13
0
def role_update(id, name, description, updator):
    role_check = Role.query.filter(Role.name == name,
                                   Role.id != id).one_or_none()
    if role_check:
        return msg.SYS_NAME_REPEATED_ERR
    role_find = Role.query.filter(Role.id == id).one_or_none()
    if role_find:
        od = role_find.to_json()
        role_find.name = name
        role_find.description = description
        role_find.updator = updator
        role_find.update_time = datetime.datetime.now()
        opr_data(oid=updator, od=od, nd=role_find.to_json())
        return msg.SYS_SUCCESS
    else:
        return msg.SYS_NOT_FOUND
Example #14
0
def modify_media_type(data: dict, updator: int):
    """
    修改媒体类型
    :param data:{
        "type_name":"image",
        "limit_size":789,
        "format":"jpg,png"
    }
    :return:
    """
    sql_result = MediaConf.query.filter(MediaConf.type_name == data["type_name"]).one()
    old = sql_result.to_json()
    sql_result.update_time = datetime.datetime.now()
    sql_result.limit_size = data["limit_size"]
    sql_result.format = data["format"]
    opr_data(oid=updator, nd=sql_result.to_json(), od=old)
Example #15
0
def system_setting(name: str, company: str, version: str, logo: str, favicon: str, oid: int):
    system = Metadata.query.filter(Metadata.id == 1).one_or_none()
    if not system:
        new_system = Metadata(name=name, version=version, company=company, favicon=favicon, logo=logo)
        db.session.add(new_system)
        od = {}
    else:
        od = system.to_json()
        system.name = name
        system.company = company
        system.version = version
        system.logo = logo
        system.favicon = favicon
    db.session.commit()
    new_data = Metadata.query.filter(Metadata.id == 1).one_or_none()
    nd = new_data.to_json()
    opr_data(oid=oid, od=od, nd=nd)
    return True, msg.SYS_SUCCESS
Example #16
0
def add_media(data: dict, creator: int):
    """
    添加媒体
    :param data:{
        "name":"name",
        "type":"type",
        "size":"size",
        "url":"url",
        "uploader":"uploader",
        "resolution":"resolution",
        "time_length":"time_length"
    }
    :return:
    """
    model = Media()
    for key, value in data.items():
        setattr(model, key, value)
        db.session.add(model)
    opr_data(oid=creator, nd=model.to_json(), od={})
Example #17
0
def message_entry(title, context, receiver, is_read=1, m_type=1, creator=0):
    on_user = get_g().user
    sender = on_user.id
    if not receiver:
        return False, msg.MESSAGE_UN_RECORD
    messages = []
    new_message = Message(title=title,
                          context=context,
                          m_type=m_type,
                          receiver_num=len(receiver),
                          sender=sender)
    db.session.add(new_message)
    db.session.flush()
    msg_id = new_message.id
    for r in receiver:
        is_exist = User.query.filter(User.id == r).one_or_none()
        if not is_exist:
            return False, msg.MESSAGE_UN_RECORD
        new_user_message = UserPkMessage(msg_id=msg_id,
                                         receiver=r,
                                         sender=sender)
        new_message.title = title
        messages.append(new_user_message)
    db.session.add(messages)
    db.session.commit()
    od = {}
    nd = {
        'title': title,
        'context': context,
        'sender': sender,
        'receiver': receiver,
        'isread': is_read,
        'm_type': m_type
    }
    opr_data(oid=creator, nd=nd, od=od)
    return True, msg.SYS_SUCCESS
Example #18
0
def delete(ids: List[int], oid: int):
    for id in ids:
        user = get(id)
        opr_data(oid=oid, od=user.to_json(), nd={})
        db.session.delete(user)