)]}'
{"keystone/api/role_assignments.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4409285750ed53dc32c5a248502cbd21c3951a67","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def _list_role_assignments(self):"},{"line_number":48,"context_line":"        filters \u003d ["},{"line_number":49,"context_line":"            \u0027group.id\u0027, \u0027role.id\u0027, \u0027scope.domain.id\u0027, \u0027scope.project.id\u0027,"},{"line_number":50,"context_line":"            \u0027scope.OS-INHERIT:inherited_to\u0027, \u0027user.id\u0027"},{"line_number":51,"context_line":"        ]"},{"line_number":52,"context_line":"        ENFORCER.enforce_call(action\u003d\u0027identity:list_role_assignments\u0027,"},{"line_number":53,"context_line":"                              filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_ee010e08","line":50,"updated":"2018-08-21 12:08:36.000000000","message":"I think this needs to include scope.system in order to be compatible with the previous implementation. But, we also apparently need a test.","commit_id":"665d5beda7e52916f4c97f26f63bce698dabdc28"}],"keystone/assignment/controllers.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4409285750ed53dc32c5a248502cbd21c3951a67","unresolved":false,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":"        return self.wrap_collection(request.context_dict, formatted_refs)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    @controller.filterprotected(\u0027group.id\u0027, \u0027role.id\u0027, \u0027scope.system\u0027,"},{"line_number":559,"context_line":"                                \u0027scope.domain.id\u0027, \u0027scope.project.id\u0027,"},{"line_number":560,"context_line":"                                \u0027scope.OS-INHERIT:inherited_to\u0027, \u0027user.id\u0027)"},{"line_number":561,"context_line":"    def list_role_assignments(self, request, filters):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_0e248ac5","side":"PARENT","line":558,"range":{"start_line":558,"start_character":55,"end_line":558,"end_character":69},"updated":"2018-08-21 12:08:36.000000000","message":"This is missing in the flask implementation?","commit_id":"e1381fe3f59965dd61ba843d3e26666516462c30"}],"keystone/server/flask/common.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c1d218c9c6d38902bfd444db6a0b2dcd9bf49413","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        {bool_param}\u003d0 is treated as False"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        Any other value is considered to be equivalent to"},{"line_number":715,"context_line":"        True, including the absence of a value"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        \"\"\""},{"line_number":718,"context_line":"        filter_value \u003d flask.request.args.get(filter_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_e80f4685","line":715,"range":{"start_line":715,"start_character":14,"end_line":715,"end_character":46},"updated":"2018-08-15 06:18:24.000000000","message":"Really? Is this what we\u0027ve done in the past, too?","commit_id":"8c12be8a21bed812257c824a3d4964f1c687cbfa"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"5692050f016a26cddc2960b624f1b0ae5647dbaf","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        {bool_param}\u003d0 is treated as False"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        Any other value is considered to be equivalent to"},{"line_number":715,"context_line":"        True, including the absence of a value"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        \"\"\""},{"line_number":718,"context_line":"        filter_value \u003d flask.request.args.get(filter_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_9a902df0","line":715,"range":{"start_line":715,"start_character":14,"end_line":715,"end_character":46},"in_reply_to":"3f79a3b5_506b6def","updated":"2018-08-16 16:14:48.000000000","message":"Yes, this is OK.  Read it this way https://host/url?param\u0026otherparam  you would expect param to be the same as param\u003dTrue.","commit_id":"8c12be8a21bed812257c824a3d4964f1c687cbfa"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"8b8d0acb54e762d74af5859761fbd2a73763bd7b","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        {bool_param}\u003d0 is treated as False"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        Any other value is considered to be equivalent to"},{"line_number":715,"context_line":"        True, including the absence of a value"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        \"\"\""},{"line_number":718,"context_line":"        filter_value \u003d flask.request.args.get(filter_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_3d2b1331","line":715,"range":{"start_line":715,"start_character":14,"end_line":715,"end_character":46},"in_reply_to":"3f79a3b5_9a902df0","updated":"2018-08-16 16:37:49.000000000","message":"Hm, I need to fix this. there is a bug.\n\nIt needs to check that the value is in flask.request.args and Not None.","commit_id":"8c12be8a21bed812257c824a3d4964f1c687cbfa"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"9c97a04f9d4ddc9aa7d617a7ab6b1c918d02858f","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        {bool_param}\u003d0 is treated as False"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        Any other value is considered to be equivalent to"},{"line_number":715,"context_line":"        True, including the absence of a value"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        \"\"\""},{"line_number":718,"context_line":"        filter_value \u003d flask.request.args.get(filter_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_506b6def","line":715,"range":{"start_line":715,"start_character":14,"end_line":715,"end_character":46},"in_reply_to":"3f79a3b5_e80f4685","updated":"2018-08-15 19:43:25.000000000","message":"In the past, the behavior is fundamentally bad (and will cause things to sneak through that shouldn\u0027t), the doc string needs to be updated - the code has been corrected to be \"not stupid\".","commit_id":"8c12be8a21bed812257c824a3d4964f1c687cbfa"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"b48124d2df7d3f344550c3f4bdd54a96608e577a","unresolved":false,"context_lines":[{"line_number":714,"context_line":"        Any other value is considered to be equivalent to"},{"line_number":715,"context_line":"        True, including the absence of a value (but existence"},{"line_number":716,"context_line":"        as a parameter)."},{"line_number":717,"context_line":"       "},{"line_number":718,"context_line":"        False Examples for param named `p`:"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"           * http://host/url"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_eece435a","line":717,"updated":"2018-08-16 18:57:50.000000000","message":"Oops!","commit_id":"540e11dbfdf25c1fa7065f922a4ae284a75b8880"}]}
