def process_extra(self, request, view): context = request.context salvos = view.get_objects() table = [ salvo.results.filter( Q(label = 'pass') | Q(label = 'fail') | Q(label = 'error') ).all() for salvo in salvos ] context['salvos'] = salvos context['names'] = names = commons([ [result.name for result in row] for row in table ]) context['rows'] = [ { 'name': name, 'results': [ only(salvo.results.filter(name = name).all()) for salvo in salvos ], } for name in names ]
def process_extra(self, request, view): context = request.context battery = view.get_object() salvos = battery.salvos.order_by('start', 'id').all() salvos = view.paginate_for_request(salvos) context['salvos'] = salvos context['results'] = [ { 'name': name, 'results': [ only(salvo.results.filter(name = name).all()) for salvo in salvos ], } for name in commons([ [ result.name for result in row ] for row in ( salvo.results.filter( Q(label = 'pass') | Q(label = 'fail') | Q(label = 'error') ).all() for salvo in salvos ) ]) ] context['measures'] = [ { 'name': name, 'measures': [ only(salvo.measures.filter(name = name).all()) for salvo in salvos ], } for name in commons([ [measure.name for measure in salvo.measures.all()] for salvo in salvos ]) ]