)]}'
{"openstack_dashboard/dashboards/project/images_and_snapshots/images/tables.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd79a77386344fa14f92a2ddad054f27eef4cba9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    url \u003d \"horizon:project:images_and_snapshots:images:create\""},{"line_number":80,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-create\")"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # If `HORIZON_IMAGES_ALLOW_UPLOAD \u003d False` we don\u0027t allow the action."},{"line_number":83,"context_line":"    def allowed(self, request):"},{"line_number":84,"context_line":"        if not settings.HORIZON_IMAGES_ALLOW_UPLOAD:"},{"line_number":85,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FXG4%3D","line":82,"updated":"2013-09-28 10:47:03.000000000","message":"This comment seems unnecessary. The code looks clear.","commit_id":"0f8d29b8bbf01fff46a1b864429c1af4ecc80eaf"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"36548a9eb9f3075dbf3bc157558ecba927144357","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    url \u003d \"horizon:project:images_and_snapshots:images:create\""},{"line_number":80,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-create\")"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # If `HORIZON_IMAGES_ALLOW_UPLOAD \u003d False` we don\u0027t allow the action."},{"line_number":83,"context_line":"    def allowed(self, request):"},{"line_number":84,"context_line":"        if not settings.HORIZON_IMAGES_ALLOW_UPLOAD:"},{"line_number":85,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FWNA%3D","line":82,"in_reply_to":"AAAAS3%2F%2FXG4%3D","updated":"2013-09-29 05:47:25.000000000","message":"maybe the comment may help horizon newbie understanding the utility of function allowed():)","commit_id":"0f8d29b8bbf01fff46a1b864429c1af4ecc80eaf"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd79a77386344fa14f92a2ddad054f27eef4cba9","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    # If `HORIZON_IMAGES_ALLOW_UPLOAD \u003d False` we don\u0027t allow the action."},{"line_number":83,"context_line":"    def allowed(self, request):"},{"line_number":84,"context_line":"        if not settings.HORIZON_IMAGES_ALLOW_UPLOAD:"},{"line_number":85,"context_line":"            return False"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"class EditImage(tables.LinkAction):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FXG8%3D","line":85,"updated":"2013-09-28 10:47:03.000000000","message":"This can be:\n\n  def allowed(self, request):\n    return settings.HORIZON_IMAGES_ALLOW_UPLOAD","commit_id":"0f8d29b8bbf01fff46a1b864429c1af4ecc80eaf"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"36548a9eb9f3075dbf3bc157558ecba927144357","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    # If `HORIZON_IMAGES_ALLOW_UPLOAD \u003d False` we don\u0027t allow the action."},{"line_number":83,"context_line":"    def allowed(self, request):"},{"line_number":84,"context_line":"        if not settings.HORIZON_IMAGES_ALLOW_UPLOAD:"},{"line_number":85,"context_line":"            return False"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"class EditImage(tables.LinkAction):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FWM8%3D","line":85,"in_reply_to":"AAAAS3%2F%2FXG8%3D","updated":"2013-09-29 05:47:25.000000000","message":"yes, you hit my heart:)","commit_id":"0f8d29b8bbf01fff46a1b864429c1af4ecc80eaf"}]}
