)]}'
{"horizon/tables/actions.py":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"cee328073567aef72e7c07065d7daa35f7c18c87","unresolved":false,"context_lines":[{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    LOG.warning(\"WARNING: The UpdateAction class is a core component\""},{"line_number":968,"context_line":"                \" of the inline edit functionality for tables,\""},{"line_number":969,"context_line":"                \" which is DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    name \u003d \"update\""},{"line_number":972,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_5f1e4a0c","line":969,"range":{"start_line":967,"start_character":4,"end_line":969,"end_character":75},"updated":"2016-07-21 19:01:36.000000000","message":"If it\u0027s possible, it would be very convenient to catch not the context of core tables machinery in logger, but instead the actual table it\u0027s being used at, so that plugin maintainers would see which places they need to edit. I don\u0027t know how hard that would to implement (if it\u0027s possible at all), so please regard this as an optional suggestion.","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"a2f3bf3a18af9c2b9fedf8e702ac1eff2add8dce","unresolved":false,"context_lines":[{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    LOG.warning(\"WARNING: The UpdateAction class is a core component\""},{"line_number":968,"context_line":"                \" of the inline edit functionality for tables,\""},{"line_number":969,"context_line":"                \" which is DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    name \u003d \"update\""},{"line_number":972,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_e2581959","line":969,"range":{"start_line":967,"start_character":4,"end_line":969,"end_character":75},"in_reply_to":"bacf61ea_f9a3b84d","updated":"2016-08-08 15:57:51.000000000","message":"I\u0027ve tried with the oslo.log decorator. The decorator doesn\u0027t work with classes only methods. I guess then we can write our own?","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"5cdcacc4f5550efa28dde35ced24ee9220a10e65","unresolved":false,"context_lines":[{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    LOG.warning(\"WARNING: The UpdateAction class is a core component\""},{"line_number":968,"context_line":"                \" of the inline edit functionality for tables,\""},{"line_number":969,"context_line":"                \" which is DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    name \u003d \"update\""},{"line_number":972,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_f9a3b84d","line":969,"range":{"start_line":967,"start_character":4,"end_line":969,"end_character":75},"in_reply_to":"dada55a8_55af4b7c","updated":"2016-07-27 18:24:38.000000000","message":"Here we may avoid reinventing the wheel and use already existing feature from oslo.log/versionutils deprecated() facility, see https://github.com/openstack/oslo.log/blob/master/oslo_log/versionutils.py#L84 \n\nAlthough I\u0027m not sure if it works for subclasses, would you check it? If it works, I think it\u0027s okay to include it into this patch.","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"9d9bab2a8ce4312a6ffa98075c8c4304a8f842cd","unresolved":false,"context_lines":[{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    LOG.warning(\"WARNING: The UpdateAction class is a core component\""},{"line_number":968,"context_line":"                \" of the inline edit functionality for tables,\""},{"line_number":969,"context_line":"                \" which is DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    name \u003d \"update\""},{"line_number":972,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_55af4b7c","line":969,"range":{"start_line":967,"start_character":4,"end_line":969,"end_character":75},"in_reply_to":"dada55a8_5f1e4a0c","updated":"2016-07-21 19:48:45.000000000","message":"I think we can write a decorator for this so each time the UpdateAction class is being inherited by another class Logs the warning message. But I\u0027m not sure if we want to go that far to implement this patch. What do you think?","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"0248b9fe16a6e735553302c61ade84228cfd6c8f","unresolved":false,"context_lines":[{"line_number":961,"context_line":"        \"\"\""},{"line_number":962,"context_line":""},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    name \u003d \"update\""}],"source_content_type":"text/x-python","patch_set":9,"id":"3ac371cc_4b601d36","line":964,"range":{"start_line":964,"start_character":0,"end_line":964,"end_character":27},"updated":"2016-08-15 12:48:57.000000000","message":"We still can do a bit better for plugins. Consider this snippet instead of the warning at lines 969-971:\n\n  class Deprecated(type):\n      def __new__(meta, name, bases, kwargs):\n          cls \u003d super(Deprecated, meta).__new__(meta, name, bases, kwargs)\n          if name !\u003d \u0027UpdateAction\u0027:\n              LOG.warning(\"The \u0027UpdateAction\u0027 class defined at module \u0027%s\u0027 is \"\n                          \"deprecated as of Newton and may be removed in \"\n                          \"Horizon P (12.0). Class \u0027%s\u0027 defined at module \u0027%s\u0027 \"\n                          \"shall no longer subclass it.\" % (\n                  UpdateAction.__module__, name, kwargs[\u0027__module__\u0027]))\n          return cls\n\n  import six\n\n  @six.add_metaclass(Deprecated)\n  class UpdateAction(object):\n      ...\n\n\nComparing to the existing warning it has the advantage of emitting warning for every class being subclassed along with mentioning the exact place where it is being subclassed. You can test it by applying this snippet to the existing codebase (i.e. without removal of 4 UpdateAction subclasses you\u0027re doing in the current patch).\n\nIf oslo.versionutils provided the same feature, we should certainly use it...","commit_id":"66939397d7ac35ad510fb903d7d33d304043659d"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"d5fb8a6e9f45eb5bf122924ddfc36d625483907b","unresolved":false,"context_lines":[{"line_number":961,"context_line":"        \"\"\""},{"line_number":962,"context_line":""},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"class UpdateAction(object):"},{"line_number":965,"context_line":"    \"\"\"A table action for cell updates by inline editing.\"\"\""},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    name \u003d \"update\""}],"source_content_type":"text/x-python","patch_set":9,"id":"3ac371cc_c0bb3871","line":964,"range":{"start_line":964,"start_character":0,"end_line":964,"end_character":27},"in_reply_to":"3ac371cc_4b601d36","updated":"2016-08-15 17:02:34.000000000","message":"Yeah Timur, I was actually thinking in something like that. but got stuck on how to make it a reusable utility/component I have an example here: http://paste.openstack.org/show/557597/\n\nI\u0027m not sure if this is still too complicated. Let me know what do you think about it :)","commit_id":"66939397d7ac35ad510fb903d7d33d304043659d"}],"horizon/tables/base.py":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"cee328073567aef72e7c07065d7daa35f7c18c87","unresolved":false,"context_lines":[{"line_number":643,"context_line":"class Cell(html.HTMLElement):"},{"line_number":644,"context_line":"    \"\"\"Represents a single cell in the table.\"\"\""},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"    LOG.warning(\"WARNING: The inline edit functionality for tables is\""},{"line_number":647,"context_line":"                \" DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def __init__(self, datum, column, row, attrs\u003dNone, classes\u003dNone):"},{"line_number":650,"context_line":"        self.classes \u003d classes or getattr(self, \"classes\", [])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_1f433214","line":647,"range":{"start_line":646,"start_character":4,"end_line":647,"end_character":66},"updated":"2016-07-21 19:01:36.000000000","message":"I guess that Cell class is used not just for inline editing, should we display the deprecation warning for it at all?","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"9d9bab2a8ce4312a6ffa98075c8c4304a8f842cd","unresolved":false,"context_lines":[{"line_number":643,"context_line":"class Cell(html.HTMLElement):"},{"line_number":644,"context_line":"    \"\"\"Represents a single cell in the table.\"\"\""},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"    LOG.warning(\"WARNING: The inline edit functionality for tables is\""},{"line_number":647,"context_line":"                \" DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def __init__(self, datum, column, row, attrs\u003dNone, classes\u003dNone):"},{"line_number":650,"context_line":"        self.classes \u003d classes or getattr(self, \"classes\", [])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_15d31361","line":647,"range":{"start_line":646,"start_character":4,"end_line":647,"end_character":66},"in_reply_to":"dada55a8_1f433214","updated":"2016-07-21 19:48:45.000000000","message":"I think you\u0027re right Timur, I was also hesitating on this one too. Probably I can move this message inside the if in line  660, to only show it when it\u0027s being implemented?","commit_id":"ee2d64d8c0723133e5aa7e6493414ea820c1af9a"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"e39e4e2666a9800a5c60b5d7d67fa58243cff10e","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        self.inline_edit_available \u003d self.column.update_action is not None"},{"line_number":656,"context_line":"        # initialize the update action if available"},{"line_number":657,"context_line":"        if self.inline_edit_available:"},{"line_number":658,"context_line":"            LOG.warning(\"WARNING: The inline edit functionality for tables is\""},{"line_number":659,"context_line":"                        \" DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":660,"context_line":"            self.update_action \u003d self.column.update_action()"},{"line_number":661,"context_line":"            self.attrs[\u0027data-cell-name\u0027] \u003d column.name"},{"line_number":662,"context_line":"            self.attrs[\u0027data-update-url\u0027] \u003d self.get_ajax_update_url()"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_146e51c9","line":659,"range":{"start_line":658,"start_character":0,"end_line":659,"end_character":74},"updated":"2016-07-27 18:26:23.000000000","message":"Please correct me if I\u0027m wrong, but I think that it\u0027s still going to produce unnecessary noise for every cell being initialized (just try it for a table which contains one editable column and 10 rows) - 10 warning in that case would be unpleasant when just one would (or N for N inline editable columns would suffice).\n\nIf it is really true, I suggest to have only deprecation for the UpdateAction which is being subclassed (in case deprecated() works for subclasses, see patchset#4 comment).","commit_id":"1e0766373f6a61bd662fab06fcbfc00433d5a9d0"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"af81706c4c4add33fca3d3b4973cd8a95bea2af6","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        self.inline_edit_available \u003d self.column.update_action is not None"},{"line_number":656,"context_line":"        # initialize the update action if available"},{"line_number":657,"context_line":"        if self.inline_edit_available:"},{"line_number":658,"context_line":"            LOG.warning(\"WARNING: The inline edit functionality for tables is\""},{"line_number":659,"context_line":"                        \" DEPRECATED and will be removed in Horizon 12.0\")"},{"line_number":660,"context_line":"            self.update_action \u003d self.column.update_action()"},{"line_number":661,"context_line":"            self.attrs[\u0027data-cell-name\u0027] \u003d column.name"},{"line_number":662,"context_line":"            self.attrs[\u0027data-update-url\u0027] \u003d self.get_ajax_update_url()"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_c51a3f6e","line":659,"range":{"start_line":658,"start_character":0,"end_line":659,"end_character":74},"in_reply_to":"bacf61ea_146e51c9","updated":"2016-08-08 15:59:03.000000000","message":"agree, this will cause lots of noise","commit_id":"1e0766373f6a61bd662fab06fcbfc00433d5a9d0"}],"openstack_dashboard/static/dashboard/scss/components/_inline_edit.scss":[{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"af5443fc04b48504e663a6474945576f040327d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"@mixin btn-icon-inline_edit($x, $y, $top: 1px, $left: 5px, $icons: None) {"},{"line_number":2,"context_line":"  padding: 9px 12px 9px 12px;"},{"line_number":3,"context_line":"  position: relative;"},{"line_number":4,"context_line":"  border-radius: 0px;"}],"source_content_type":"text/x-scss","patch_set":1,"id":"dada55a8_793cc593","side":"PARENT","line":1,"updated":"2016-07-18 19:00:46.000000000","message":"♪└|∵|┐♪└|∵|┘♪┌|∵|┘♪ ♪└|∵┌|└| ∵ |┘|┐∵|┘","commit_id":"8f35c43bc5b4182d6e82a67cdc2beccd2364da8a"}],"releasenotes/notes/remove-inline-edit-63f92054238378d3.yaml":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"e39e4e2666a9800a5c60b5d7d67fa58243cff10e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"    - Inline Edit functionality for Horizon tables is now deprecated and will be"},{"line_number":4,"context_line":"      removed in Horizon `12.0`"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_9976fc3c","line":4,"range":{"start_line":3,"start_character":6,"end_line":4,"end_character":31},"updated":"2016-07-27 18:26:23.000000000","message":"Actually, it won\u0027t hurt to mention core openstack_dashboard tables that no longer have this feature.","commit_id":"1e0766373f6a61bd662fab06fcbfc00433d5a9d0"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"af81706c4c4add33fca3d3b4973cd8a95bea2af6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"    - Inline Edit functionality for Horizon tables is now deprecated and will be"},{"line_number":4,"context_line":"      removed in Horizon `12.0`"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"9ad45d7e_853e87b6","line":4,"range":{"start_line":3,"start_character":6,"end_line":4,"end_character":31},"in_reply_to":"bacf61ea_9976fc3c","updated":"2016-08-08 15:59:03.000000000","message":"Will add that info on the next patch set","commit_id":"1e0766373f6a61bd662fab06fcbfc00433d5a9d0"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"0248b9fe16a6e735553302c61ade84228cfd6c8f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"    - Inline Edit functionality for Horizon tables is now deprecated and will be"},{"line_number":4,"context_line":"      removed in Horizon P (12.0)"},{"line_number":5,"context_line":"      The functionality was removed from the following tables. "},{"line_number":6,"context_line":"      Admin Volume Types table, Admin Metadata Definitions table, Identity"},{"line_number":7,"context_line":"      Projects table and Identity Users table"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3ac371cc_cb89adcc","line":5,"range":{"start_line":5,"start_character":62,"end_line":5,"end_character":63},"updated":"2016-08-15 12:48:57.000000000","message":"extra space","commit_id":"66939397d7ac35ad510fb903d7d33d304043659d"},{"author":{"_account_id":20509,"name":"Daniel Castellanos","email":"luis.daniel.castellanos@intel.com","username":"lcastell"},"change_message_id":"d5fb8a6e9f45eb5bf122924ddfc36d625483907b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"    - Inline Edit functionality for Horizon tables is now deprecated and will be"},{"line_number":4,"context_line":"      removed in Horizon P (12.0)"},{"line_number":5,"context_line":"      The functionality was removed from the following tables. "},{"line_number":6,"context_line":"      Admin Volume Types table, Admin Metadata Definitions table, Identity"},{"line_number":7,"context_line":"      Projects table and Identity Users table"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3ac371cc_83178aa2","line":5,"range":{"start_line":5,"start_character":62,"end_line":5,"end_character":63},"in_reply_to":"3ac371cc_cb89adcc","updated":"2016-08-15 17:02:34.000000000","message":"will update in the next patch set :)","commit_id":"66939397d7ac35ad510fb903d7d33d304043659d"}]}
