)]}'
{"openstack_dashboard/dashboards/admin/networks/panel.py":[{"author":{"_account_id":14151,"name":"ziyu032","email":"chen.qiaomin@99cloud.net","username":"ziyu032"},"change_message_id":"879fc440218d6fe2b1d377399cba394d929f92fd","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_6515759a","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"updated":"2016-10-09 06:07:14.000000000","message":"If need \"network:create\", is there miss \"network:get\"","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"eff8f75749d252b26e1e6cf7e8c4e6861797c4a0","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_3caa1471","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"updated":"2016-10-25 14:17:20.000000000","message":"policy `(\"compute\", \"network:create\")` really make no sense here and i\u0027m fine to add policy `network:get` in the policy tuple","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":12826,"name":"Rob Cresswell","display_name":"robcresswell","email":"robert.cresswell@outlook.com","username":"rob-cresswell"},"change_message_id":"5a6bbd35aad9095b6d6d1bcef2dcde49fdea0bf9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_ebc3a488","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"in_reply_to":"1a95cdbc_6515759a","updated":"2016-10-18 16:13:28.000000000","message":"Please don\u0027t -1 if you only have a question and not a valid concern. In this case, no, we don\u0027t need get, since if a user can\u0027t even list networks they cant do get on the panel anyway.","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":23165,"name":"Laurent Baeriswyl","email":"lvb6@kent.ac.uk","username":"lbaeriswyl"},"change_message_id":"506de04a76105f5d2d4c837c0a72c6e47788bb42","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_5372ace6","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"in_reply_to":"da6895a0_3caa1471","updated":"2016-10-26 18:38:46.000000000","message":"Thanks, I\u0027ve removed it in the new patch","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":12826,"name":"Rob Cresswell","display_name":"robcresswell","email":"robert.cresswell@outlook.com","username":"rob-cresswell"},"change_message_id":"e7d53ce90586c72d013c3e2cfcd2bb4acaee2bfa","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_99746efe","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"in_reply_to":"da6895a0_3caa1471","updated":"2016-11-07 12:53:51.000000000","message":"network:get makes no sense IMO. You should be able to list the networks without seeing the details of each one.","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":12826,"name":"Rob Cresswell","display_name":"robcresswell","email":"robert.cresswell@outlook.com","username":"rob-cresswell"},"change_message_id":"e7d53ce90586c72d013c3e2cfcd2bb4acaee2bfa","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_f9d00acc","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"in_reply_to":"da6895a0_5c90a843","updated":"2016-11-07 12:53:51.000000000","message":"I don\u0027t know how Neutron handles it specifically, but logically there is no reason why you can\u0027t create a resource i.e. network without list. Practically, that wont really happen, but logically its possible.","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"eff8f75749d252b26e1e6cf7e8c4e6861797c4a0","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),"},{"line_number":25,"context_line":"                    (\"compute\", \"network:create\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_5c90a843","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":49},"in_reply_to":"fa6399be_ebc3a488","updated":"2016-10-25 14:17:20.000000000","message":"HI Rob, it\u0027s unnecessary to get the network panel if  policy check failed for `\"network:get_all`.","commit_id":"3dcf6f5dca6fe33e858c70da4bfe154cfda56738"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"c409fe47ec3c19d5bf1550d8b9cf295c980786f7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    name \u003d _(\"Networks\")"},{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_9e6d1635","line":24,"updated":"2016-10-27 14:50:08.000000000","message":"seem the policy is for nova-network, should check neutron policy\nin  can_access() cunftion","commit_id":"29216ff1d7af1e8c8a035a4872563ae54a1d8a4f"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"4611e9d20b39ccfcf046f14b317cc6fef890fe91","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    name \u003d _(\"Networks\")"},{"line_number":22,"context_line":"    slug \u003d \u0027networks\u0027"},{"line_number":23,"context_line":"    permissions \u003d (\u0027openstack.services.network\u0027,)"},{"line_number":24,"context_line":"    policy_rules \u003d ((\"compute\", \"network:get_all\"),)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da4df55a_05bc5904","line":24,"in_reply_to":"ba5da102_9e6d1635","updated":"2016-12-22 16:07:59.000000000","message":"Wouldn\u0027t it be better to check for context_is_admin? That\u0027s what\u0027s done elsewhere in Horizon for the other admin panels","commit_id":"29216ff1d7af1e8c8a035a4872563ae54a1d8a4f"}]}
