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'获取评论失败')
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)