)]}'
{"openstack_dashboard/dashboards/identity/users/tabs.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6a35d22221af9910f6779acb48f58e7debb1e211","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a709c8a_3055e424","line":95,"updated":"2021-03-25 10:09:51.000000000","message":"Could you set \"policy_rules\" class attribute instead of overriding allowed() method?","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c027b4d2c3d047792a64af1dfa586db7a014e6ab","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc146d78_59b1995b","line":95,"in_reply_to":"1a709c8a_3055e424","updated":"2021-03-25 10:10:58.000000000","message":"See https://opendev.org/openstack/horizon/src/branch/master/horizon/tabs/base.py#L450","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a9ed0499a7099bc01d8a2159c9a991595994f422","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"b5a9e26d_b6891353","line":95,"in_reply_to":"a994e597_144f1308","updated":"2021-03-26 13:57:54.000000000","message":"I\u0027ve made the switch to use policy_rules in a separate patch, to allow this one to be easily backported.\n\nhttps://review.opendev.org/c/openstack/horizon/+/783307/","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c218679dbef7136f7efae10fc93d9e7bcb6de9e4","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"a994e597_144f1308","line":95,"in_reply_to":"b190ed8d_864a3666","updated":"2021-03-25 11:13:36.000000000","message":"Yes, it was added only one month before and is only available in Wallaby.\nIf we backport this change, your current code can be used.","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4ee0a071e7904fb83339b83fa5599e4b5c195d60","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"508b4c11_18b193a5","line":95,"in_reply_to":"b5a9e26d_b6891353","updated":"2021-03-27 05:35:32.000000000","message":"Thanks. Good idea.","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b0e0bb5945b78799608400f4b8ab8b7825bf0640","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def allowed(self, request):"},{"line_number":94,"context_line":"        return policy.check(((\"identity\", \"identity:list_role_assignments\"),),"},{"line_number":95,"context_line":"                            self.request)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_roleassignmentstable_data(self):"},{"line_number":98,"context_line":"        user \u003d self.tab_group.kwargs[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"b190ed8d_864a3666","line":95,"in_reply_to":"bc146d78_59b1995b","updated":"2021-03-25 10:20:01.000000000","message":"Ah, that\u0027s helpful. I developed the code against Train, and policy_rules didn\u0027t exist at that point.","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6a35d22221af9910f6779acb48f58e7debb1e211","unresolved":true,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def allowed(self, request):"},{"line_number":144,"context_line":"        return policy.check(((\"identity\", \"identity:list_groups\"),),"},{"line_number":145,"context_line":"                            self.request)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def get_groupstable_data(self):"},{"line_number":148,"context_line":"        user_groups \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"466bc8f5_c39c20f3","line":145,"updated":"2021-03-25 10:09:51.000000000","message":"ditto","commit_id":"60cf32031565ed8b4b2a4a39380a060997c9d9e4"}]}
