Ejemplo n.º 1
0
def api_group_dissolve(request):
    if getattr(request, 'limited', False):
        return net_helper.response_ratelimit()
    log_request(request)
    try:
        group_id = get_parameter(request.POST.get('group_id'),
                                 para_intro=u'自定义群组ID')
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        # 仅支持教师操作群组
        if request.user.type != USER_TYPE_TEACHER:
            raise BusinessException(ONLY_TEACHER_CAN_HANDLE_GRP)
        grp = auth_check.check_get_group(group_id)
        dissolve_grp(request.user, grp)
        return net_helper.response200({'c': SUCCESS[0], 'm': SUCCESS[1]})
    except Exception as e:
        logger.exception(e)
        return response_exception(e)
Ejemplo n.º 2
0
def api_group_invite(request):
    if getattr(request, 'limited', False):
        return net_helper.response_ratelimit()
    try:
        group_id = get_parameter(request.POST.get('group_id'),
                                 para_intro=u'聊天群组ID',
                                 valid_check=INTEGER_POSITIVE)
        invite_users = get_parameter(request.POST.get('invite_users'),
                                     para_intro=u'邀请的账号',
                                     valid_check=USER_TUPLES)
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        invite_who = tools.cut_last_char(invite_users).split(';')
        grp = auth_check.check_get_group(group_id)
        invite_user(request.user, grp, invite_who)
        return net_helper.response200({'c': SUCCESS[0], 'm': SUCCESS[1]})
    except Exception as e:
        logger.exception(e)
        return response_exception(e)
Ejemplo n.º 3
0
def api_group_edit(request):
    if getattr(request, 'limited', False):
        return net_helper.response_ratelimit()
    try:
        group_id = get_parameter(request.POST.get('group_id'),
                                 para_intro=u'群组ID',
                                 valid_check=INTEGER_POSITIVE)
        group_name = get_parameter(request.POST.get('group_name'),
                                   para_intro=u'群组名称')
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        # 仅支持教师操作群组
        if request.user.type != USER_TYPE_TEACHER:
            raise BusinessException(ONLY_TEACHER_CAN_HANDLE_GRP)
        group = auth_check.check_get_group(int(group_id))
        edit_grp(group, group_name, request.user)
        return net_helper.response200({'c': SUCCESS[0], 'm': SUCCESS[1]})
    except Exception as e:
        logger.exception(e)
        return response_exception(e)
Ejemplo n.º 4
0
def api_v2_group_invite_available(request):
    try:
        group_id = get_parameter(request.GET.get('group_id'),
                                 para_intro=u'自定义群组ID',
                                 valid_check=INTEGER_POSITIVE)
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        group = auth_check.check_get_group(group_id)
        teacher = get_type_current_user(request.user)
        if not isinstance(teacher, Teacher):
            raise BusinessException(AUTH_WRONG_TYPE)
        result = v2_get_invite_available(group, teacher)
        return net_helper.response200({
            'c': SUCCESS[0],
            'm': SUCCESS[1],
            'd': result
        })
    except Exception as e:
        logger.exception(e)
        return response_exception(e)
Ejemplo n.º 5
0
def api_group_invite_available(request):
    try:
        group_id = get_parameter(request.POST.get('group_id'),
                                 para_intro=u'自定义群组ID',
                                 valid_check=INTEGER_POSITIVE)
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        # 仅支持教师操作群组
        if request.user.type != USER_TYPE_TEACHER:
            raise BusinessException(ONLY_TEACHER_CAN_HANDLE_GRP)
        group = auth_check.check_get_group(group_id)
        result = get_invite_available(group, request.user)
        return net_helper.response200({
            'c': SUCCESS[0],
            'm': SUCCESS[1],
            'd': result
        })
    except Exception as e:
        logger.exception(e)
        return response_exception(e)
Ejemplo n.º 6
0
def api_group_user_delete(request):
    if getattr(request, 'limited', False):
        return net_helper.response_ratelimit()
    try:
        group_id = get_parameter(request.POST.get('group_id'),
                                 para_intro=u'聊天群组ID',
                                 valid_check=INTEGER_POSITIVE)
        delete_users = get_parameter(request.POST.get('delete_users'),
                                     para_intro=u'删除的账号',
                                     valid_check=USER_TUPLES)
    except InvalidHttpParaException as ihpe:
        logger.exception(ihpe)
        return response_parameter_error(ihpe)
    try:
        # 仅支持教师操作群组
        if request.user.type != USER_TYPE_TEACHER:
            raise BusinessException(ONLY_TEACHER_CAN_HANDLE_GRP)
        group = auth_check.check_get_group(group_id)
        delete_who = tools.cut_last_char(delete_users).split(';')
        delete_user(request.user, group, delete_who)
        return net_helper.response200({'c': SUCCESS[0], 'm': SUCCESS[1]})
    except Exception as e:
        logger.exception(e)
        return response_exception(e)