def get_submission(request, project, submission): submissions = Submission.objects.filter( name=submission, submissionbuild__product__name=project).prefetch_related( 'submissionbuild_set__group__imagebuild_set', 'owner', 'gittree', ) if submissions: sng = SubmissionGroup(submissions) bdg = sng.buildgroup(project) detail = { 'submission': submission, 'target_project': project, 'commit': sorted(list(sng.commit)), 'submitter': sorted([u.email for u in sng.owner]), 'download_url': bdg.download_url if bdg else '', 'git_trees': sorted([g.gitpath for g in sng.gittree]), 'images': sorted([(i.name, i.STATUS[i.status]) for i in bdg.imagebuild_set.all()]) if bdg else [], } return HttpResponse(json.dumps(detail), content_type="application/json") else: return HttpResponseNotFound(json.dumps( {'reason': 'submission can not be found'}), content_type="application/json")