)]}'
{"watcher_dashboard/conf/watcher_policy.json":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"2788a5774ddaf7ccc611d6d63221cafa5c189712","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_901fdb08","line":38,"updated":"2016-07-08 11:24:20.000000000","message":"This file should be installed into Horizon path by the script tools/register_plugin.sh. Could you update this script to take into account this file. Thx","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b1e1ef23e963409a2437a7df8327b64fefdbc859","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_acc37a56","line":38,"in_reply_to":"1aa78d24_901fdb08","updated":"2016-07-09 06:28:27.000000000","message":"ok,I will do it.","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"}],"watcher_dashboard/content/action_plans/tables.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"6a4a4ebead37efd6aec7918d57fd46f3b08da9cf","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class ArchiveActionPlan(horizon.tables.BatchAction):"},{"line_number":52,"context_line":"    name \u003d \"archive_action_plans\""},{"line_number":53,"context_line":"    policy_rules \u003d ((\"\u0027infra-optim\u0027\", \"action_plan:delete\"),)"},{"line_number":54,"context_line":"    help_text \u003d _(\"Archive an action plan.\")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_4c3de9ba","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":36},"updated":"2016-07-08 08:42:08.000000000","message":"Why did you write \"\u0027\u0027\" characters and not only \"\" ones ?","commit_id":"4930a43e7f58bb6487418b05e6b3e0c2ce671a82"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b7071749cfbf577b21d997064ab30403c779b58b","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class ArchiveActionPlan(horizon.tables.BatchAction):"},{"line_number":52,"context_line":"    name \u003d \"archive_action_plans\""},{"line_number":53,"context_line":"    policy_rules \u003d ((\"\u0027infra-optim\u0027\", \"action_plan:delete\"),)"},{"line_number":54,"context_line":"    help_text \u003d _(\"Archive an action plan.\")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_6c4a6529","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":36},"in_reply_to":"1aa78d24_4c3de9ba","updated":"2016-07-08 08:52:40.000000000","message":"Thank you very much.","commit_id":"4930a43e7f58bb6487418b05e6b3e0c2ce671a82"}],"watcher_dashboard/content/audit_templates/tables.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"2788a5774ddaf7ccc611d6d63221cafa5c189712","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from watcher_dashboard.api import watcher"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateAuditTemplates(horizon.tables.LinkAction):"},{"line_number":29,"context_line":"    name \u003d \"create\""},{"line_number":30,"context_line":"    verbose_name \u003d _(\"Create Template\")"},{"line_number":31,"context_line":"    url \u003d \"horizon:admin:audit_templates:create\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_d03323f5","line":28,"range":{"start_line":28,"start_character":42,"end_line":28,"end_character":52},"updated":"2016-07-08 11:24:20.000000000","message":"This LinkAction class  heritates from BaseAction class which has the policy_rules attributes. So you can set policy_rules attr as well\n\npolicy_rules \u003d ((\"infra-optim\", \"audit:create\"),)","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b1e1ef23e963409a2437a7df8327b64fefdbc859","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from watcher_dashboard.api import watcher"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateAuditTemplates(horizon.tables.LinkAction):"},{"line_number":29,"context_line":"    name \u003d \"create\""},{"line_number":30,"context_line":"    verbose_name \u003d _(\"Create Template\")"},{"line_number":31,"context_line":"    url \u003d \"horizon:admin:audit_templates:create\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_2cae6a98","line":28,"range":{"start_line":28,"start_character":42,"end_line":28,"end_character":52},"in_reply_to":"1aa78d24_d03323f5","updated":"2016-07-09 06:28:27.000000000","message":"Thank you very much.","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"2788a5774ddaf7ccc611d6d63221cafa5c189712","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-launch\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class AuditTemplatesFilterAction(horizon.tables.FilterAction):"},{"line_number":36,"context_line":"    filter_type \u003d \"server\""},{"line_number":37,"context_line":"    filter_choices \u003d ("},{"line_number":38,"context_line":"        (\u0027goal\u0027, _(\"Goal \u003d\"), True),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_104c8b75","line":35,"range":{"start_line":35,"start_character":48,"end_line":35,"end_character":60},"updated":"2016-07-08 11:24:20.000000000","message":"ditto","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b1e1ef23e963409a2437a7df8327b64fefdbc859","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-launch\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class AuditTemplatesFilterAction(horizon.tables.FilterAction):"},{"line_number":36,"context_line":"    filter_type \u003d \"server\""},{"line_number":37,"context_line":"    filter_choices \u003d ("},{"line_number":38,"context_line":"        (\u0027goal\u0027, _(\"Goal \u003d\"), True),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_8c95de41","line":35,"range":{"start_line":35,"start_character":48,"end_line":35,"end_character":60},"in_reply_to":"1aa78d24_104c8b75","updated":"2016-07-09 06:28:27.000000000","message":"Done","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"}],"watcher_dashboard/local_setting.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"6a4a4ebead37efd6aec7918d57fd46f3b08da9cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"PLICY_FILES \u003d {"},{"line_number":2,"context_line":"    \u0027infra-optim\u0027: \u0027watcher_policy.json\u0027,"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_71e6be17","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"updated":"2016-07-08 08:42:08.000000000","message":"s/PLICY/POLICY","commit_id":"4930a43e7f58bb6487418b05e6b3e0c2ce671a82"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b7071749cfbf577b21d997064ab30403c779b58b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"PLICY_FILES \u003d {"},{"line_number":2,"context_line":"    \u0027infra-optim\u0027: \u0027watcher_policy.json\u0027,"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_ccbd59d9","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"in_reply_to":"1aa78d24_71e6be17","updated":"2016-07-08 08:52:40.000000000","message":"Thank you very much. I will modify it.\nI don\u0027t know if this file is needed. Because I don\u0027t know how to let content of this file override horizon\u0027s setting.py in openstack_dashboard.","commit_id":"4930a43e7f58bb6487418b05e6b3e0c2ce671a82"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"2788a5774ddaf7ccc611d6d63221cafa5c189712","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_f0bd7fd8","line":4,"updated":"2016-07-08 11:24:20.000000000","message":"In fact, it is something we should add in the README.rst file. Could you add a section about policies and remove this file ?\nThx","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"825c9a2e9be387e3f02aa439563351b33b65837a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_f45c177f","line":4,"in_reply_to":"1aa78d24_2ceb0a7a","updated":"2016-07-11 02:36:39.000000000","message":"Sorry, I have found README.rst file, but I still have some questions .\n\nI don\u0027t find what code in README.rst can modify POLICY_FILES\u0027s content, so I used some code in api/watcher.py instead.\n\npolicy_files \u003d getattr(settings, \u0027POLICY_FILES\u0027, {})\npolicy_files[\u0027infra-optim\u0027] \u003d \u0027watcher_policy.json\u0027\nsetattr(settings, \u0027POLICY_FILES\u0027, policy_files)","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"b1e1ef23e963409a2437a7df8327b64fefdbc859","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_ec8aa219","line":4,"in_reply_to":"1aa78d24_f0bd7fd8","updated":"2016-07-09 06:28:27.000000000","message":"Done","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"},{"author":{"_account_id":12813,"name":"Rong Han","email":"han.rong3@zte.com.cn","username":"hanrong-zte"},"change_message_id":"c71cb5dc9578429ab8786e9b3af31dfc9ecb81d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1aa78d24_2ceb0a7a","line":4,"in_reply_to":"1aa78d24_f0bd7fd8","updated":"2016-07-09 07:10:13.000000000","message":"where is README.rst? I didn\u0027t find it.","commit_id":"c3cdfcd973608f9c88c00622f178927cf38dccef"}]}
