Beispiel #1
0
def callback():
    """
    获取列表数据
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 部门id
    department_id = convert_helper.to_int0(
        web_helper.get_query('department_id', '部门id'))
    # 页面索引
    page_number = convert_helper.to_int1(
        web_helper.get_query('page', '', is_check_null=False))
    # 页面页码与显示记录数量
    page_size = convert_helper.to_int0(
        web_helper.get_query('rows', '', is_check_null=False))
    sidx = web_helper.get_query('sidx', '', is_check_null=False)
    sord = web_helper.get_query('sord', '', is_check_null=False)
    # 初始化排序字段
    order_by = 'id asc'
    if sidx:
        order_by = sidx + ' ' + sord

    _positions_logic = positions_logic.PositionsLogic()
    # 读取记录
    wheres = ''
    if department_id:
        wheres = 'department_id=' + str(department_id)
    result = _positions_logic.get_list('*', wheres, page_number, page_size,
                                       order_by)
    if result:
        # 直接输出json
        return json.dumps(result)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #2
0
def callback():
    """
    获取列表数据
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 父id
    parent_id = convert_helper.to_int0(web_helper.get_query('nodeid', '', is_check_null=False))
    # 页面索引
    page_number = convert_helper.to_int1(web_helper.get_query('page', '', is_check_null=False))
    # 页面页码与显示记录数量
    page_size = convert_helper.to_int0(web_helper.get_query('rows', '', is_check_null=False))
    # 接收排序参数
    sidx = web_helper.get_query('sidx', '', is_check_null=False)
    sord = web_helper.get_query('sord', '', is_check_null=False)
    # 初始化排序字段
    order_by = 'sort asc'
    if sidx:
        order_by = sidx + ' ' + sord

    _department_logic = department_logic.DepartmentLogic()
    # 读取记录
    wheres = 'parent_id=' + str(parent_id)
    result = _department_logic.get_list('*', wheres, page_number, page_size, order_by)
    if result:
        return json.dumps(result)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #3
0
def callback(id):
    """
    根据用户职位权限获取列表数据(树列表),为已有权限的数据赋值
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 读取记录(ztree控件需要输出记录id、父id、树节点名称、节点是否扩展和是否打勾这几项参数)
    result = _menu_info_logic.get_list('id, parent_id, name, not is_leaf as open, false as checked')
    if result and result.get('rows'):
        # 获取指定的职位记录
        _positions_logic = positions_logic.PositionsLogic()
        positions_logic_model = _positions_logic.get_model_for_cache(id)
        if positions_logic_model:
            # 读取该职位权限字串
            page_power = positions_logic_model.get('page_power', '')
            # 判断当前菜单项id是否存在于该职位的权限字串中
            for model in result.get('rows'):
                # 如果存在,则表示当前职位拥有该菜单项的权限,即在菜单权限列表中需要打勾
                if ',' + str(model.get('id', 0)) + ',' in page_power:
                    model['checked'] = True

        return web_helper.return_msg(0, "成功", {'tree_list': result.get('rows')})
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #4
0
def callback():
    """
    获取列表数据
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 页面索引
    page_number = convert_helper.to_int1(
        web_helper.get_query('page', '', is_check_null=False))
    # 页面页码与显示记录数量
    page_size = convert_helper.to_int0(
        web_helper.get_query('rows', '', is_check_null=False))
    sidx = web_helper.get_query('sidx', '', is_check_null=False)
    sord = web_helper.get_query('sord', '', is_check_null=False)
    # 初始化排序字段
    order_by = 'id asc'
    if sidx:
        order_by = sidx + ' ' + sord

    _manager_logic = manager_logic.ManagerLogic()
    # 读取记录
    result = _manager_logic.get_list('*', '', page_number, page_size, order_by)
    if result:
        return json.dumps(result, cls=json_helper.CJsonEncoder)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #5
0
def callback(id):
    """
    修改记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '部门名称')
    parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False))
    sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False))
    is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False)

    _department_logic = department_logic.DepartmentLogic()
    # 如果没有设置排序,则自动获取当前级别最大的序号加1
    if sort == 0:
        sort = _department_logic.get_max('parent_id', 'parent_id=' + str(parent_id)) + 1

    # 组合更新字段
    fields = {
        'name': string(name),
        'sort': sort,
        'is_leaf': is_leaf,
    }
    # 修改记录
    result = _department_logic.edit_model(id, fields)
    if result:
        return web_helper.return_msg(0, '提交成功', result)
    else:
        return web_helper.return_msg(-1, "提交查询失败")
Beispiel #6
0
def callback():
    """
    新增记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '角色名称')
    department_id = convert_helper.to_int0(
        web_helper.get_form('department_id', '部门id'))
    page_power = web_helper.get_form('page_power', '权限列表', is_check_null=False)

    _department_logic = department_logic.DepartmentLogic()
    # 读取对应的部门记录
    department_result = _department_logic.get_model_for_cache(department_id)
    if not department_result:
        return web_helper.return_msg(-1, "部门不存在")

    _positions_logic = positions_logic.PositionsLogic()
    # 组合更新字段
    fields = {
        'name': string(name),
        'department_id': department_id,
        'department_code': string(department_result.get('code', '')),
        'department_name': string(department_result.get('name', '')),
        'page_power': string(page_power),
    }
    # 读取记录
    result = _positions_logic.add_model(fields)
    if result:
        # 直接输出json
        return web_helper.return_msg(0, '提交成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #7
0
def callback():
    """
    修改记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    front_cover_img = web_helper.get_form('front_cover_img', '图片')
    content = web_helper.get_form('content', '内容', is_check_special_char=False)
    # 防sql注入攻击处理
    content = string_helper.filter_str(content, "'")
    # 防xss攻击处理
    content = string_helper.clear_xss(content)

    fields = {
        'front_cover_img': string(front_cover_img),
        'content': string(content),
    }
    # 更新记录
    _infomation_logic = infomation_logic.InfomationLogic()
    result = _infomation_logic.edit_model(1, fields)
    if result:
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #8
0
def callback(id):
    """
    修改记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '角色名称')
    department_id = convert_helper.to_int0(
        web_helper.get_form('department_id', '部门id'))
    page_power = web_helper.get_form('page_power', '权限列表', is_check_null=False)
    if page_power == ',':
        page_power = ''

    _positions_logic = positions_logic.PositionsLogic()
    positions_result = _positions_logic.get_model_for_cache(id)
    if department_id != positions_result.get('department_id'):
        return web_helper.return_msg(-1, '该角色所属部门错误,请与管理员联系')

    # 组合更新字段
    fields = {
        'name': string(name),
        'page_power': string(page_power),
    }

    # 读取记录
    result = _positions_logic.edit_model(id, fields)
    if result:
        # 直接输出json
        return web_helper.return_msg(0, '提交成功', result)
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #9
0
def callback():
    """
    主页面获取菜单列表数据
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 获取当前用户权限
    session = web_helper.get_session()
    if session:
        _positions_logic = positions_logic.PositionsLogic()
        page_power = _positions_logic.get_page_power(session.get('positions_id'))
    else:
        page_power = ''
    if not page_power:
        return web_helper.return_msg(-404, '您的登录已超时,请重新登录')

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 读取记录
    result = _menu_info_logic.get_list('*', 'is_show and is_enabled', orderby='sort')
    if result:
        # 定义最终输出的html存储变量
        html = ''
        for model in result.get('rows'):
            # 检查是否有权限
            if ',' + str(model.get('id')) + ',' in page_power:
                # 提取出第一级菜单
                if model.get('parent_id') == 0:
                    # 添加一级菜单
                    temp = """
                    <dl id="menu-%(id)s">
                        <dt><i class="Hui-iconfont">%(icon)s</i> %(name)s<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                        <dd>
                            <ul>
                    """ % {'id': model.get('id'), 'icon': model.get('icon'), 'name': model.get('name')}
                    html = html + temp

                    # 从所有菜单记录中提取当前一级菜单下的子菜单
                    for sub_model in result.get('rows'):
                        # 检查是否有权限
                        if ',' + str(sub_model.get('id')) + ',' in page_power:
                            # 如果父id等于当前一级菜单id,则为当前菜单的子菜单
                            if sub_model.get('parent_id') == model.get('id'):
                                temp = """
                                <li><a data-href="%(page_url)s" data-title="%(name)s" href="javascript:void(0)">%(name)s</a></li>
                            """ % {'page_url': sub_model.get('page_url'), 'name': sub_model.get('name')}
                                html = html + temp

                    # 闭合菜单html
                    temp = """
                            </ul>
                        </dd>
                    </dl>
                        """
                    html = html + temp

        return web_helper.return_msg(0, '成功', {'menu_html': html})
    else:
        return web_helper.return_msg(-1, "查询失败")
def callback():
    """
    获取列表数据
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 查询条件
    wheres = []
    start_time = convert_helper.to_date(
        web_helper.get_query('start_time', '开始时间', is_check_null=False))
    if start_time:
        wheres.append('add_time>=' + string(start_time))
    end_time = convert_helper.to_date(
        web_helper.get_query('end_time', '结束时间', is_check_null=False))
    if end_time:
        end_time = datetime_helper.timedelta('d', end_time, 1)
        wheres.append('add_time<' + string(end_time))
    manager_name = web_helper.get_query('manager_name',
                                        '管理员姓名',
                                        is_check_null=False)
    if manager_name:
        wheres.append('manager_name like \'%' + manager_name + '%\'')
    ip = web_helper.get_query('ip', 'ip', is_check_null=False)
    if ip:
        wheres.append('ip like \'' + ip + '%\'')
    remark = web_helper.get_query('remark', '操作内容', is_check_null=False)
    if remark:
        wheres.append('remark like \'%' + remark + '%\'')

    # 页面索引
    page_number = convert_helper.to_int1(
        web_helper.get_query('page', '', is_check_null=False))
    # 页面页码与显示记录数量
    page_size = convert_helper.to_int0(
        web_helper.get_query('rows', '', is_check_null=False))
    sidx = web_helper.get_query('sidx', '', is_check_null=False)
    sord = web_helper.get_query('sord', '', is_check_null=False)
    # 初始化排序字段
    order_by = 'id desc'
    if sidx:
        order_by = sidx + ' ' + sord

    _manager_operation_log_logic = manager_operation_log_logic.ManagerOperationLogLogic(
    )
    # 读取记录
    result = _manager_operation_log_logic.get_list('*', wheres, page_number,
                                                   page_size, order_by)
    if result:
        # 直接输出json
        return json.dumps(result, cls=json_helper.CJsonEncoder)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #11
0
def callback():
    """
    获取列表数据(树列表)
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 读取记录
    result = _menu_info_logic.get_list('id, parent_id, name, not is_leaf as open', 'is_leaf=false', orderby='sort asc')
    if result:
        return web_helper.return_msg(0, "成功", {'tree_list': result.get('rows')})
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #12
0
def callback():
    """
    获取列表数据(树列表)
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _department_logic = department_logic.DepartmentLogic()
    # 读取记录
    result = _department_logic.get_list('id, parent_id, name, not is_leaf as open')
    if result:
        return web_helper.return_msg(0, "成功", {'tree_list': result.get('rows')})
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #13
0
def callback(id):
    """
    获取指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _department_logic = department_logic.DepartmentLogic()
    # 读取记录
    result = _department_logic.get_model_for_cache(id)
    if result:
        return web_helper.return_msg(0, '成功', result)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #14
0
def callback(id):
    """
    获取指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 读取记录
    result = _menu_info_logic.get_model_for_cache(id)
    if result:
        return web_helper.return_msg(0, '成功', result)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #15
0
def callback():
    """
    新增记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '菜单名称')
    icon = web_helper.get_form('icon', '菜单小图标', True, 10, False, is_check_special_char=False)
    icon = icon.replace('\'', '').replace('|', '').replace('%', '')
    page_url = web_helper.get_form('page_url', '页面URL', is_check_null=False)
    interface_url = web_helper.get_form('interface_url', '接口url', is_check_null=False, is_check_special_char=False)
    # 替换编码
    interface_url = interface_url.replace('@', '').replace('\'', '').replace('|', '').replace('%', '')
    parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False))
    sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False))
    is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False)
    is_show = web_helper.get_form('is_show', '是否显示', is_check_null=False)
    is_enabled = web_helper.get_form('is_enabled', '是否启用', is_check_null=False)

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 计算深度级别,即当前菜单在哪一级
    if parent_id == 0:
        level = 0
    else:
        level = _menu_info_logic.get_value_for_cache(parent_id, 'level') + 1
    # 如果没有设置排序,则自动获取当前级别最大的序号加1
    if sort == 0:
        sort = _menu_info_logic.get_max('sort', 'parent_id=' + str(parent_id)) + 1

    # 组合更新字段
    fields = {
        'name': string(name),
        'icon': string(icon),
        'page_url': string(page_url),
        'interface_url': string(interface_url),
        'parent_id': parent_id,
        'sort': sort,
        'level': level,
        'is_leaf': is_leaf,
        'is_show': is_show,
        'is_enabled': is_enabled,
    }
    # 新增记录
    result = _menu_info_logic.add_model(fields)
    if result:
        return web_helper.return_msg(0, '提交成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #16
0
def callback(id):
    """
    删除指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 实例化product表操作类ProductLogic
    _product_logic = product_logic.ProductLogic()
    result = _product_logic.delete_model(id)
    # 判断是否提交成功
    if result:
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "删除失败")
Beispiel #17
0
def callback(id):
    """
    获取指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _positions_logic = positions_logic.PositionsLogic()
    # 读取记录
    result = _positions_logic.get_model_for_cache(id)
    if result:
        # 直接输出json
        return web_helper.return_msg(0, '成功', result)
    else:
        return web_helper.return_msg(-1, "查询失败")
Beispiel #18
0
def callback():
    """
    新增记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '产品名称')
    code = web_helper.get_form('code', '产品编码')
    product_class_id = convert_helper.to_int0(
        web_helper.get_form('product_class_id', '产品分类'))
    standard = web_helper.get_form('standard', '产品规格')
    quality_guarantee_period = web_helper.get_form('quality_guarantee_period',
                                                   '保质期')
    place_of_origin = web_helper.get_form('place_of_origin', '产地')
    front_cover_img = web_helper.get_form('front_cover_img', '封面图片')
    content = web_helper.get_form('content',
                                  '产品描述',
                                  is_check_special_char=False)
    # 防sql注入攻击处理
    content = string_helper.filter_str(content, "'")
    # 防xss攻击处理
    content = string_helper.clear_xss(content)
    is_enable = convert_helper.to_int0(web_helper.get_form(
        'is_enable', '是否启用'))

    # 设置新增参数
    fields = {
        'name': string(name),
        'code': string(code),
        'product_class_id': product_class_id,
        'standard': string(standard),
        'quality_guarantee_period': string(quality_guarantee_period),
        'place_of_origin': string(place_of_origin),
        'front_cover_img': string(front_cover_img),
        'content': string(content),
        'is_enable': is_enable,
    }
    # 实例化product表操作类ProductLogic
    _product_logic = product_logic.ProductLogic()
    # 新增记录
    result = _product_logic.add_model(fields)
    # 判断是否提交成功
    if result:
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #19
0
def callback():
    """
    修改记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 初始化输出值
    result = {"state": "FAIL", "url": "", "title": "上传失败", "original": ""}
    # 获取上传文件
    try:
        # upfile为前端HTML上传控件名称
        upload = request.files.get('upfile')
        # 如果没有读取到上传文件或上传文件的方式不正确,则返回上传失败状态
        if not upload:
            return result

        # 取出文件的名字和后缀
        name, ext = os.path.splitext(upload.filename)
        # 给上传的文件重命名,默认上传的是图片
        if ext and ext != '':
            file_name = datetime_helper.to_number() + random_helper.get_string(
                5) + ext
        else:
            file_name = datetime_helper.to_number() + random_helper.get_string(
                5) + '.jpg'
        upload.filename = file_name

        # 设置文件存储的相对路径
        filepath = '/upload/' + datetime_helper.to_number('%Y%m%d') + '/'
        # 组合成服务器端存储绝对路径
        upload_path = os.getcwd() + filepath
        # 如果目录不存在,则创建目录
        if not os.path.exists(upload_path):
            os.mkdir(upload_path)
        # 保存文件
        upload.save(upload_path + upload.filename, overwrite=True)

        # 设置输出参数(返回相对路径给客户端)
        result['title'] = result['original'] = upload.filename
        result['url'] = filepath + upload.filename
        result['state'] = 'SUCCESS'
    except Exception as e:
        log_helper.error('上传失败:' + str(e.args))

    # 直接输出json
    return result
Beispiel #20
0
def callback(id):
    """
    设置用户离职
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _manager_logic = manager_logic.ManagerLogic()
    fields = {
        'is_work': False,
        'is_enabled': False,
    }
    # 读取记录
    result = _manager_logic.edit_model(id, fields)
    if result:
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "管理员不存在")
Beispiel #21
0
def callback(id):
    """
    删除指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _menu_info_logic = menu_info_logic.MenuInfoLogic()
    # 判断要删除的节点是否有子节点,是的话不能删除
    if _menu_info_logic.exists('parent_id=' + str(id)):
        return web_helper.return_msg(-1, "当前菜单存在子菜单,不能直接删除")

    # 删除记录
    result = _menu_info_logic.delete_model(id)
    if result:
        return web_helper.return_msg(0, '删除成功')
    else:
        return web_helper.return_msg(-1, "删除失败")
Beispiel #22
0
def callback():
    """
    新增记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '部门名称')
    parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False))
    sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False))
    is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False)

    _department_logic = department_logic.DepartmentLogic()
    # 计算深度级别,即当前部门在哪一级;并生成部门编码
    if parent_id == 0:
        level = 0
        code = _department_logic.create_code('')
    else:
        model = _department_logic.get_model_for_cache(parent_id)
        if not model:
            return web_helper.return_msg(-1, "您选择的部门不存在")

        level = model.get('level', 0) + 1
        code = _department_logic.create_code(model.get('code', ''))
    # 如果没有设置排序,则自动获取当前级别最大的序号加1
    if sort == 0:
        sort = _department_logic.get_max('parent_id', 'parent_id=' + str(parent_id)) + 1

    # 组合更新字段
    fields = {
        'name': string(name),
        'code': string(code),
        'parent_id': parent_id,
        'sort': sort,
        'level': level,
        'is_leaf': is_leaf,
    }
    # 新增记录
    result = _department_logic.add_model(fields)
    if result:
        return web_helper.return_msg(0, '提交成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Beispiel #23
0
def callback(id):
    """
    删除指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    # 判断要删除的记录是否被引用,是的话不能删除
    _manager_logic = manager_logic.ManagerLogic()
    if _manager_logic.exists('positions_id=' + str(id)):
        return web_helper.return_msg(-1, "当前职位已绑定相关管理员,不能直接删除")

    # 删除记录
    _positions_logic = positions_logic.PositionsLogic()
    result = _positions_logic.delete_model(id)
    if result:
        # 直接输出json
        return web_helper.return_msg(0, '删除成功')
    else:
        return web_helper.return_msg(-1, "删除失败")
Beispiel #24
0
def callback(id):
    """
    删除指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _manager_logic = manager_logic.ManagerLogic()
    # 删除记录
    result = _manager_logic.get_model_for_cache(id)
    if result:
        # 未离职管理员不能直接删除
        if result.get('is_work') == 1:
            return web_helper.return_msg(-1, '未离职管理员不能直接删除')

        result = _manager_logic.delete_model(id)
        if result:
            return web_helper.return_msg(0, '删除成功')

    return web_helper.return_msg(-1, "删除失败")
Beispiel #25
0
def callback(id):
    """
    删除指定记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _department_logic = department_logic.DepartmentLogic()
    # 判断要删除的节点是否有子节点,是的话不能删除
    if _department_logic.exists('parent_id=' + str(id)):
        return web_helper.return_msg(-1, "当前部门下已存在子部门,不能直接删除")
    # 判断要删除的记录是否被引用,是的话不能删除
    _positions_logic = positions_logic.PositionsLogic()
    if _positions_logic.exists('department_id=' + str(id)):
        return web_helper.return_msg(-1, "当前部门已存在相关职位,不能直接删除")

    # 删除记录
    result = _department_logic.delete_model(id)
    if result:
        return web_helper.return_msg(0, '删除成功')
    else:
        return web_helper.return_msg(-1, "删除失败")
Beispiel #26
0
def callback(id):
    """
    设置用户复职
    """
    # 检查用户权限
    _common_logic.check_user_power()

    _manager_logic = manager_logic.ManagerLogic()
    # 读取记录
    result = _manager_logic.get_model_for_cache(id)
    if result:
        if result.get('is_work'):
            return web_helper.return_msg(-1, '该管理员工作状态正常,不需要复职')

        fields = {
            'is_work': True,
            'is_enabled': True,
        }
        # 读取记录
        result = _manager_logic.edit_model(id, fields)
        if result:
            return web_helper.return_msg(0, '成功')

    return web_helper.return_msg(-1, "管理员不存在")
Beispiel #27
0
def callback():
    """
    新增记录
    """
    # 检查用户权限
    _common_logic.check_user_power()

    name = web_helper.get_form('name', '管理员名称')
    sex = web_helper.get_form('sex', '性别', is_check_null=False)
    if sex != '男':
        sex = '女'
    mobile = web_helper.get_form('mobile', '手机号码', is_check_null=False)
    if mobile and not string_helper.is_mobile(mobile):
        return web_helper.return_msg(-1, '手机号码格式不正确')
    birthday = web_helper.get_form('birthday', '出生日期', is_check_null=False)
    if birthday:
        birthday = convert_helper.to_date(birthday)
    email = web_helper.get_form('email', 'email', is_check_null=False)
    if email and not string_helper.is_email(email):
        return web_helper.return_msg(-1, 'Email格式不正确')
    remark = web_helper.get_form('remark', '备注', is_check_null=False)
    department_id = convert_helper.to_int0(
        web_helper.get_form('department_id', '所属部门'))
    positions_id = convert_helper.to_int0(
        web_helper.get_form('positions_id', '所属职位'))
    is_work = convert_helper.to_int0(web_helper.get_form('is_work', '工作状态'))
    is_enabled = web_helper.get_form('is_enabled', '是否启用', is_check_null=False)
    login_name = web_helper.get_form('login_name', '登录账号')
    login_password = web_helper.get_form('login_password1',
                                         '登录密码',
                                         is_check_special_char=False)
    if len(login_password) < 6:
        return web_helper.return_msg(-1, '登录密码长度必须大于等于6位')
    login_password = encrypt_helper.md5(
        encrypt_helper.md5(login_password)[2:24])

    # 判断提交的部门id是否正确
    _department_logic = department_logic.DepartmentLogic()
    department_result = _department_logic.get_model_for_cache(department_id)
    if not department_result:
        return web_helper.return_msg(-1, '所属部门不存在')
    # 判断提交的职位id是否正确
    _positions_logic = positions_logic.PositionsLogic()
    positions_result = _positions_logic.get_model_for_cache(positions_id)
    if not positions_result or positions_result.get(
            'department_id') != department_id:
        return web_helper.return_msg(-1, '所属职位不存在')

    _manager_logic = manager_logic.ManagerLogic()
    # 组合更新字段
    fields = {
        'name': string(name),
        'sex': string(sex),
        'mobile': string(mobile),
        'email': string(email),
        'remark': string(remark),
        'department_id': department_id,
        'department_code': string(department_result.get('code', '')),
        'department_name': string(department_result.get('name', '')),
        'positions_id': positions_id,
        'positions_name': string(positions_result.get('name', '')),
        'is_work': is_work,
        'is_enabled': is_enabled,
        'login_name': string(login_name),
        'login_password': string(login_password),
    }
    if birthday:
        fields['birthday'] = string(str(birthday))
    # 添加记录
    result = _manager_logic.add_model(fields)
    if result:
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")