)]}'
{"monitoring/notifications/forms.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"df6270d5dd3a7b5aed49212aef4b0a34470e9ad1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            textWidget \u003d readOnlyTextInput"},{"line_number":46,"context_line":"            selectWidget \u003d readOnlySelectInput"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        notification_types \u003d api.monitor.notification_type_list(request)"},{"line_number":49,"context_line":"        choices \u003d copy.copy(constants.NotificationType.CHOICES)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for notif_type in notification_types:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_0c9ad914","line":48,"updated":"2016-11-07 14:49:17.000000000","message":"Maybe we could wrap this in the cache decorator. I mean extract the new method to get these. That would similar to other openstack components in horizon ? What do you think of that ? I mean, the notification type list is something that may be the same for longer time therefore having it cached might be good idea.","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"027f90480d8f996593372e700d46bb623523efce","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            textWidget \u003d readOnlyTextInput"},{"line_number":46,"context_line":"            selectWidget \u003d readOnlySelectInput"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        notification_types \u003d api.monitor.notification_type_list(request)"},{"line_number":49,"context_line":"        choices \u003d copy.copy(constants.NotificationType.CHOICES)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for notif_type in notification_types:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_fe53636a","line":48,"in_reply_to":"9a629dbe_0c9ad914","updated":"2016-12-08 10:55:26.000000000","message":"Done","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"81d474e541a857dd37ce2d2d850e0d4b86c12724","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            selectWidget \u003d readOnlySelectInput"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        notification_types \u003d api.monitor.notification_type_list(request)"},{"line_number":49,"context_line":"        choices \u003d copy.copy(constants.NotificationType.CHOICES)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for notif_type in notification_types:"},{"line_number":52,"context_line":"            if notif_type[\u0027type\u0027] not in [choice[0] for choice in choices]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_5fd0e0c9","line":49,"updated":"2016-12-08 06:09:37.000000000","message":"Do we still need this constant ?","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b684e0b6c725032ef6d7eb09201d7289b22a86f4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            selectWidget \u003d readOnlySelectInput"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        notification_types \u003d api.monitor.notification_type_list(request)"},{"line_number":49,"context_line":"        choices \u003d copy.copy(constants.NotificationType.CHOICES)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for notif_type in notification_types:"},{"line_number":52,"context_line":"            if notif_type[\u0027type\u0027] not in [choice[0] for choice in choices]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_04dd3070","line":49,"in_reply_to":"3a71b18c_091ab26e","updated":"2016-12-08 11:30:25.000000000","message":"Hmm...that\u0027s a problem then, because effectively you are duplicating the code right now :/.\n\nIt would have be translated on the server side (unless there\u0027s some magic way for it to happen in Horizon), but that\u0027s much bigger deal, so maybe you could discuss this problem at the daily ?","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"027f90480d8f996593372e700d46bb623523efce","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            selectWidget \u003d readOnlySelectInput"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        notification_types \u003d api.monitor.notification_type_list(request)"},{"line_number":49,"context_line":"        choices \u003d copy.copy(constants.NotificationType.CHOICES)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for notif_type in notification_types:"},{"line_number":52,"context_line":"            if notif_type[\u0027type\u0027] not in [choice[0] for choice in choices]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_091ab26e","line":49,"in_reply_to":"3a71b18c_5fd0e0c9","updated":"2016-12-08 10:55:26.000000000","message":"Constants are used by translation. So I didn\u0027t delete constants.","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"81d474e541a857dd37ce2d2d850e0d4b86c12724","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            required\u003drequired,"},{"line_number":64,"context_line":"            widget\u003dselectWidget,"},{"line_number":65,"context_line":"            choices\u003dchoices,"},{"line_number":66,"context_line":"            initial\u003dconstants.NotificationType.EMAIL,"},{"line_number":67,"context_line":"            help_text\u003d_(\"The type of notification method (i.e. email).\"))"},{"line_number":68,"context_line":"        self.fields[\u0027address\u0027] \u003d forms.CharField(label\u003d_(\"Address\"),"},{"line_number":69,"context_line":"                                                 required\u003drequired,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_ffe1ac9b","line":66,"updated":"2016-12-08 06:09:37.000000000","message":"If would drop the constant, we could pick up the first item from the list here I guess, maybe sort it before that to be sure that the same item goes as the first one always.","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"027f90480d8f996593372e700d46bb623523efce","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            required\u003drequired,"},{"line_number":64,"context_line":"            widget\u003dselectWidget,"},{"line_number":65,"context_line":"            choices\u003dchoices,"},{"line_number":66,"context_line":"            initial\u003dconstants.NotificationType.EMAIL,"},{"line_number":67,"context_line":"            help_text\u003d_(\"The type of notification method (i.e. email).\"))"},{"line_number":68,"context_line":"        self.fields[\u0027address\u0027] \u003d forms.CharField(label\u003d_(\"Address\"),"},{"line_number":69,"context_line":"                                                 required\u003drequired,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_be59eb90","line":66,"in_reply_to":"3a71b18c_ffe1ac9b","updated":"2016-12-08 10:55:26.000000000","message":"sort is done","commit_id":"37a7ed467a375ad1ac9c1549b8c4568b849912d4"}]}
