)]}'
{"horizon/middleware/base.py":[{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"f769c6dce1274baa94121f60961239301e9d03ec","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                # exception is rised. Otherwise, used could be redirected"},{"line_number":134,"context_line":"                # to the login page again if he hasn\u0027t permission to the"},{"line_number":135,"context_line":"                # current login_url."},{"line_number":136,"context_line":"                response \u003d redirect_to_login(\u0027/\u0027, login_url\u003dlogin_url,"},{"line_number":137,"context_line":"                                             redirect_field_name\u003dfield_name)"},{"line_number":138,"context_line":"                utils.add_logout_reason(request, response, logout_reason,"},{"line_number":139,"context_line":"                                        \u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_c130c40a","line":136,"range":{"start_line":136,"start_character":46,"end_line":136,"end_character":47},"updated":"2017-08-08 13:29:49.000000000","message":"please use WEBROOT","commit_id":"9dd1c2a58d6e52948ea6129eed33dd02b1708c99"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d77ec4c0e392ac0d37be3d47c662418fdb50deb0","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                # exception is rised. Otherwise, used could be redirected"},{"line_number":134,"context_line":"                # to the login page again if he hasn\u0027t permission to the"},{"line_number":135,"context_line":"                # current login_url."},{"line_number":136,"context_line":"                response \u003d redirect_to_login(\u0027/\u0027, login_url\u003dlogin_url,"},{"line_number":137,"context_line":"                                             redirect_field_name\u003dfield_name)"},{"line_number":138,"context_line":"                utils.add_logout_reason(request, response, logout_reason,"},{"line_number":139,"context_line":"                                        \u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_a7a5d0b7","line":136,"range":{"start_line":136,"start_character":46,"end_line":136,"end_character":47},"in_reply_to":"9f436f4f_c130c40a","updated":"2017-08-08 14:15:48.000000000","message":"Done","commit_id":"9dd1c2a58d6e52948ea6129eed33dd02b1708c99"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"4580ee0aa5709dd0c216a3da8095ceb42c419c35","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                                         redirect_field_name\u003dfield_name)"},{"line_number":130,"context_line":"            if isinstance(exception, exceptions.NotAuthorized):"},{"line_number":131,"context_line":"                response.delete_cookie(\u0027messages\u0027)"},{"line_number":132,"context_line":"                return shortcuts.render(request, \u0027not_authorized.html\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            if request.is_ajax():"},{"line_number":135,"context_line":"                response_401 \u003d http.HttpResponse(status\u003d401)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_3472b64a","line":132,"updated":"2017-08-11 21:19:40.000000000","message":"I think you shouldn\u0027t be returning HTTP status 200 here, a 403 code seems better.","commit_id":"014d50e3e28dcbf91108cb5ca29d0a226d6d36e7"}],"openstack_dashboard/dashboards/project/instances/tests.py":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"dcee9e5ddc395ce62d75ef81f4d199512ddaba5a","unresolved":false,"context_lines":[{"line_number":1167,"context_line":"        res \u003d self.client.get(url)"},{"line_number":1168,"context_line":"        logging.disable(logging.NOTSET)"},{"line_number":1169,"context_line":""},{"line_number":1170,"context_line":"        self.assertEqual(302, res.status_code)"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"    def test_instance_details_flavor_not_found(self):"},{"line_number":1173,"context_line":"        server \u003d self.servers.first()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f436f4f_34df56d7","line":1170,"updated":"2017-08-11 21:35:12.000000000","message":"Seems like this is passing even though it shouldn\u0027t -- the code should be 403.","commit_id":"2ac4abf8db5095c1119a1f08debe775fc0ac76ec"}],"openstack_dashboard/dashboards/project/overview/tests.py":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"dcee9e5ddc395ce62d75ef81f4d199512ddaba5a","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        res \u003d self.client.get(url)"},{"line_number":181,"context_line":"        logging.disable(logging.NOTSET)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        self.assertEqual(200, res.status_code)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def test_usage_csv(self):"},{"line_number":186,"context_line":"        self._test_usage_csv(nova_stu_enabled\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f436f4f_14f21271","line":183,"updated":"2017-08-11 21:35:12.000000000","message":"I missed this one, should be 403.","commit_id":"2ac4abf8db5095c1119a1f08debe775fc0ac76ec"}],"openstack_dashboard/templates/not_authorized.html":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"4580ee0aa5709dd0c216a3da8095ceb42c419c35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9f436f4f_f4954e34","updated":"2017-08-11 21:19:40.000000000","message":"Since you are using this template from horizon\u0027s code, you should put it under horizon, not under openstack_dashboard.","commit_id":"014d50e3e28dcbf91108cb5ca29d0a226d6d36e7"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"d97dcb055ff4beea4be907324c88f0d402d71263","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% block breadcrumb_nav %}"},{"line_number":4,"context_line":"{% endblock %}"},{"line_number":5,"context_line":"{% block title %}{% trans \"User NotAuthorized\" %}{% endblock %}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"{% block main %}"},{"line_number":8,"context_line":"  {% trans \"Unauthorized. Please try logging in again.\" %}"}],"source_content_type":"text/html","patch_set":5,"id":"9f436f4f_377adc87","line":5,"updated":"2017-08-10 22:06:09.000000000","message":"Do we have a translation for this? The capitalization seems weird.","commit_id":"014d50e3e28dcbf91108cb5ca29d0a226d6d36e7"}]}
