def get(self, request, *args, **kwargs): try: rs = ReadingSystem.objects.get(id=kwargs['pk']) except ReadingSystem.DoesNotExist: return render(request, "404.html", {}) can_view = permissions.user_can_view_reading_system(request.user, rs, 'rs') if can_view == False: messages.add_message(request, messages.INFO, 'You do not have permission to view that reading system.') return redirect("/") testsuite = TestSuite.objects.get_most_recent_testsuite() data = helper_functions.testsuite_to_dict(testsuite) # split the data across 2 lists to make it easy to consume for the reading system view # TODO replace this with a multicolumn definition list first_half = [] second_half = [] for n in range(0, len(data)): if n < len(data)/2: first_half.append(data[n]) else: second_half.append(data[n]) return render(request, self.template_name, {'rs': rs, 'data': data, 'first_half': first_half, 'second_half': second_half})
def get(self, request, *args, **kwargs): try: rs = ReadingSystem.objects.get(id=kwargs['pk']) except ReadingSystem.DoesNotExist: return render(request, "404.html", {}) can_view = permissions.user_can_view_reading_system(request.user, rs, 'rs') if can_view == False: messages.add_message(request, messages.INFO, 'You do not have permission to view that reading system.') return redirect("/") result_sets = rs.get_accessibility_result_sets() return render(request, self.template_name, {'rs': rs, 'result_sets': result_sets, 'edit': True})
def export_data_single(request, *args, **kwargs): try: rs = ReadingSystem.objects.get(id=kwargs["pk"]) except ReadingSystem.DoesNotExist: return render(request, "404.html", {}) can_view = permissions.user_can_view_reading_system(request.user, rs, "rs") if can_view == False: return render(request, "404.html", {}) xmldoc = export_data.export_single_reading_system(rs, request.user) xmldoc_str = etree.tostring(xmldoc, pretty_print=True) response = HttpResponse(mimetype="application/xml") response["Content-Disposition"] = 'attachment; filename="export_{0}_{1}_{2}.xml"'.format( rs.name, rs.version, rs.operating_system ) response.write(xmldoc_str) return response
def get(self, request, *args, **kwargs): try: rs = ReadingSystem.objects.get(id=kwargs['pk']) except ReadingSystem.DoesNotExist: return render(request, "404.html", {}) can_view = permissions.user_can_view_reading_system(request.user, rs, 'rs') if can_view == False: messages.add_message(request, messages.INFO, 'You do not have permission to view that reading system.') return redirect("/") result_sets = rs.get_accessibility_result_sets() allowed_result_sets = [] for rset in result_sets: can_view_config = permissions.user_can_view_accessibility_result_set(request.user, rset) if can_view and can_view_config: allowed_result_sets.append(rset) else: print "cannot view" return render(request, self.template_name, {'rs': rs, 'result_sets': allowed_result_sets, 'edit': False})
def user_can_view(user, reading_system, context): return permissions.user_can_view_reading_system(user, reading_system, context)