)]}'
{"nailgun/static/js/models.js":[{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            return {roles: $.t(\u0027cluster_page.nodes_tab.roles\u0027), hardware: $.t(\u0027cluster_page.nodes_tab.hardware_info\u0027), both: $.t(\u0027cluster_page.nodes_tab.roles_and_hardware_info\u0027)};"},{"line_number":58,"context_line":"        },"},{"line_number":59,"context_line":"        task: function(filter1, filter2) {"},{"line_number":60,"context_line":"            var filters \u003d _.isObject(filter1) ? filter1 : {name: filter1, status: filter2};"},{"line_number":61,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).findTask(filters);"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        tasks: function(filter1, filter2) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3XM%3D","line":60,"updated":"2014-02-10 10:28:33.000000000","message":"I recommend to use isPlainObject, because isObject returns true for arrays","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            return {roles: $.t(\u0027cluster_page.nodes_tab.roles\u0027), hardware: $.t(\u0027cluster_page.nodes_tab.hardware_info\u0027), both: $.t(\u0027cluster_page.nodes_tab.roles_and_hardware_info\u0027)};"},{"line_number":58,"context_line":"        },"},{"line_number":59,"context_line":"        task: function(filter1, filter2) {"},{"line_number":60,"context_line":"            var filters \u003d _.isObject(filter1) ? filter1 : {name: filter1, status: filter2};"},{"line_number":61,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).findTask(filters);"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        tasks: function(filter1, filter2) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2rE%3D","line":60,"in_reply_to":"AAAAUX%2F%2F3XM%3D","updated":"2014-02-10 12:44:19.000000000","message":"Done. _.isObject() replaced by _.isPlainObject()","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).findTask(filters);"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        tasks: function(filter1, filter2) {"},{"line_number":64,"context_line":"            var filters \u003d _.isObject(filter1) ? filter1 : {group: filter1, status: filter2};"},{"line_number":65,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).filterTasks(filters);"},{"line_number":66,"context_line":"        },"},{"line_number":67,"context_line":"        hasChanges: function() {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3UI%3D","line":64,"updated":"2014-02-10 10:28:33.000000000","message":"I suggest to use name by default as the first argument, because .task() uses it. If we need filtering by task group, then we should pass an object","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).findTask(filters);"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        tasks: function(filter1, filter2) {"},{"line_number":64,"context_line":"            var filters \u003d _.isObject(filter1) ? filter1 : {group: filter1, status: filter2};"},{"line_number":65,"context_line":"            return this.get(\u0027tasks\u0027) \u0026\u0026 this.get(\u0027tasks\u0027).filterTasks(filters);"},{"line_number":66,"context_line":"        },"},{"line_number":67,"context_line":"        hasChanges: function() {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2pU%3D","line":64,"in_reply_to":"AAAAUX%2F%2F3UI%3D","updated":"2014-02-10 12:44:19.000000000","message":"Done","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            release_setup: [\u0027redhat_setup\u0027],"},{"line_number":227,"context_line":"            network: [\u0027verify_networks\u0027, \u0027check_networks\u0027],"},{"line_number":228,"context_line":"            deployment: [\u0027deploy\u0027, \u0027stop_deployment\u0027, \u0027reset_environment\u0027],"},{"line_number":229,"context_line":"            cluster: [\u0027cluster_deletion\u0027]"},{"line_number":230,"context_line":"        },"},{"line_number":231,"context_line":"        matchGroup: function(group) {"},{"line_number":232,"context_line":"            return _.contains(this.groups[group], this.get(\u0027name\u0027));"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3OQ%3D","line":229,"updated":"2014-02-10 10:28:33.000000000","message":"I wouldn\u0027t make a separate group for this task (I also have no idea how to name it properly). And you use it only once anyway.","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            release_setup: [\u0027redhat_setup\u0027],"},{"line_number":227,"context_line":"            network: [\u0027verify_networks\u0027, \u0027check_networks\u0027],"},{"line_number":228,"context_line":"            deployment: [\u0027deploy\u0027, \u0027stop_deployment\u0027, \u0027reset_environment\u0027],"},{"line_number":229,"context_line":"            cluster: [\u0027cluster_deletion\u0027]"},{"line_number":230,"context_line":"        },"},{"line_number":231,"context_line":"        matchGroup: function(group) {"},{"line_number":232,"context_line":"            return _.contains(this.groups[group], this.get(\u0027name\u0027));"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2iE%3D","line":229,"in_reply_to":"AAAAUX%2F%2F3OQ%3D","updated":"2014-02-10 12:44:19.000000000","message":"Done","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            deployment: [\u0027deploy\u0027, \u0027stop_deployment\u0027, \u0027reset_environment\u0027],"},{"line_number":229,"context_line":"            cluster: [\u0027cluster_deletion\u0027]"},{"line_number":230,"context_line":"        },"},{"line_number":231,"context_line":"        matchGroup: function(group) {"},{"line_number":232,"context_line":"            return _.contains(this.groups[group], this.get(\u0027name\u0027));"},{"line_number":233,"context_line":"        },"},{"line_number":234,"context_line":"        matchRelease: function(name, release) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3NA%3D","line":231,"updated":"2014-02-10 10:28:33.000000000","message":"Is is possible to implement \"match\" method instead there two methods which would just accept a filter object like Cluster.task and Cluster.tasks and return true or false? And use it in filterTasks.","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            deployment: [\u0027deploy\u0027, \u0027stop_deployment\u0027, \u0027reset_environment\u0027],"},{"line_number":229,"context_line":"            cluster: [\u0027cluster_deletion\u0027]"},{"line_number":230,"context_line":"        },"},{"line_number":231,"context_line":"        matchGroup: function(group) {"},{"line_number":232,"context_line":"            return _.contains(this.groups[group], this.get(\u0027name\u0027));"},{"line_number":233,"context_line":"        },"},{"line_number":234,"context_line":"        matchRelease: function(name, release) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2ds%3D","line":231,"in_reply_to":"AAAAUX%2F%2F3NA%3D","updated":"2014-02-10 12:44:19.000000000","message":"Done","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                            result \u003d _.contains(utils.composeList(filters.status), task.get(\u0027status\u0027));"},{"line_number":257,"context_line":"                        }"},{"line_number":258,"context_line":"                        if (filters.release) {"},{"line_number":259,"context_line":"                          result \u003d result \u0026\u0026 task.releaseId() \u003d\u003d filters.release;"},{"line_number":260,"context_line":"                        }"},{"line_number":261,"context_line":"                    }"},{"line_number":262,"context_line":"                } else if (filters.status) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3Nw%3D","line":259,"updated":"2014-02-10 10:28:33.000000000","message":"Wrong indent","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                            result \u003d _.contains(utils.composeList(filters.status), task.get(\u0027status\u0027));"},{"line_number":257,"context_line":"                        }"},{"line_number":258,"context_line":"                        if (filters.release) {"},{"line_number":259,"context_line":"                          result \u003d result \u0026\u0026 task.releaseId() \u003d\u003d filters.release;"},{"line_number":260,"context_line":"                        }"},{"line_number":261,"context_line":"                    }"},{"line_number":262,"context_line":"                } else if (filters.status) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2hg%3D","line":259,"in_reply_to":"AAAAUX%2F%2F3Nw%3D","updated":"2014-02-10 12:44:19.000000000","message":"Corrected.","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"}],"nailgun/static/js/views/cluster_page.js":[{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        },"},{"line_number":53,"context_line":"        getDeploymentTask: function(status) {"},{"line_number":54,"context_line":"            var task;"},{"line_number":55,"context_line":"            if (status \u003d\u003d \u0027running\u0027) {"},{"line_number":56,"context_line":"                task \u003d this.model.task(\u0027stop_deployment\u0027, status);"},{"line_number":57,"context_line":"            }"},{"line_number":58,"context_line":"            return task || this.model.task({group: \u0027deployment\u0027, status: status});"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3PY%3D","line":55,"updated":"2014-02-10 10:28:33.000000000","message":"Why do we need this?","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        },"},{"line_number":53,"context_line":"        getDeploymentTask: function(status) {"},{"line_number":54,"context_line":"            var task;"},{"line_number":55,"context_line":"            if (status \u003d\u003d \u0027running\u0027) {"},{"line_number":56,"context_line":"                task \u003d this.model.task(\u0027stop_deployment\u0027, status);"},{"line_number":57,"context_line":"            }"},{"line_number":58,"context_line":"            return task || this.model.task({group: \u0027deployment\u0027, status: status});"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2Xc%3D","line":55,"in_reply_to":"AAAAUX%2F%2F3PY%3D","updated":"2014-02-10 12:44:19.000000000","message":"I reviewed this code and it\u0027s not really necessary. This status check was removed.","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8735,"name":"Vitaly Kramskikh","email":"vkramskikh@mirantis.com","username":"vkramskikh"},"change_message_id":"f6551577af2617a1f2b84db24a21aa2878cafbb8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            }"},{"line_number":58,"context_line":"            return task || this.model.task({group: \u0027deployment\u0027, status: status});"},{"line_number":59,"context_line":"        },"},{"line_number":60,"context_line":"        getRedHatSetupTask: function(status) {"},{"line_number":61,"context_line":"            return this.tasks.findTask({name: \u0027redhat_setup\u0027, status: status || \u0027running\u0027, release: this.model.get(\u0027release\u0027).id});"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        removeFinishedTasks: function(tasks, removeSilently) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F3Pc%3D","line":60,"updated":"2014-02-10 10:28:33.000000000","message":"Why don\u0027t you use release_setup group here and name there methods accordingly?","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"},{"author":{"_account_id":8766,"name":"Julia Aranovich","email":"jkirnosova@mirantis.com","username":"CesarSar"},"change_message_id":"e4071ec82b37c0f54f36f43a086e222fff87bb4b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            }"},{"line_number":58,"context_line":"            return task || this.model.task({group: \u0027deployment\u0027, status: status});"},{"line_number":59,"context_line":"        },"},{"line_number":60,"context_line":"        getRedHatSetupTask: function(status) {"},{"line_number":61,"context_line":"            return this.tasks.findTask({name: \u0027redhat_setup\u0027, status: status || \u0027running\u0027, release: this.model.get(\u0027release\u0027).id});"},{"line_number":62,"context_line":"        },"},{"line_number":63,"context_line":"        removeFinishedTasks: function(tasks, removeSilently) {"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUX%2F%2F2Y4%3D","line":60,"in_reply_to":"AAAAUX%2F%2F3Pc%3D","updated":"2014-02-10 12:44:19.000000000","message":"This method was expanded on release_setup group. I agree with you, that it will be more suitable and extensible in this context.","commit_id":"43e832b8673fa45b66523ca30947ac5c3439cfb2"}]}
