)]}'
{"horizon/test/unit/workflows/test_workflows.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3a10d338ce50495cd56e3b8648b2106e8659fa43","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        request.META[\u0027SERVER_NAME\u0027] \u003d \"localhost\""},{"line_number":424,"context_line":"        view.request \u003d request"},{"line_number":425,"context_line":"        context \u003d view.get_context_data()"},{"line_number":426,"context_line":"        self.assertEqual(None, context[\u0027REDIRECT_URL\u0027])"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a9f39b08","line":426,"updated":"2020-09-09 11:45:41.000000000","message":"pep8: H203: Use assertIs(Not)None to check for None","commit_id":"bce3223155f1b5f5ce3997fbdc62d0b993ac1050"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3a10d338ce50495cd56e3b8648b2106e8659fa43","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        view.request \u003d request"},{"line_number":425,"context_line":"        context \u003d view.get_context_data()"},{"line_number":426,"context_line":"        self.assertEqual(None, context[\u0027REDIRECT_URL\u0027])"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_09dc4772","line":427,"updated":"2020-09-09 11:45:41.000000000","message":"pep8: W391 blank line at end of file","commit_id":"bce3223155f1b5f5ce3997fbdc62d0b993ac1050"}],"horizon/workflows/views.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3e9a60ea4fc7f4f193972746a488054e93f83c37","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        redirect_to \u003d self.request.GET.get(workflow.redirect_param_name)"},{"line_number":95,"context_line":"        # Make sure the requested redirect matches the protocol,"},{"line_number":96,"context_line":"        # domain, and port of this request"},{"line_number":97,"context_line":"        if redirect_to and not http.same_origin("},{"line_number":98,"context_line":"                self.request.build_absolute_uri(redirect_to),"},{"line_number":99,"context_line":"                self.request.build_absolute_uri()):"},{"line_number":100,"context_line":"            redirect_to \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4f0f6cdf","line":97,"range":{"start_line":97,"start_character":36,"end_line":97,"end_character":47},"updated":"2020-09-08 21:12:49.000000000","message":"Where is it defined? I installed Django\u003d\u003d2.2.15, but I cannot find \"same_origin\"....","commit_id":"21c3e35040a46881cf7b9bf202932955a67e9e05"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"798506a72fad540278d5afc25e91874b272a6492","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        redirect_to \u003d self.request.GET.get(workflow.redirect_param_name)"},{"line_number":95,"context_line":"        # Make sure the requested redirect matches the protocol,"},{"line_number":96,"context_line":"        # domain, and port of this request"},{"line_number":97,"context_line":"        if redirect_to and not http.same_origin("},{"line_number":98,"context_line":"                self.request.build_absolute_uri(redirect_to),"},{"line_number":99,"context_line":"                self.request.build_absolute_uri()):"},{"line_number":100,"context_line":"            redirect_to \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_7b2ca998","line":97,"range":{"start_line":97,"start_character":36,"end_line":97,"end_character":47},"in_reply_to":"9f560f44_4f0f6cdf","updated":"2020-09-09 09:23:34.000000000","message":"you are right, it has changed, I will fix it","commit_id":"21c3e35040a46881cf7b9bf202932955a67e9e05"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3e9a60ea4fc7f4f193972746a488054e93f83c37","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                self.request.build_absolute_uri(redirect_to),"},{"line_number":99,"context_line":"                self.request.build_absolute_uri()):"},{"line_number":100,"context_line":"            redirect_to \u003d None"},{"line_number":101,"context_line":"        context[\u0027REDIRECT_URL\u0027] \u003d redirect_to"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        context[\u0027layout\u0027] \u003d self.get_layout()"},{"line_number":104,"context_line":"        # For consistency with Workflow class"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_8fc18483","line":101,"updated":"2020-09-08 21:12:49.000000000","message":"If redirect_to is None, do we need to set REDIRECT_TO?\nThe original code does the same, so I am okay with it, but I would like to know what is ideal.","commit_id":"21c3e35040a46881cf7b9bf202932955a67e9e05"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"798506a72fad540278d5afc25e91874b272a6492","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                self.request.build_absolute_uri(redirect_to),"},{"line_number":99,"context_line":"                self.request.build_absolute_uri()):"},{"line_number":100,"context_line":"            redirect_to \u003d None"},{"line_number":101,"context_line":"        context[\u0027REDIRECT_URL\u0027] \u003d redirect_to"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        context[\u0027layout\u0027] \u003d self.get_layout()"},{"line_number":104,"context_line":"        # For consistency with Workflow class"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_9819c389","line":101,"in_reply_to":"9f560f44_8fc18483","updated":"2020-09-09 09:23:34.000000000","message":"If you don\u0027t, you will get a warning in the template where you use it.","commit_id":"21c3e35040a46881cf7b9bf202932955a67e9e05"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3a10d338ce50495cd56e3b8648b2106e8659fa43","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from django import http"},{"line_number":20,"context_line":"from django import shortcuts"},{"line_number":21,"context_line":"from django.views import generic"},{"line_number":22,"context_line":"from django.utils import http as utils_http"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from horizon import exceptions"},{"line_number":25,"context_line":"from horizon.forms import views as hz_views"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_e9d8f37f","line":22,"updated":"2020-09-09 11:45:41.000000000","message":"pep8: H306: imports not in alphabetical order (django.views.generic, django.utils.http)","commit_id":"bce3223155f1b5f5ce3997fbdc62d0b993ac1050"}]}
