Esempio n. 1
0
def board_check(form, field):
    """
    检查板块是否存在,是否可以允许当前用户创建文章或写入
    """
    try:
        board_id = to_bin(field.data)
    except TypeError:
        raise ValidationError('板块ID无效')
    board = Board.get_by_id(board_id)
    if not board:
        raise ValidationError('板块不存在')

    can_post_rank = 100 if set(form.view.roles) & {'forum_master', 'superuser', 'admin'} else 0
    if can_post_rank >= board.can_post_rank:
        return True
    raise ValidationError('没有权限选择此板块')