Exemple #1
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, "提交查询失败")
Exemple #2
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, "查询失败")
Exemple #3
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, "查询失败")
Exemple #4
0
def callback(id):
    """
    修改记录
    """

    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', '是否启用'))

    # 编辑记录
    sql = """
          update product
            set name=%s, code=%s, product_class_id=%s, standard=%s, quality_guarantee_period=%s,
                place_of_origin=%s, front_cover_img=%s, content=%s, is_enable=%s
          where id=%s returning id"""
    vars = (name, code, product_class_id, standard, quality_guarantee_period, place_of_origin, front_cover_img, content,
            is_enable, id)
    # 写入数据库
    result = db_helper.write(sql, vars)
    # 判断是否提交成功
    if result and result[0].get('id'):
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Exemple #5
0
def callback():
    """
    新增记录
    """
    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', '是否启用'))

    # 添加记录(使用returning这个函数能返回指定的字段值,这里要求返回新添加记录的自增id值)
    sql = """insert into product (name, code, product_class_id, standard, quality_guarantee_period,
                place_of_origin, front_cover_img, content, is_enable)
              values (%s, %s, %s, %s, %s, %s, %s, %s, %s) returning id"""
    vars = (name, code, product_class_id, standard, quality_guarantee_period, place_of_origin, front_cover_img, content, is_enable)
    # 写入数据库
    result = db_helper.write(sql, vars)
    # 判断是否提交成功
    if result and result[0].get('id'):
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Exemple #6
0
def test_to_int(self):
        self.assertEqual(convert_helper.to_int('1'), 1)
        self.assertEqual(convert_helper.to_int('1.0'), 0)
        self.assertEqual(convert_helper.to_int('1a'), 0)
        self.assertEqual(convert_helper.to_int('aaa'), 0)
        self.assertEqual(convert_helper.to_int(''), 0)
        self.assertEqual(convert_helper.to_int(None), 0)
        self.assertEqual(convert_helper.to_int('-1'), -1)
        self.assertEqual(convert_helper.to_int(10), 10)
        self.assertEqual(convert_helper.to_int(-10), -10)

        self.assertEqual(convert_helper.to_int0('1'), 1)
        self.assertEqual(convert_helper.to_int0('1.0'), 0)
        self.assertEqual(convert_helper.to_int0('1a'), 0)
        self.assertEqual(convert_helper.to_int0('aaa'), 0)
        self.assertEqual(convert_helper.to_int0(''), 0)
        self.assertEqual(convert_helper.to_int0(None), 0)
        self.assertEqual(convert_helper.to_int0('-1'), 0)
        self.assertEqual(convert_helper.to_int0(10), 10)
        self.assertEqual(convert_helper.to_int0(-10), 0)

        self.assertEqual(convert_helper.to_int1('1'), 1)
        self.assertEqual(convert_helper.to_int1('1.0'), 1)
        self.assertEqual(convert_helper.to_int1('1a'), 1)
        self.assertEqual(convert_helper.to_int1('aaa'), 1)
        self.assertEqual(convert_helper.to_int1(''), 1)
        self.assertEqual(convert_helper.to_int1(None), 1)
        self.assertEqual(convert_helper.to_int1('-1'), 1)
        self.assertEqual(convert_helper.to_int1(10), 10)
        self.assertEqual(convert_helper.to_int1(-10), 2)
        print(convert_helper.to_int1(-10))
Exemple #7
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, "提交失败")
Exemple #8
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, "查询失败")
Exemple #9
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, "提交失败")
Exemple #10
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, "提交失败")
Exemple #11
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, "提交失败")
Exemple #12
0
def callback():
    """
    获取列表数据
    """
    # 产品分类id
    product_class_id = convert_helper.to_int0(
        web_helper.get_query('product_class_id', '产品分类id',
                             is_check_null=False))
    # 类型
    type = web_helper.get_query('type', '类型', 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)

    # 设置查询条件
    wheres = []
    if product_class_id > 0:
        wheres.append('product_class_id=' + str(product_class_id))
    # 判断是否是前台提交获取数据
    if type != 'backstage':
        wheres.append('is_enable=1')

    # 初始化排序字段
    orderby = None
    ### 设置排序 ###
    if sidx:
        orderby = sidx + ' ' + sord

    # 实例化product表操作类ProductLogic
    _product_logic = product_logic.ProductLogic()
    result = _product_logic.get_list(
        '*,(select name from product_class where id=product_class_id) as product_class_name',
        wheres, page_number, page_size, orderby)
    if result:
        return web_helper.return_raise(
            json.dumps(result, cls=json_helper.CJsonEncoder))
    else:
        return web_helper.return_msg(-1, "查询失败")
Exemple #13
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, "提交失败")
def add_operation_times(operation_times_key):
    """
    累加操作次数
    参数:
    operation_times_key 缓存key
    """
    # 获取当前用户已记录操作次数
    get_operation_times = convert_helper.to_int0(
        cache_helper.get(operation_times_key))
    # 记录获取次数
    cache_helper.set(operation_times_key, get_operation_times + 1, 600)
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, "查询失败")
Exemple #16
0
 def create_code(self, parent_code):
     """按规则生成权限组编码"""
     # 判断是否传入了父权限组编码
     if not parent_code:
         with db_helper.PgHelper(db_config.DB, db_config.IS_OUTPUT_SQL) as db:
             ### 执行sql,获取指定父权限组编号下面的子权限组中,最大的子权限组编号
             sql = 'select max(code) as code from %(table_name)s where parent_id = 0' %  {'table_name': self.__table_name}
             result = db.execute(sql)
             # 如果子权限组编号为NULL,则直接添加
             if not result or not result[0].get('code'):
                 return '01'
             else:
                 # 获取的权限组编号+1
                 code = str(convert_helper.to_int0(result[0].get('code', '')) + 1)
                 # 子权限组编号长度求余是否有余数,是则返回时前面加0
                 if len(code) % 2 == 1:
                     return '0' + code
                 else:
                     return code
     # 没有传入父权限组编码,则表示为一级权限组
     else:
         with db_helper.PgHelper(db_config.DB, db_config.IS_OUTPUT_SQL) as db:
             ### 执行sql,获取指定父权限组编号下面的子权限组中,最大的子权限组编号
             sql = "select max(code) as code from %(table_name)s " \
                   "where code like '%(parent_code1)s' and length(code) = length('%(parent_code)s') + 2" % \
                   {'table_name': self.__table_name, 'parent_code1': parent_code + '%', 'parent_code': parent_code}
             result = db.execute(sql)
             # 如果子权限组编号为NULL,则直接添加
             if not result or not result[0].get('code'):
                 return parent_code + '01'
             else:
                 # 获取的权限组编号+1
                 code = str(convert_helper.to_int0(result[0].get('code', '')) + 1)
                 # 子权限组编号长度求余是否有余数,是则返回时前面加0
                 if len(code) % 2 == 1:
                     return '0' + code
                 else:
                     return code
Exemple #17
0
def callback():
    """
    新增记录
    """
    name = web_helper.get_form('name', '分类名称')
    is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用'))

    # 添加记录(使用returning这个函数能返回指定的字段值,这里要求返回新添加记录的自增id值)
    sql = """insert into product_class (name, is_enable) values (%s, %s) returning id"""
    vars = (name, is_enable)
    # 写入数据库
    result = db_helper.write(sql, vars)
    # 判断是否提交成功
    if result and result[0].get('id'):
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
Exemple #18
0
def callback(id):
    """
    修改记录
    """
    name = web_helper.get_form('name', '分类名称')
    is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用'))

    # 编辑记录
    sql = """update product_class set name=%s, is_enable=%s where id=%s returning id"""
    vars = (name, is_enable, id)
    # 写入数据库
    result = db_helper.write(sql, vars)
    # 判断是否提交成功
    if result and result[0].get('id'):
        return web_helper.return_msg(0, '成功')
    else:
        return web_helper.return_msg(-1, "提交失败")
def check_operation_times(operation_name, limiting_frequency, ip, is_add=True):
    """
    检查操作次数
    参数:
    operation_name      操作名称
    limiting_frequency  限制次数
    is_add              是否累加
    返回参数:
    True    不限制
    False   限制操作
    """
    if not operation_name or limiting_frequency is None:
        return False, '参数错误,错误码:-400-001,请与管理员联系', '', 0

    # 如果限制次数为0时,默认不限制操作
    if limiting_frequency <= 0:
        return True, '', '', 0

    ##############################################################
    ### 判断用户操作次数,超出次数限制执行 ###
    # 获取当前用户已记录操作次数
    operation_times_key = operation_name + '_' + encrypt_helper.md5(
        operation_name + ip)
    operation_times = convert_helper.to_int0(
        cache_helper.get(operation_times_key))

    # 如果系统限制了出错次数,且当前用户已超出限制,则返回错误
    if limiting_frequency and operation_times >= limiting_frequency:
        return False, '您在10分钟内连续操作次数达到' + str(
            limiting_frequency
        ) + '次,已超出限制,请稍候再试', operation_times_key, operation_times

    if is_add:
        # 记录操作次数,默认在缓存中存储10分钟
        cache_helper.set(operation_times_key, operation_times + 1, 600)

    return True, '', operation_times_key, operation_times
Exemple #20
0
def callback():
    """
    获取列表数据
    """
    # 设置查询条件
    wheres = ''
    # 产品分类id
    product_class_id = convert_helper.to_int0(web_helper.get_query('product_class_id', '产品分类id', is_check_null=False))
    if product_class_id > 0:
        wheres = 'where product_class_id=' + str(product_class_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 desc'
    if sidx:
        order_by = sidx + ' ' + sord
    # 类型
    type = web_helper.get_query('type', '类型', is_check_null=False)
    # 判断是否是前台提交获取数据
    if type != 'backstage':
        # 判断是否已经存在查询条件了,是的话在原查询条件后面拼接
        if wheres:
            wheres = wheres + ' and is_enable=1'
        else:
            wheres = 'where is_enable=1'

    #############################################################
    # 初始化输出格式(前端使用jqgrid列表,需要指定输出格式)
    data = {
        'records': 0,
        'total': 0,
        'page': 1,
        'rows': [],
    }
    #############################################################
    # 执行sql,获取指定条件的记录总数量
    sql = 'select count(1) as records from product %(wheres)s' % {'wheres': wheres}
    result = db_helper.read(sql)
    # 如果查询失败或不存在指定条件记录,则直接返回初始值
    if not result or result[0]['records'] == 0:
        return data
    # 保存总记录数量
    data['records'] = result[0].get('records', 0)

    #############################################################
    ### 设置分页索引与页面大小 ###
    # 设置分页大小
    if page_size is None or page_size <= 0:
        page_size = 10
    # 计算总页数
    if data['records'] % page_size == 0:
        page_total = data['records'] // page_size
    else:
        page_total = data['records'] // page_size + 1
    # 记录总页面数量
    data['total'] = page_total

    # 判断提交的页码是否超出范围
    if page_number < 1 or page_number > page_total:
        page_number = page_total
    # 记录当前页面索引值
    data['page'] = page_number

    # 计算当前页面要显示的记录起始位置
    record_number = (page_number - 1) * page_size
    # 设置查询分页条件
    paging = ' limit ' + str(page_size) + ' offset ' + str(record_number)
    ### 设置排序 ###
    if not order_by:
        order_by = 'id desc'
    #############################################################

    # 组合sql查询语句
    sql = "select * from product %(wheres)s order by %(orderby)s %(paging)s" % \
           {'wheres': wheres, 'orderby': order_by, 'paging': paging}
    # 读取记录
    result = db_helper.read(sql)
    if result:
        # 存储记录
        data['rows'] = result

    if data:
        # 直接输出json
        return web_helper.return_raise(json.dumps(data, cls=json_helper.CJsonEncoder))
    else:
        return web_helper.return_msg(-1, "查询失败")
Exemple #21
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, "提交失败")
Exemple #22
0
def callback():
    """
    获取列表数据
    """
    # 页面索引
    page_number = convert_helper.to_int1(web_helper.get_query('page', '', False))
    # 页面显示记录数量
    page_size = convert_helper.to_int0(web_helper.get_query('rows', '', False))
    # 排序字段
    sidx = web_helper.get_query('sidx', '', False)
    # 顺序还是倒序排序
    sord = web_helper.get_query('sord', '', False)
    # 初始化排序字段
    order_by = 'sort asc'
    if sidx:
        order_by = sidx + ' ' + sord

    #############################################################
    # 初始化输出格式(前端使用jqgrid列表,需要指定输出格式)
    data = {
        'records': 0,
        'total': 0,
        'page': 1,
        'rows': [],
    }
    #############################################################
    # 执行sql,获取指定条件的记录总数量
    sql = 'select count(1) as records from product_class'
    result = db_helper.read(sql)
    # 如果查询失败或不存在指定条件记录,则直接返回初始值
    if not result or result[0]['records'] == 0:
        return data
    # 保存总记录数量
    data['records'] = result[0].get('records', 0)

    #############################################################
    ### 设置分页索引与页面大小 ###
    # 设置分页大小
    if page_size is None or page_size <= 0:
        page_size = 10
    # 计算总页数
    if data['records'] % page_size == 0:
        page_total = data['records'] // page_size
    else:
        page_total = data['records'] // page_size + 1
    # 记录总页面数量
    data['total'] = page_total

    # 判断提交的页码是否超出范围
    if page_number < 1 or page_number > page_total:
        page_number = page_total
    # 记录当前页面索引值
    data['page'] = page_number

    # 计算当前页面要显示的记录起始位置
    record_number = (page_number - 1) * page_size
    # 设置查询分页条件
    paging = ' limit ' + str(page_size) + ' offset ' + str(record_number)
    ### 设置排序 ###
    if not order_by:
        order_by = 'id desc'
    #############################################################

    # 组合sql查询语句
    sql = "select * from product_class order by %(orderby)s %(paging)s" % \
          {'orderby': order_by, 'paging': paging}
    # 读取记录
    result = db_helper.read(sql)
    if result:
        # 存储记录
        data['rows'] = result

    if data:
        # 直接输出json
        return web_helper.return_raise(json.dumps(data, cls=json_helper.CJsonEncoder))
    else:
        return web_helper.return_msg(-1, "查询失败")