def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) mlt = None records = None if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): mlt = ResponseMappingType.morelikethis(response) records = [ (u'Response records', Record.objects.records(response)), ] jobs = GengoJob.objects.filter( object_id=response.id, content_type=ContentType.objects.get_for_model(response) ) for job in jobs: records.append( (u'Gengo job record {0}'.format(job.id), job.records) ) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'response': response, 'mlt': mlt, 'records': records, })
def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) try: prod = Product.objects.get(db_name=response.product) if (not prod.on_dashboard and (not request.user.is_authenticated() or not request.user.has_perm( 'analytics.can_view_dashboard'))): # If this is a response for a hidden product and the user # isn't in the analytics group, then they can't see it. return HttpResponseForbidden() except Product.DoesNotExist: pass mlt = None records = None errors = [] if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): try: # Convert it to a list to force it to execute right now. mlt = ResponseMappingType.reshape( ResponseMappingType.morelikethis(response)) except ElasticsearchException as exc: errors.append('Failed to do morelikethis: %s' % exc) records = [ (u'Response records', Record.objects.records(response)), ] jobs = GengoJob.objects.filter( object_id=response.id, content_type=ContentType.objects.get_for_model(response) ) for job in jobs: records.append( (u'Gengo job record {0}'.format(job.id), job.records) ) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'errors': errors, 'response': response, 'mlt': mlt, 'records': records, })
def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) mlt = None if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): mlt = ResponseMappingType.morelikethis(response) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'response': response, 'mlt': mlt, })
def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) mlt = None if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): mlt = ResponseMappingType.morelikethis(response) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'response': response, 'mlt': mlt, })
def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) mlt = None records = None errors = [] if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): try: # Convert it to a list to force it to execute right now. mlt = ResponseMappingType.reshape( ResponseMappingType.morelikethis(response)) except ElasticsearchException as exc: errors.append('Failed to do morelikethis: %s' % exc) records = [ (u'Response records', Record.objects.records(response)), ] jobs = GengoJob.objects.filter( object_id=response.id, content_type=ContentType.objects.get_for_model(response) ) for job in jobs: records.append( (u'Gengo job record {0}'.format(job.id), job.records) ) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'errors': errors, 'response': response, 'mlt': mlt, 'records': records, })
def response_view(request, responseid, template): response = get_object_or_404(Response, id=responseid) mlt = None records = None errors = [] if (request.user.is_authenticated() and request.user.has_perm('analytics.can_view_dashboard')): try: # Convert it to a list to force it to execute right now. mlt = ResponseMappingType.reshape( ResponseMappingType.morelikethis(response)) except ElasticsearchException as exc: errors.append('Failed to do morelikethis: %s' % exc) records = [ (u'Response records', Record.objects.records(response)), ] jobs = GengoJob.objects.filter( object_id=response.id, content_type=ContentType.objects.get_for_model(response) ) for job in jobs: records.append( (u'Gengo job record {0}'.format(job.id), job.records) ) # We don't pass the response directly to the template and instead # do some data tweaks here to make it more palatable for viewing. return render(request, template, { 'errors': errors, 'response': response, 'mlt': mlt, 'records': records, })