Beispiel #1
0
def query_replay_filerecord_by_timeline(request, project_id=None):
    """
    根据时间戳,获取所有评论
    by:王健 at:2015-05-28
    修改错误提示语
    by:王健 at:2015-05-28
    优化评论时间戳设计
    by:王健 at:2015-06-02
    优化返回值格式
    by:王健 at:2015-06-02
    """
    person = request.user.person_set.filter(project_id=project_id)[0]
    all_flag = query_project_filegroup_data_(project_id)
    all_have_power_flag = all_flag_user_have_power_by_flag(request.user.pk, project_id, None, all_flag)
    result = query_replay_by_timeline(person.replay_timeline, request.user.pk, project_id, all_have_power_flag)
    if result is None or (isinstance(result, dict) and result.has_key("code")):
        return getResult(False, u'操作失败,请稍后再试')
    if isinstance(result, list):
        l = {'images': [], 'jc': [], 'files': [], 'bgimages': []}
        dl = {'images': [], 'jc': [], 'files': [], 'bgimages': []}
        for p in result:
            if p['flag'] in FILE_GROUP_FLAGS_FILES:
                l['files'].append(p['filerecord'])
            elif p['flag'] in FILE_GROUP_FLAGS_BGIMAGES:
                l['bgimages'].append(p['filerecord'])
            elif p['flag'] in FILE_GROUP_FLAGS_IMAGES:
                l['images'].append(p['filerecord'])
            elif p['flag'] in ('zhi_liang_jian_cha', 'an_quan_wen_ming_jian_cha'):
                l['jc'].append(p['filerecord'])
            else:
                pass
        if l['images']:
            dl['images'].extend([f.toJSON() for f in FileRecord.objects.filter(pk__in=l['images'], project_id=project_id)])
        if l['bgimages']:
            dl['bgimages'].extend([f.toJSON() for f in FileRecord.objects.filter(pk__in=l['bgimages'], project_id=project_id)])
        if l['files']:
            dl['files'].extend([f.toJSON() for f in FileRecord.objects.filter(pk__in=l['files'], project_id=project_id)])
        if l['jc']:
            dl['jc'].extend([f.toJSON() for f in EngineCheck.objects.filter(pk__in=l['jc'], project_id=project_id)])
        for r in dl.values():
            for f in r:
                f['flag'] = all_flag['flags'][f['file_group']]
        dl['pinglun'] = result
        return getResult(True, u'获取评论成功。', dl)
    else:
        return getResult(False, u'获取评论失败')
Beispiel #2
0
def count_replay_filerecord_by_timeline(request, project_id=None):
    """
    查询未读评论的数量
    by:王健 at:2015-05-28
    修改错误提示语
    by:王健 at:2015-05-28
    优化评论数据
    by:王健 at:2015-05-28
    优化评论时间戳设计
    by:王健 at:2015-06-02
    结果中添加typeflag字段,解决pinglun,bug
    by:王健 at:2015-06-02
    :param request:
    :param project_id:
    :return:
    """
    person = request.user.person_set.filter(project_id=project_id)[0]
    all_flag = query_project_filegroup_data_(project_id)
    all_have_power_flag = all_flag_user_have_power_by_flag(request.user.pk, project_id, None, all_flag)
    result = query_replay_num_by_timeline(person.replay_timeline, request.user.pk, project_id, all_have_power_flag)
    if result is None or (isinstance(result, dict) and result.has_key("code")):
        return getResult(False, u'操作失败,请稍后再试')
    p = get_last_replay_by_timeline(request.user.pk, project_id, all_have_power_flag)
    result['pinglun'] = p
    if p:
        if p['flag'] in FILE_GROUP_FLAGS:
            result['filerecord'] = FileRecord.objects.get(pk=p['filerecord']).toJSON()
        elif p['flag'] in ('zhi_liang_jian_cha', 'an_quan_wen_ming_jian_cha'):
            result['filerecord'] = EngineCheck.objects.get(pk=p['filerecord']).toJSON()
        result['filerecord']['flag'] = all_flag['flags'][result['filerecord']['file_group']]
        if p['flag'] in FILE_GROUP_FLAGS_BGIMAGES:
            result['filerecord']['typeflag'] = 'bgimages'
        elif p['flag'] in FILE_GROUP_FLAGS_FILES:
            result['filerecord']['typeflag'] = 'files'
        elif p['flag'] in FILE_GROUP_FLAGS_IMAGES:
            result['filerecord']['typeflag'] = 'images'
        else:
            result['filerecord']['typeflag'] = 'jc'

    return getResult(True, u'获取评论数量成功。', result)