)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"48669ab41dc91e009d030802a8c72140d885649d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wei.ying \u003cwei.ying@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-01-17 16:58:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix unauthorized exception When using member user to access angular users panel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a member role user go to angular users panel, it will be"},{"line_number":10,"context_line":"raised unauthorized exception since the user has no access to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f96bb07_6f9cc70d","line":7,"updated":"2018-01-17 10:50:05.000000000","message":"When \u003d\u003e when","commit_id":"5350454a95780e315ab7e0a39f9685b0fb01324c"},{"author":{"_account_id":24056,"name":"wei.ying","email":"wei.ying@easystack.cn","username":"wei.ying"},"change_message_id":"a740446f54f77f25214b1a2869c07cee89628992","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wei.ying \u003cwei.ying@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-01-17 16:58:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix unauthorized exception When using member user to access angular users panel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a member role user go to angular users panel, it will be"},{"line_number":10,"context_line":"raised unauthorized exception since the user has no access to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f96bb07_07a727a9","line":7,"in_reply_to":"7f96bb07_6f9cc70d","updated":"2018-01-17 12:23:25.000000000","message":"Done","commit_id":"5350454a95780e315ab7e0a39f9685b0fb01324c"}],"openstack_dashboard/dashboards/identity/static/dashboard/identity/users/users.service.js":[{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"aedfacbe726c8ad89deab3527bab6aeac1b51ee1","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      function policyFailed() {"},{"line_number":69,"context_line":"        // In case that a user doesn\u0027t have a privilege of list_users."},{"line_number":70,"context_line":"        return keystone.getUser(\u0027current\u0027).then(getUserSuccess);"},{"line_number":71,"context_line":"      }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"      function getUserSuccess(response) {"}],"source_content_type":"text/javascript","patch_set":5,"id":"3f1d235d_1566a052","line":70,"range":{"start_line":70,"start_character":62,"end_line":70,"end_character":64},"updated":"2017-07-03 20:05:12.000000000","message":"This will end up calling the following code in keystone.service.js\nfunction getUser(userId) {\n      return apiService.get(\u0027/api/keystone/users/\u0027 + userId)\n        .error(function () {\n          toastService.add(\u0027error\u0027, gettext(\u0027Unable to retrieve the user.\u0027));\n        });\n    }\n\nI got\nGET http://10.130.43.101:9877/api/keystone/users/current 404 (Not Found)","commit_id":"d2d519a11f74b4951b531a231e50c4a021ace4e3"},{"author":{"_account_id":24056,"name":"wei.ying","email":"wei.ying@easystack.cn","username":"wei.ying"},"change_message_id":"20447e5a875663f877a055205dab38328163b2f7","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      function policyFailed() {"},{"line_number":69,"context_line":"        // In case that a user doesn\u0027t have a privilege of list_users."},{"line_number":70,"context_line":"        return keystone.getUser(\u0027current\u0027).then(getUserSuccess);"},{"line_number":71,"context_line":"      }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"      function getUserSuccess(response) {"}],"source_content_type":"text/javascript","patch_set":5,"id":"3f1d235d_8f7e1817","line":70,"range":{"start_line":70,"start_character":62,"end_line":70,"end_character":64},"in_reply_to":"3f1d235d_1566a052","updated":"2017-07-04 06:17:51.000000000","message":"Hi, Gloria. Thanks for your review comments.\nVerified this patch again, I could not reproduce the problem you said.\n\nMaybe in your local, you can try to output whether the id equal to \u0027current\u0027 in the following code. \nhttps://github.com/openstack/horizon/blob/master/openstack_dashboard/api/rest/keystone.py#L122\n\nIf True, the id will be reassigned to the current login user\u0027s UUID.","commit_id":"d2d519a11f74b4951b531a231e50c4a021ace4e3"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"6653abdb6dab5cbe254bdfa55c6ba3acb7c5c156","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      function policyFailed() {"},{"line_number":69,"context_line":"        // In case that a user doesn\u0027t have a privilege of list_users."},{"line_number":70,"context_line":"        return keystone.getUser(\u0027current\u0027).then(getUserSuccess);"},{"line_number":71,"context_line":"      }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"      function getUserSuccess(response) {"}],"source_content_type":"text/javascript","patch_set":5,"id":"3f1d235d_c0cdc831","line":70,"range":{"start_line":70,"start_character":62,"end_line":70,"end_character":64},"in_reply_to":"3f1d235d_8f7e1817","updated":"2017-07-05 17:01:08.000000000","message":"I am not sure ...I traced through...noticed the user\u0027s uuid is used in the final keystone client call, however it ends up 404...it might be my environment problem. will keep digging.","commit_id":"d2d519a11f74b4951b531a231e50c4a021ace4e3"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"3d34c8f75fe4d5ba59e2b0367bb2bd4c24a40ca1","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      function policyFailed() {"},{"line_number":69,"context_line":"        // In case that a user doesn\u0027t have a privilege of list_users."},{"line_number":70,"context_line":"        return keystone.getUser(\u0027current\u0027).then(getUserSuccess);"},{"line_number":71,"context_line":"      }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"      function getUserSuccess(response) {"}],"source_content_type":"text/javascript","patch_set":5,"id":"3f1d235d_aff63762","line":70,"range":{"start_line":70,"start_character":62,"end_line":70,"end_character":64},"in_reply_to":"3f1d235d_c0cdc831","updated":"2017-07-05 19:34:50.000000000","message":"it might need more than just uuid for a non-admin user to be able to call users/uuid API. I tried at the command line openstack user show...I had to export OS_PROJECT_NAME\u003ddemo in order to get the command work.","commit_id":"d2d519a11f74b4951b531a231e50c4a021ace4e3"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"48669ab41dc91e009d030802a8c72140d885649d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"      var rules \u003d [[\u0027identity\u0027, \u0027identity:list_users\u0027]];"},{"line_number":62,"context_line":"      return policy.ifAllowed({ rules: rules }).then(policySuccess, policyFailed);"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"      function policySuccess() {"},{"line_number":65,"context_line":"        return keystone.getUsers(params).then(modifyResponse);"},{"line_number":66,"context_line":"      }"},{"line_number":67,"context_line":""}],"source_content_type":"text/javascript","patch_set":6,"id":"7f96bb07_0f542320","line":64,"updated":"2018-01-17 10:50:05.000000000","message":"Please, change \u0027policySuccess\u0027 and \u0027policyFailed\u0027 function names to something like \u0027listUsers\u0027 and \u0027getUser\u0027 with a comment to make it more readable","commit_id":"5350454a95780e315ab7e0a39f9685b0fb01324c"},{"author":{"_account_id":24056,"name":"wei.ying","email":"wei.ying@easystack.cn","username":"wei.ying"},"change_message_id":"a740446f54f77f25214b1a2869c07cee89628992","unresolved":false,"context_lines":[{"line_number":61,"context_line":"      var rules \u003d [[\u0027identity\u0027, \u0027identity:list_users\u0027]];"},{"line_number":62,"context_line":"      return policy.ifAllowed({ rules: rules }).then(policySuccess, policyFailed);"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"      function policySuccess() {"},{"line_number":65,"context_line":"        return keystone.getUsers(params).then(modifyResponse);"},{"line_number":66,"context_line":"      }"},{"line_number":67,"context_line":""}],"source_content_type":"text/javascript","patch_set":6,"id":"7f96bb07_47cf6f55","line":64,"in_reply_to":"7f96bb07_0f542320","updated":"2018-01-17 12:23:25.000000000","message":"HMM, I still prefer to use the current name, because the current name might be more expressive of the two event states after the API check policy, namely success and failure, and will only execute one.","commit_id":"5350454a95780e315ab7e0a39f9685b0fb01324c"}]}
