)]}'
{"openstack_dashboard/static/app/core/images/actions/actions.module.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        id: \u0027createImageAction\u0027,"},{"line_number":93,"context_line":"        service: createService,"},{"line_number":94,"context_line":"        template: {"},{"line_number":95,"context_line":"          text: gettext(\u0027Create Image\u0027)"},{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"      })"},{"line_number":98,"context_line":"      .append({"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_18360103","line":95,"updated":"2016-05-05 01:15:56.000000000","message":"missing: type: \u0027create\u0027","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        id: \u0027createImageAction\u0027,"},{"line_number":93,"context_line":"        service: createService,"},{"line_number":94,"context_line":"        template: {"},{"line_number":95,"context_line":"          text: gettext(\u0027Create Image\u0027)"},{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"      })"},{"line_number":98,"context_line":"      .append({"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_a6a06fa6","line":95,"in_reply_to":"1a122d0e_18360103","updated":"2016-05-05 15:21:44.000000000","message":"Ah, thanks!","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"}],"openstack_dashboard/static/app/core/images/actions/create.action.service.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  createService.$inject \u003d ["},{"line_number":24,"context_line":"    \u0027$modal\u0027,"},{"line_number":25,"context_line":"    \u0027$q\u0027,"},{"line_number":26,"context_line":"    \u0027horizon.app.core.images.events\u0027,"},{"line_number":27,"context_line":"    \u0027horizon.app.core.images.actions.createWorkflow\u0027,"},{"line_number":28,"context_line":"    \u0027horizon.app.core.metadata.service\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_7104d47d","line":25,"updated":"2015-11-24 20:10:22.000000000","message":"$q not used","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  createService.$inject \u003d ["},{"line_number":24,"context_line":"    \u0027$modal\u0027,"},{"line_number":25,"context_line":"    \u0027$q\u0027,"},{"line_number":26,"context_line":"    \u0027horizon.app.core.images.events\u0027,"},{"line_number":27,"context_line":"    \u0027horizon.app.core.images.actions.createWorkflow\u0027,"},{"line_number":28,"context_line":"    \u0027horizon.app.core.metadata.service\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_6aedc824","line":25,"in_reply_to":"9a8ffd7b_7104d47d","updated":"2015-12-01 00:37:53.000000000","message":"Done","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"075a6cda4f9f170da42db7ad44868e410c9b10b9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    }"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    function onSuccess() {"},{"line_number":111,"context_line":"      return {"},{"line_number":112,"context_line":"        created: [ {type: resourceType, id: 0}], // TODO: use id?"},{"line_number":113,"context_line":"        updated: [],"},{"line_number":114,"context_line":"        deleted: [],"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_b5a70ebb","line":111,"updated":"2016-05-05 04:33:27.000000000","message":"This should be rebased on the image action promises and use the action result.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    }"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    function onSuccess() {"},{"line_number":111,"context_line":"      return {"},{"line_number":112,"context_line":"        created: [ {type: resourceType, id: 0}], // TODO: use id?"},{"line_number":113,"context_line":"        updated: [],"},{"line_number":114,"context_line":"        deleted: [],"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_669bf773","line":111,"in_reply_to":"1a122d0e_b5a70ebb","updated":"2016-05-05 15:21:44.000000000","message":"We could do that.  I wasn\u0027t sure a couple of weeks ago which would merge first.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"075a6cda4f9f170da42db7ad44868e410c9b10b9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"      saveMetadata(newImage).then(onUpdateMetadataSuccess, onUpdateMetadataFail);"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"      function onUpdateMetadataSuccess() {"},{"line_number":129,"context_line":"        toast.add(\u0027success\u0027, interpolate(message.successMetadata, [newImage.name]));"},{"line_number":130,"context_line":"        scope.$emit(events.CREATE_SUCCESS, newImage);"},{"line_number":131,"context_line":"      }"},{"line_number":132,"context_line":""}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_d579ea30","line":129,"updated":"2016-05-05 04:33:27.000000000","message":"This should change to this pattern, right?\n\nhttps://review.openstack.org/#/c/291846/18/openstack_dashboard/static/app/core/images/actions/update-metadata.action.service.js","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":126,"context_line":"      saveMetadata(newImage).then(onUpdateMetadataSuccess, onUpdateMetadataFail);"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"      function onUpdateMetadataSuccess() {"},{"line_number":129,"context_line":"        toast.add(\u0027success\u0027, interpolate(message.successMetadata, [newImage.name]));"},{"line_number":130,"context_line":"        scope.$emit(events.CREATE_SUCCESS, newImage);"},{"line_number":131,"context_line":"      }"},{"line_number":132,"context_line":""}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_66ee57b6","line":129,"in_reply_to":"1a122d0e_d579ea30","updated":"2016-05-05 15:21:44.000000000","message":"Yeah, this will use the action result features if we rebase on the action/promises patch.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":131,"context_line":"      }"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"      function onUpdateMetadataFail() {"},{"line_number":134,"context_line":"        scope.$emit(events.CREATE_SUCCESS, newImage);"},{"line_number":135,"context_line":"      }"},{"line_number":136,"context_line":"    }"},{"line_number":137,"context_line":""}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_1d655344","line":134,"updated":"2016-05-05 01:15:56.000000000","message":"CREATE_SUCCESS on a fail?","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":131,"context_line":"      }"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"      function onUpdateMetadataFail() {"},{"line_number":134,"context_line":"        scope.$emit(events.CREATE_SUCCESS, newImage);"},{"line_number":135,"context_line":"      }"},{"line_number":136,"context_line":"    }"},{"line_number":137,"context_line":""}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_a6034f75","line":134,"in_reply_to":"1a122d0e_1d655344","updated":"2016-05-05 15:21:44.000000000","message":"Oddly, yes!  Because of the wonkiness of the return event approach.  But this will change to be more informative using the action results.  So this concern goes away.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"9d07e148b815a219219142d4538f2bd7c6ba7ea4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    var model \u003d {"},{"line_number":58,"context_line":"      image: {},"},{"line_number":59,"context_line":"      metadata: {}"},{"line_number":60,"context_line":"    };"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    var scope, saveDeferred;"},{"line_number":63,"context_line":""}],"source_content_type":"text/javascript","patch_set":62,"id":"dab17558_eda7ceba","line":60,"updated":"2016-05-11 00:14:08.000000000","message":"The model does not get cleared out between invocations. This means that if you do metadata on creating Image A, then do create image B and don\u0027t explicitly set metadata, Image B gets image A\u0027s metadata.  This occurs because this is a service which is a singleton and the model doesn\u0027t get updated from events because metadata is not required.\n\nI think we need to init the model here on scope, on cancel, and on success.  You have to do all three because the initScope is only called once for the initial images page load.","commit_id":"68cf31ef8434cf9d0382efa1a906b2c787afd1ee"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"af43a93cfc03e4c0176cc98304785a376f5eb3c0","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    var model \u003d {"},{"line_number":58,"context_line":"      image: {},"},{"line_number":59,"context_line":"      metadata: {}"},{"line_number":60,"context_line":"    };"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    var scope, saveDeferred;"},{"line_number":63,"context_line":""}],"source_content_type":"text/javascript","patch_set":62,"id":"dab17558_9cae1b2c","line":60,"in_reply_to":"dab17558_eda7ceba","updated":"2016-05-11 13:23:21.000000000","message":"I think you can just do it on perform()?  I\u0027ll take a look.","commit_id":"68cf31ef8434cf9d0382efa1a906b2c787afd1ee"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"9d07e148b815a219219142d4538f2bd7c6ba7ea4","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    function onCreateImage(response) {"},{"line_number":123,"context_line":"      var newImage \u003d response.data;"},{"line_number":124,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"},{"line_number":125,"context_line":"      saveMetadata(newImage).then(onUpdateMetadataSuccess, onUpdateMetadataFail);"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"      function onUpdateMetadataSuccess() {"},{"line_number":128,"context_line":"        toast.add(\u0027success\u0027, interpolate(message.successMetadata, [newImage.name]));"}],"source_content_type":"text/javascript","patch_set":62,"id":"dab17558_cdc2ca33","line":125,"updated":"2016-05-11 00:14:08.000000000","message":"Why is this done in two steps, it works to do it in a single step without the extra toasting and is atomic.\n\nThe image create service automatically sets the correct properties.\n\nhttps://github.com/openstack/horizon/blob/master/openstack_dashboard/api/rest/glance.py#L189-L190\n\nI tried it out and it all worked as expected for me.  Complete paste here:\n\nhttp://paste.openstack.org/show/496641/\n\nkey lines here:\n\n    function submit() {\n      var finalModel \u003d angular.extend({}, model.image, model.metadata)\n      return glance.createImage(finalModel).then(onCreateImage);\n    }\n\n    function onCreateImage(response) {\n      var newImage \u003d response.data;\n      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));\n      saveDeferred.resolve(actionResultService.getActionResult()\n          .created(resourceType, model.image.id)\n          .result);\n    }","commit_id":"68cf31ef8434cf9d0382efa1a906b2c787afd1ee"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"af43a93cfc03e4c0176cc98304785a376f5eb3c0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    function onCreateImage(response) {"},{"line_number":123,"context_line":"      var newImage \u003d response.data;"},{"line_number":124,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"},{"line_number":125,"context_line":"      saveMetadata(newImage).then(onUpdateMetadataSuccess, onUpdateMetadataFail);"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"      function onUpdateMetadataSuccess() {"},{"line_number":128,"context_line":"        toast.add(\u0027success\u0027, interpolate(message.successMetadata, [newImage.name]));"}],"source_content_type":"text/javascript","patch_set":62,"id":"dab17558_bc0f9f35","line":125,"in_reply_to":"dab17558_cdc2ca33","updated":"2016-05-11 13:23:21.000000000","message":"This was one of those Jenga pieces that I wasn\u0027t sure I should nut with.  There was a reason for the separation and ordering of these, but perhaps it wasn\u0027t appropriate.  I\u0027ll take a look, and maybe try to integrate what Tyr had mentioned about using the modal to return values rather than using saveDeferred, but again, there was some weird set of Jenga-esque context that I thought necessitated that.","commit_id":"68cf31ef8434cf9d0382efa1a906b2c787afd1ee"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"f8c10590d052efcd5fd35d6ec1941d35938b4be1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  ) {"},{"line_number":52,"context_line":"    var message \u003d {"},{"line_number":53,"context_line":"      success: gettext(\u0027Image %s was successfully created.\u0027),"},{"line_number":54,"context_line":"      successMetadata: gettext(\u0027Image Metadata %s was successfully updated.\u0027)"},{"line_number":55,"context_line":"    };"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    var model \u003d {};"}],"source_content_type":"text/javascript","patch_set":63,"id":"dab17558_e90fa234","line":54,"range":{"start_line":54,"start_character":5,"end_line":54,"end_character":77},"updated":"2016-05-11 14:19:28.000000000","message":"This could go away, but wouldn\u0027t suggest blocking on it.","commit_id":"d79b9ddd3f7b2c1a1e27217cc3470a61891c69c9"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"a596d23025f40ba7c1c3c4e21cf88344cdcca9b8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"      var newImage \u003d response.data;"},{"line_number":116,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"},{"line_number":117,"context_line":"      return actionResultService.getActionResult()"},{"line_number":118,"context_line":"        .created(resourceType, model.image.id)"},{"line_number":119,"context_line":"        .result;"},{"line_number":120,"context_line":"    }"},{"line_number":121,"context_line":""}],"source_content_type":"text/javascript","patch_set":63,"id":"dab17558_b57a0d22","line":118,"range":{"start_line":118,"start_character":31,"end_line":118,"end_character":45},"updated":"2016-05-11 15:09:45.000000000","message":"Tyr\u0027s note: this isn\u0027t populated; use newImage.id.","commit_id":"d79b9ddd3f7b2c1a1e27217cc3470a61891c69c9"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"adebdb999b719611569ca0a1422cfe23dfeef7a1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"      var newImage \u003d response.data;"},{"line_number":116,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"},{"line_number":117,"context_line":"      return actionResultService.getActionResult()"},{"line_number":118,"context_line":"        .created(resourceType, model.image.id)"},{"line_number":119,"context_line":"        .result;"},{"line_number":120,"context_line":"    }"},{"line_number":121,"context_line":""}],"source_content_type":"text/javascript","patch_set":63,"id":"dab17558_f599357a","line":118,"updated":"2016-05-11 15:09:31.000000000","message":"model.image.id is undefine. Use newImage.id","commit_id":"d79b9ddd3f7b2c1a1e27217cc3470a61891c69c9"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8f03b2ab49340e01dabf94579cdcfdac8d7f6419","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/**"},{"line_number":2,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":" * not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":" * a copy of the License at"}],"source_content_type":"text/javascript","patch_set":65,"id":"dab17558_88a6beab","line":1,"updated":"2016-05-11 19:48:32.000000000","message":"Copyright All files.","commit_id":"ac9f881bfbb05ac30f1cfe509e11e70f714abb56"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8f03b2ab49340e01dabf94579cdcfdac8d7f6419","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    function submit() {"},{"line_number":111,"context_line":"      var finalModel \u003d angular.extend({}, model.image, model.metadata);"},{"line_number":112,"context_line":"      return glance.createImage(finalModel).then(onCreateImage);"},{"line_number":113,"context_line":"    }"},{"line_number":114,"context_line":"    function onCreateImage(response) {"},{"line_number":115,"context_line":"      var newImage \u003d response.data;"},{"line_number":116,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"}],"source_content_type":"text/javascript","patch_set":65,"id":"dab17558_0df1406b","line":113,"updated":"2016-05-11 19:48:32.000000000","message":"tsk. tsk. should be a line of whitespace. between functions.","commit_id":"ac9f881bfbb05ac30f1cfe509e11e70f714abb56"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8f03b2ab49340e01dabf94579cdcfdac8d7f6419","unresolved":false,"context_lines":[{"line_number":115,"context_line":"      var newImage \u003d response.data;"},{"line_number":116,"context_line":"      toast.add(\u0027success\u0027, interpolate(message.success, [newImage.name]));"},{"line_number":117,"context_line":"      return actionResultService.getActionResult()"},{"line_number":118,"context_line":"        .created(resourceType, model.image.id)"},{"line_number":119,"context_line":"        .result;"},{"line_number":120,"context_line":"    }"},{"line_number":121,"context_line":""}],"source_content_type":"text/javascript","patch_set":65,"id":"dab17558_48c976ab","line":118,"updated":"2016-05-11 19:48:32.000000000","message":"This needs to be newImage.id.  Otherwise, this is sending undefined back to the actionSuccess handler.\n\nhttp://imgur.com/Sbxl5X7","commit_id":"ac9f881bfbb05ac30f1cfe509e11e70f714abb56"}],"openstack_dashboard/static/app/core/images/actions/create.action.service.spec.js":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8f03b2ab49340e01dabf94579cdcfdac8d7f6419","unresolved":false,"context_lines":[{"line_number":120,"context_line":"      expect(toast.add).toHaveBeenCalledWith(\u0027success\u0027, \u0027Image Test was successfully created.\u0027);"},{"line_number":121,"context_line":"    });"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    it(\u0027should raise event even if update meta data fails\u0027, function() {"},{"line_number":124,"context_line":"      var image \u003d { name: \u0027Test\u0027, id: \u00272\u0027 };"},{"line_number":125,"context_line":"      var failedPromise \u003d function() {"},{"line_number":126,"context_line":"        return {"}],"source_content_type":"text/javascript","patch_set":65,"id":"dab17558_0892ce4b","line":123,"updated":"2016-05-11 19:48:32.000000000","message":"i think this whole test goes away now that updating metadata is not a separate call.","commit_id":"ac9f881bfbb05ac30f1cfe509e11e70f714abb56"}],"openstack_dashboard/static/app/core/images/actions/create.workflow.service.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        {"},{"line_number":46,"context_line":"          title: gettext(\u0027Update Metadata\u0027),"},{"line_number":47,"context_line":"          templateUrl: basePath + \u0027steps/update-metadata/update-metadata.html\u0027,"},{"line_number":48,"context_line":"          helpUrl: basePath + \u0027steps/update-metadata/update-metadata.help.html\u0027,"},{"line_number":49,"context_line":"          formName: \u0027updateMetadataForm\u0027"},{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":"      ]"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_22090b96","line":48,"updated":"2016-05-05 01:15:56.000000000","message":"https://github.com/openstack/horizon/blob/master/openstack_dashboard/static/app/core/images/steps/update-metadata/update-metadata.help.html#L2\n\nshould use \u003ch3\u003e to match create-image.help.html","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        {"},{"line_number":46,"context_line":"          title: gettext(\u0027Update Metadata\u0027),"},{"line_number":47,"context_line":"          templateUrl: basePath + \u0027steps/update-metadata/update-metadata.html\u0027,"},{"line_number":48,"context_line":"          helpUrl: basePath + \u0027steps/update-metadata/update-metadata.help.html\u0027,"},{"line_number":49,"context_line":"          formName: \u0027updateMetadataForm\u0027"},{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":"      ]"}],"source_content_type":"text/javascript","patch_set":57,"id":"1a122d0e_661c97c2","line":48,"in_reply_to":"1a122d0e_22090b96","updated":"2016-05-05 15:21:44.000000000","message":"OK, I\u0027ll research.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"39f3729d28f9ff6ef2cbdbe47245fd6fe18031c3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"          formName: \u0027imageForm\u0027"},{"line_number":44,"context_line":"        },"},{"line_number":45,"context_line":"        {"},{"line_number":46,"context_line":"          title: gettext(\u0027Update Metadata\u0027),"},{"line_number":47,"context_line":"          templateUrl: basePath + \u0027steps/update-metadata/update-metadata.html\u0027,"},{"line_number":48,"context_line":"          helpUrl: basePath + \u0027steps/update-metadata/update-metadata.help.html\u0027,"},{"line_number":49,"context_line":"          formName: \u0027updateMetadataForm\u0027"}],"source_content_type":"text/javascript","patch_set":59,"id":"dab17558_996e91ff","line":46,"updated":"2016-05-09 21:00:20.000000000","message":"title should just be \"Metadata\"","commit_id":"4db5bec2f4d461ff57f759536716189b2fa69de9"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"33d49066c0c959dab742019203d60751d6de6957","unresolved":false,"context_lines":[{"line_number":43,"context_line":"          formName: \u0027imageForm\u0027"},{"line_number":44,"context_line":"        },"},{"line_number":45,"context_line":"        {"},{"line_number":46,"context_line":"          title: gettext(\u0027Update Metadata\u0027),"},{"line_number":47,"context_line":"          templateUrl: basePath + \u0027steps/update-metadata/update-metadata.html\u0027,"},{"line_number":48,"context_line":"          helpUrl: basePath + \u0027steps/update-metadata/update-metadata.help.html\u0027,"},{"line_number":49,"context_line":"          formName: \u0027updateMetadataForm\u0027"}],"source_content_type":"text/javascript","patch_set":59,"id":"dab17558_f1398df3","line":46,"in_reply_to":"dab17558_996e91ff","updated":"2016-05-10 14:24:29.000000000","message":"Done","commit_id":"4db5bec2f4d461ff57f759536716189b2fa69de9"}],"openstack_dashboard/static/app/core/images/actions/edit.action.service.js":[{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"f8c10590d052efcd5fd35d6ec1941d35938b4be1","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      return saveDeferred.promise;"},{"line_number":108,"context_line":"    }"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    function cancel() {"},{"line_number":111,"context_line":"      saveDeferred.reject();"},{"line_number":112,"context_line":"    }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    function submit() {"},{"line_number":115,"context_line":"      return saveMetadata().then(onSaveMetadata, onFailMetadata);"}],"source_content_type":"text/javascript","patch_set":63,"id":"dab17558_e43d09c5","line":112,"range":{"start_line":110,"start_character":3,"end_line":112,"end_character":5},"updated":"2016-05-11 14:19:28.000000000","message":"This can go away, in favor of the approach that Create uses, but I will put that in another patch.","commit_id":"d79b9ddd3f7b2c1a1e27217cc3470a61891c69c9"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"b4c21af63cda16a0dea4395d9c5a8eca968a5585","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        scope: scope,"},{"line_number":102,"context_line":"        workflow: editWorkflow,"},{"line_number":103,"context_line":"        submit: submit"},{"line_number":104,"context_line":"      }).result.catch(cancel);"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"      saveDeferred \u003d $q.defer();"},{"line_number":107,"context_line":"      return saveDeferred.promise;"}],"source_content_type":"text/javascript","patch_set":64,"id":"dab17558_3b0bab25","line":104,"updated":"2016-05-11 17:35:07.000000000","message":"not blocking this patch, but simply returning the result will be cleaner. The use of $q.defer and the saveDeferred object doesn\u0027t appear necessary. Eliminate that the need for the .catch should go away also.","commit_id":"62ba9c03840c44d52c32f67e384f01e7d9c56123"}],"openstack_dashboard/static/app/core/images/images.module.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   */"},{"line_number":55,"context_line":"  function imageFormats() {"},{"line_number":56,"context_line":"    return {"},{"line_number":57,"context_line":"      aki: \u0027AKI - Amazon Kernel Image\u0027,"},{"line_number":58,"context_line":"      ami: \u0027AMI - Amazon Machine Image\u0027,"},{"line_number":59,"context_line":"      ari: \u0027ARI - Amazon Ramdisk Image\u0027,"},{"line_number":60,"context_line":"      docker: \u0027Docker\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_4bf801e6","line":57,"updated":"2015-11-24 20:10:22.000000000","message":"wrap in gettext(...) for translation","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   */"},{"line_number":55,"context_line":"  function imageFormats() {"},{"line_number":56,"context_line":"    return {"},{"line_number":57,"context_line":"      aki: \u0027AKI - Amazon Kernel Image\u0027,"},{"line_number":58,"context_line":"      ami: \u0027AMI - Amazon Machine Image\u0027,"},{"line_number":59,"context_line":"      ari: \u0027ARI - Amazon Ramdisk Image\u0027,"},{"line_number":60,"context_line":"      docker: \u0027Docker\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_2ab820e5","line":57,"in_reply_to":"9a8ffd7b_4bf801e6","updated":"2015-12-01 00:37:53.000000000","message":"Done","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"b4c21af63cda16a0dea4395d9c5a8eca968a5585","unresolved":false,"context_lines":[{"line_number":152,"context_line":"      DELETE_SUCCESS: \u0027horizon.app.core.images.DELETE_SUCCESS\u0027,"},{"line_number":153,"context_line":"      VOLUME_CHANGED: \u0027horizon.app.core.images.VOLUME_CHANGED\u0027,"},{"line_number":154,"context_line":"      UPDATE_METADATA_SUCCESS: \u0027horizon.app.core.images.UPDATE_METADATA_SUCCESS\u0027,"},{"line_number":155,"context_line":"      CREATE_SUCCESS: \u0027horizon.app.core.images.CREATE_SUCCESS\u0027,"},{"line_number":156,"context_line":"      UPDATE_SUCCESS: \u0027horizon.app.core.images.UPDATE_SUCCESS\u0027,"},{"line_number":157,"context_line":"      IMAGE_CHANGED: \u0027horizon.app.core.images.IMAGE_CHANGED\u0027,"},{"line_number":158,"context_line":"      IMAGE_METADATA_CHANGED: \u0027horizon.app.core.images.IMAGE_METADATA_CHANGED\u0027"}],"source_content_type":"text/javascript","patch_set":64,"id":"dab17558_5eadb8e7","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":63},"updated":"2016-05-11 17:35:07.000000000","message":"not used","commit_id":"62ba9c03840c44d52c32f67e384f01e7d9c56123"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"8a0e1704a01f2978256db1b4d66349dd084fd278","unresolved":false,"context_lines":[{"line_number":152,"context_line":"      DELETE_SUCCESS: \u0027horizon.app.core.images.DELETE_SUCCESS\u0027,"},{"line_number":153,"context_line":"      VOLUME_CHANGED: \u0027horizon.app.core.images.VOLUME_CHANGED\u0027,"},{"line_number":154,"context_line":"      UPDATE_METADATA_SUCCESS: \u0027horizon.app.core.images.UPDATE_METADATA_SUCCESS\u0027,"},{"line_number":155,"context_line":"      CREATE_SUCCESS: \u0027horizon.app.core.images.CREATE_SUCCESS\u0027,"},{"line_number":156,"context_line":"      UPDATE_SUCCESS: \u0027horizon.app.core.images.UPDATE_SUCCESS\u0027,"},{"line_number":157,"context_line":"      IMAGE_CHANGED: \u0027horizon.app.core.images.IMAGE_CHANGED\u0027,"},{"line_number":158,"context_line":"      IMAGE_METADATA_CHANGED: \u0027horizon.app.core.images.IMAGE_METADATA_CHANGED\u0027"}],"source_content_type":"text/javascript","patch_set":64,"id":"dab17558_c11f09b5","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":63},"in_reply_to":"dab17558_5eadb8e7","updated":"2016-05-11 17:55:35.000000000","message":"Done","commit_id":"62ba9c03840c44d52c32f67e384f01e7d9c56123"}],"openstack_dashboard/static/app/core/images/steps/create-image/create-image.controller.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    ///////////////////////////"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    /* eslint-disable angular/ng_controller_as */"},{"line_number":63,"context_line":"    $scope.$watchCollection(\u0027ctrl.image\u0027, watchImageCollection);"},{"line_number":64,"context_line":"    /* eslint-enable angular/ng_controller_as */"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    ///////////////////////////"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_aee5fba8","line":63,"updated":"2015-11-24 20:10:22.000000000","message":"var imageChangedWatcher \u003d $scope.$watchCollection(...);\n\n$scope.$on(\u0027$destroy\u0027, function() {\n  imageChangedWatcher();\n});\n\nthen remove the eslint-disable...","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    ///////////////////////////"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    /* eslint-disable angular/ng_controller_as */"},{"line_number":63,"context_line":"    $scope.$watchCollection(\u0027ctrl.image\u0027, watchImageCollection);"},{"line_number":64,"context_line":"    /* eslint-enable angular/ng_controller_as */"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    ///////////////////////////"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_cd5dee49","line":63,"in_reply_to":"9a8ffd7b_aee5fba8","updated":"2015-12-01 00:37:53.000000000","message":"Done","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"dba3c5b9371876b16e42ee9bfc4fc0d9ef804d27","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    ctrl.imageVisibilityOptions \u003d ["},{"line_number":73,"context_line":"      { label: gettext(\u0027Public\u0027), value: \u0027public\u0027},"},{"line_number":74,"context_line":"      { label: gettext(\u0027Private\u0027), value: \u0027private\u0027 },"},{"line_number":75,"context_line":"      { label: gettext(\u0027Shared\u0027), value: \u0027shared\u0027 }"},{"line_number":76,"context_line":"    ];"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    ctrl.kernelImages \u003d [];"}],"source_content_type":"text/javascript","patch_set":48,"id":"7a5de9d1_9b25d5ac","line":75,"updated":"2016-01-28 04:54:57.000000000","message":"So, I found out that \"shared\" is a visibility still being debated by the glance team (first proposed at least a year ago along with \"community\" visibility).  Sharing is still determined via derivation.\n\nBasically, if public then public.  If private, then private unless I am able to see the image and my current project isn\u0027t the same project that \"owns\" the image.\n\nWhich is long ways in saying that when creating the image, you have to set it to private or public.  Then you can \"share\" it with other projects (members) if you have it set to private (that is actually another workflow step, perhaps).","commit_id":"5a9bc84a3462496ef4a30f6c423f938e57bc69ee"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"80d11cef22540fdc211f15b53a42b3b41c58126b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    ctrl.imageVisibilityOptions \u003d ["},{"line_number":73,"context_line":"      { label: gettext(\u0027Public\u0027), value: \u0027public\u0027},"},{"line_number":74,"context_line":"      { label: gettext(\u0027Private\u0027), value: \u0027private\u0027 },"},{"line_number":75,"context_line":"      { label: gettext(\u0027Shared\u0027), value: \u0027shared\u0027 }"},{"line_number":76,"context_line":"    ];"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    ctrl.kernelImages \u003d [];"}],"source_content_type":"text/javascript","patch_set":48,"id":"3a57f1b5_79423640","line":75,"in_reply_to":"7a5de9d1_9b25d5ac","updated":"2016-02-11 04:54:49.000000000","message":"I think you just need to drop the \"shared\" option.","commit_id":"5a9bc84a3462496ef4a30f6c423f938e57bc69ee"}],"openstack_dashboard/static/app/core/images/steps/create-image/create-image.help.html":[{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_486251af","line":2,"updated":"2015-11-13 04:59:17.000000000","message":"h3 tag needs translate attribute","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_dd925cf6","line":2,"in_reply_to":"da85f559_486251af","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_085c49ec","line":3,"updated":"2015-11-13 04:59:17.000000000","message":"p tag needs translate attribute","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_69136e0e","line":3,"in_reply_to":"da85f559_085c49ec","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"},{"line_number":7,"context_line":"        \u003cstrong\u003ePlease note: \u003c/strong\u003e"},{"line_number":8,"context_line":"        The Image Location field MUST be a valid and direct URL to the image binary. URLs that redirect or serve error pages will result in unusable images."},{"line_number":9,"context_line":"    \u003c/p\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_c86e4196","line":7,"updated":"2015-11-13 04:59:17.000000000","message":"strong tag needs translate attribute","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"},{"line_number":7,"context_line":"        \u003cstrong\u003ePlease note: \u003c/strong\u003e"},{"line_number":8,"context_line":"        The Image Location field MUST be a valid and direct URL to the image binary. URLs that redirect or serve error pages will result in unusable images."},{"line_number":9,"context_line":"    \u003c/p\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_09f982c8","line":7,"in_reply_to":"da85f559_c86e4196","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"},{"line_number":7,"context_line":"        \u003cstrong\u003ePlease note: \u003c/strong\u003e"},{"line_number":8,"context_line":"        The Image Location field MUST be a valid and direct URL to the image binary. URLs that redirect or serve error pages will result in unusable images."},{"line_number":9,"context_line":"    \u003c/p\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_6802b5b6","line":8,"updated":"2015-11-13 04:59:17.000000000","message":"this sentence needs translate tag","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    \u003c/p\u003e"},{"line_number":6,"context_line":"    \u003cp\u003e"},{"line_number":7,"context_line":"        \u003cstrong\u003ePlease note: \u003c/strong\u003e"},{"line_number":8,"context_line":"        The Image Location field MUST be a valid and direct URL to the image binary. URLs that redirect or serve error pages will result in unusable images."},{"line_number":9,"context_line":"    \u003c/p\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_29f6c6d7","line":8,"in_reply_to":"da85f559_6802b5b6","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3 translate\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp translate\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_561667a8","line":2,"updated":"2016-01-16 17:24:53.000000000","message":"Two spaces here, please.","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv\u003e"},{"line_number":2,"context_line":"    \u003ch3 translate\u003eDescription:\u003c/h3\u003e"},{"line_number":3,"context_line":"    \u003cp translate\u003e"},{"line_number":4,"context_line":"        Currently only images available via an HTTP URL are supported. The image location must be accessible to the Image Service. Compressed image binaries are supported (.zip and .tar.gz.)"},{"line_number":5,"context_line":"    \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_37137fba","line":2,"in_reply_to":"da6ed579_561667a8","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"}],"openstack_dashboard/static/app/core/images/steps/create-image/create-image.html":[{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"              \u003ctranslate\u003eImage Source\u003c/translate\u003e"},{"line_number":63,"context_line":"            \u003c/label\u003e"},{"line_number":64,"context_line":"            \u003cselect class\u003d\"form-control switchable\" data-slug\u003d\"source\" id\u003d\"imageForm-source_type\" name\u003d\"source_type\" ng-model\u003d\"ctrl.image.source_type\"\u003e"},{"line_number":65,"context_line":"              \u003coption value\u003d\"url\"\u003eImage Location\u003c/option\u003e"},{"line_number":66,"context_line":"              \u003c!-- \u003coption value\u003d\"file\"\u003eImage File\u003c/option\u003e --\u003e"},{"line_number":67,"context_line":"            \u003c/select\u003e"},{"line_number":68,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_a8e65d14","line":65,"updated":"2015-11-13 04:59:17.000000000","message":"the message needs translate tag","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":62,"context_line":"              \u003ctranslate\u003eImage Source\u003c/translate\u003e"},{"line_number":63,"context_line":"            \u003c/label\u003e"},{"line_number":64,"context_line":"            \u003cselect class\u003d\"form-control switchable\" data-slug\u003d\"source\" id\u003d\"imageForm-source_type\" name\u003d\"source_type\" ng-model\u003d\"ctrl.image.source_type\"\u003e"},{"line_number":65,"context_line":"              \u003coption value\u003d\"url\"\u003eImage Location\u003c/option\u003e"},{"line_number":66,"context_line":"              \u003c!-- \u003coption value\u003d\"file\"\u003eImage File\u003c/option\u003e --\u003e"},{"line_number":67,"context_line":"            \u003c/select\u003e"},{"line_number":68,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_29e4860b","line":65,"in_reply_to":"da85f559_a8e65d14","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":111,"context_line":"              \u003ctranslate\u003eFormat\u003c/translate\u003e*"},{"line_number":112,"context_line":"            \u003c/label\u003e"},{"line_number":113,"context_line":"            \u003cselect class\u003d\"form-control switchable ng-pristine ng-untouched ng-valid\" ng-required\u003d\"true\" id\u003d\"imageForm-disk_format\" name\u003d\"disk_format\" ng-model\u003d\"ctrl.image.disk_format\"\u003e"},{"line_number":114,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eSelect format\u003c/option\u003e"},{"line_number":115,"context_line":"              \u003coption value\u003d\"aki\"\u003eAKI - Amazon Kernel Image\u003c/option\u003e"},{"line_number":116,"context_line":"              \u003coption value\u003d\"ami\"\u003eAMI - Amazon Machine Image\u003c/option\u003e"},{"line_number":117,"context_line":"              \u003coption value\u003d\"ari\"\u003eARI - Amazon Ramdisk Image\u003c/option\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_28b90ded","line":114,"updated":"2015-11-13 04:59:17.000000000","message":"the message needs translate tag","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":111,"context_line":"              \u003ctranslate\u003eFormat\u003c/translate\u003e*"},{"line_number":112,"context_line":"            \u003c/label\u003e"},{"line_number":113,"context_line":"            \u003cselect class\u003d\"form-control switchable ng-pristine ng-untouched ng-valid\" ng-required\u003d\"true\" id\u003d\"imageForm-disk_format\" name\u003d\"disk_format\" ng-model\u003d\"ctrl.image.disk_format\"\u003e"},{"line_number":114,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eSelect format\u003c/option\u003e"},{"line_number":115,"context_line":"              \u003coption value\u003d\"aki\"\u003eAKI - Amazon Kernel Image\u003c/option\u003e"},{"line_number":116,"context_line":"              \u003coption value\u003d\"ami\"\u003eAMI - Amazon Machine Image\u003c/option\u003e"},{"line_number":117,"context_line":"              \u003coption value\u003d\"ari\"\u003eARI - Amazon Ramdisk Image\u003c/option\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_69afee94","line":114,"in_reply_to":"da85f559_28b90ded","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":155,"context_line":"              \u003ctranslate\u003eKernel\u003c/translate\u003e"},{"line_number":156,"context_line":"            \u003c/label\u003e"},{"line_number":157,"context_line":"            \u003cselect class\u003d\"form-control\" id\u003d\"imageForm-kernel\" name\u003d\"kernel\" ng-model\u003d\"ctrl.image.kernel\"\u003e"},{"line_number":158,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eChoose an image\u003c/option\u003e"},{"line_number":159,"context_line":"              \u003coption ng-repeat\u003d\"kernel in ctrl.kernelImages\" value\u003d\"{$ kernel.id $}\"\u003e{$ kernel.name $}\u003c/option\u003e"},{"line_number":160,"context_line":"            \u003c/select\u003e"},{"line_number":161,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_08b8c9e4","line":158,"updated":"2015-11-13 04:59:17.000000000","message":"the message needs translate tag","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":155,"context_line":"              \u003ctranslate\u003eKernel\u003c/translate\u003e"},{"line_number":156,"context_line":"            \u003c/label\u003e"},{"line_number":157,"context_line":"            \u003cselect class\u003d\"form-control\" id\u003d\"imageForm-kernel\" name\u003d\"kernel\" ng-model\u003d\"ctrl.image.kernel\"\u003e"},{"line_number":158,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eChoose an image\u003c/option\u003e"},{"line_number":159,"context_line":"              \u003coption ng-repeat\u003d\"kernel in ctrl.kernelImages\" value\u003d\"{$ kernel.id $}\"\u003e{$ kernel.name $}\u003c/option\u003e"},{"line_number":160,"context_line":"            \u003c/select\u003e"},{"line_number":161,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_8987b211","line":158,"in_reply_to":"da85f559_08b8c9e4","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":16352,"name":"Shu Muto","email":"shu.mutow@gmail.com","username":"shu.mutow"},"change_message_id":"8fb631940e4a95914441fd30810ff4496c0562cd","unresolved":false,"context_lines":[{"line_number":166,"context_line":"              \u003ctranslate\u003eRamdisk\u003c/translate\u003e"},{"line_number":167,"context_line":"            \u003c/label\u003e"},{"line_number":168,"context_line":"            \u003cselect class\u003d\"form-control\" id\u003d\"imageForm-ramdisk\" name\u003d\"ramdisk\" ng-model\u003d\"ctrl.image.ramdisk\"\u003e"},{"line_number":169,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eChoose an image\u003c/option\u003e"},{"line_number":170,"context_line":"              \u003coption ng-repeat\u003d\"ramdisk in ctrl.ramdiskImages\" value\u003d\"{$ ramdisk.id $}\"\u003e{$ ramdisk.name $}\u003c/option\u003e"},{"line_number":171,"context_line":"            \u003c/select\u003e"},{"line_number":172,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_68c71565","line":169,"updated":"2015-11-13 04:59:17.000000000","message":"the message needs translate tag","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"2b3959d85a7987d9c6d1ff90b3a36a297d3b0ae3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"              \u003ctranslate\u003eRamdisk\u003c/translate\u003e"},{"line_number":167,"context_line":"            \u003c/label\u003e"},{"line_number":168,"context_line":"            \u003cselect class\u003d\"form-control\" id\u003d\"imageForm-ramdisk\" name\u003d\"ramdisk\" ng-model\u003d\"ctrl.image.ramdisk\"\u003e"},{"line_number":169,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\"\u003eChoose an image\u003c/option\u003e"},{"line_number":170,"context_line":"              \u003coption ng-repeat\u003d\"ramdisk in ctrl.ramdiskImages\" value\u003d\"{$ ramdisk.id $}\"\u003e{$ ramdisk.name $}\u003c/option\u003e"},{"line_number":171,"context_line":"            \u003c/select\u003e"},{"line_number":172,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":15,"id":"da85f559_c975ba32","line":169,"in_reply_to":"da85f559_68c71565","updated":"2015-11-13 23:45:59.000000000","message":"Done","commit_id":"de5b8061179b7d3fca793986f34f9bb1d57084bf"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      \u003c/translate\u003e"},{"line_number":11,"context_line":"    \u003c/div\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    \u003cdiv class\u003d\"selected-source clearfix\"\u003e"},{"line_number":14,"context_line":"      \u003cdiv class\u003d\"row\"\u003e"},{"line_number":15,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-6\"\u003e"},{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_9788bfc6","line":13,"updated":"2015-11-19 00:54:17.000000000","message":"Is this clearfix really needed?  If so, why?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      \u003c/translate\u003e"},{"line_number":11,"context_line":"    \u003c/div\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    \u003cdiv class\u003d\"selected-source clearfix\"\u003e"},{"line_number":14,"context_line":"      \u003cdiv class\u003d\"row\"\u003e"},{"line_number":15,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-6\"\u003e"},{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_72037477","line":13,"in_reply_to":"ba8a016a_9788bfc6","updated":"2015-11-21 00:55:22.000000000","message":"Tested this. Doesn\u0027t seem to be needed. Removing.","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                   id\u003d\"imageForm-name\" name\u003d\"name\""},{"line_number":23,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":24,"context_line":"                   ng-model\u003d\"ctrl.image.name\""},{"line_number":25,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":26,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image name\u0027|translate $}\"\u003e"},{"line_number":27,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":28,"context_line":"               ng-show\u003d\"imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_f77a6bf0","line":25,"updated":"2015-11-19 00:54:17.000000000","message":"Below.","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                   id\u003d\"imageForm-name\" name\u003d\"name\""},{"line_number":23,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":24,"context_line":"                   ng-model\u003d\"ctrl.image.name\""},{"line_number":25,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":26,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image name\u0027|translate $}\"\u003e"},{"line_number":27,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":28,"context_line":"               ng-show\u003d\"imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_15ac52ec","line":25,"in_reply_to":"ba8a016a_f77a6bf0","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image name\u0027|translate $}\"\u003e"},{"line_number":27,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":28,"context_line":"               ng-show\u003d\"imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty\"\u003e"},{"line_number":29,"context_line":"              \u003ctranslate\u003eAn image name less than 256 characters is required.\u003c/translate\u003e"},{"line_number":30,"context_line":"            \u003c/p\u003e"},{"line_number":31,"context_line":"          \u003c/div\u003e"},{"line_number":32,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_d70e478b","line":29,"updated":"2015-11-19 00:54:17.000000000","message":"Is this limitation in a variable somewhere we can pull from?  If not, should we add it to the scope, so its in a place for single maintenance?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image name\u0027|translate $}\"\u003e"},{"line_number":27,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":28,"context_line":"               ng-show\u003d\"imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty\"\u003e"},{"line_number":29,"context_line":"              \u003ctranslate\u003eAn image name less than 256 characters is required.\u003c/translate\u003e"},{"line_number":30,"context_line":"            \u003c/p\u003e"},{"line_number":31,"context_line":"          \u003c/div\u003e"},{"line_number":32,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_b5fb0647","line":29,"in_reply_to":"ba8a016a_d70e478b","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u003cinput id\u003d\"imageForm-description\" name\u003d\"description\""},{"line_number":40,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":41,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":42,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_97251f0a","line":42,"updated":"2015-11-19 00:54:17.000000000","message":"Above.","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u003cinput id\u003d\"imageForm-description\" name\u003d\"description\""},{"line_number":40,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":41,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":42,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_75cfdeb3","line":42,"in_reply_to":"ba8a016a_97251f0a","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"},{"line_number":46,"context_line":"              \u003ctranslate\u003eAn image description less than 256 characters is required.\u003c/translate\u003e"},{"line_number":47,"context_line":"            \u003c/p\u003e"},{"line_number":48,"context_line":"          \u003c/div\u003e"},{"line_number":49,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_b78063c0","line":46,"updated":"2015-11-19 00:54:17.000000000","message":"Above.","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"},{"line_number":46,"context_line":"              \u003ctranslate\u003eAn image description less than 256 characters is required.\u003c/translate\u003e"},{"line_number":47,"context_line":"            \u003c/p\u003e"},{"line_number":48,"context_line":"          \u003c/div\u003e"},{"line_number":49,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_359e3608","line":46,"in_reply_to":"ba8a016a_b78063c0","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            \u003cinput id\u003d\"imageForm-image_url\" name\u003d\"image_url\""},{"line_number":77,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":78,"context_line":"                   ng-model\u003d\"ctrl.image.image_url\""},{"line_number":79,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":80,"context_line":"                   placeholder\u003d\"{$ \u0027An external (HTTP) URL to load the image from\u0027|translate $}\"\u003e"},{"line_number":81,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":82,"context_line":"               ng-show\u003d\"imageForm.image_url.$invalid \u0026\u0026 imageForm.image_url.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_377553f9","line":79,"updated":"2015-11-19 00:54:17.000000000","message":"Ditto","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            \u003cinput id\u003d\"imageForm-image_url\" name\u003d\"image_url\""},{"line_number":77,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":78,"context_line":"                   ng-model\u003d\"ctrl.image.image_url\""},{"line_number":79,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":80,"context_line":"                   placeholder\u003d\"{$ \u0027An external (HTTP) URL to load the image from\u0027|translate $}\"\u003e"},{"line_number":81,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":82,"context_line":"               ng-show\u003d\"imageForm.image_url.$invalid \u0026\u0026 imageForm.image_url.$dirty\"\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_35dcf645","line":79,"in_reply_to":"ba8a016a_377553f9","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":122,"context_line":"              \u003coption value\u003d\"raw\" translate\u003eRaw\u003c/option\u003e"},{"line_number":123,"context_line":"              \u003coption value\u003d\"vdi\" translate\u003eVDI - Virtual Disk Image\u003c/option\u003e"},{"line_number":124,"context_line":"              \u003coption value\u003d\"vhd\" translate\u003eVHD - Virtual Hard Disk\u003c/option\u003e"},{"line_number":125,"context_line":"              \u003coption value\u003d\"vmdk\" translate\u003eVMDK - Virtual Machine Disk\u003c/option\u003e"},{"line_number":126,"context_line":"            \u003c/select\u003e"},{"line_number":127,"context_line":"          \u003c/div\u003e"},{"line_number":128,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_179ccf0d","line":125,"updated":"2015-11-19 00:54:17.000000000","message":"How does one easily add an option to this list if they are using Horizon?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":122,"context_line":"              \u003coption value\u003d\"raw\" translate\u003eRaw\u003c/option\u003e"},{"line_number":123,"context_line":"              \u003coption value\u003d\"vdi\" translate\u003eVDI - Virtual Disk Image\u003c/option\u003e"},{"line_number":124,"context_line":"              \u003coption value\u003d\"vhd\" translate\u003eVHD - Virtual Hard Disk\u003c/option\u003e"},{"line_number":125,"context_line":"              \u003coption value\u003d\"vmdk\" translate\u003eVMDK - Virtual Machine Disk\u003c/option\u003e"},{"line_number":126,"context_line":"            \u003c/select\u003e"},{"line_number":127,"context_line":"          \u003c/div\u003e"},{"line_number":128,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_c66142d5","line":125,"in_reply_to":"ba8a016a_179ccf0d","updated":"2015-11-21 00:55:22.000000000","message":"Added these options as a constant in the images module.","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            \u003cinput id\u003d\"imageForm-architecture\" name\u003d\"architecture\""},{"line_number":180,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":181,"context_line":"                   ng-model\u003d\"ctrl.image.architecture\""},{"line_number":182,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":183,"context_line":"                   placeholder\u003d\"{$ \u0027Image Architecture\u0027|translate $}\"\u003e"},{"line_number":184,"context_line":"          \u003c/div\u003e"},{"line_number":185,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_17ce0f2e","line":182,"updated":"2015-11-19 00:54:17.000000000","message":"Are these all the same maxlength?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            \u003cinput id\u003d\"imageForm-architecture\" name\u003d\"architecture\""},{"line_number":180,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":181,"context_line":"                   ng-model\u003d\"ctrl.image.architecture\""},{"line_number":182,"context_line":"                   ng-maxlength\u003d\"255\""},{"line_number":183,"context_line":"                   placeholder\u003d\"{$ \u0027Image Architecture\u0027|translate $}\"\u003e"},{"line_number":184,"context_line":"          \u003c/div\u003e"},{"line_number":185,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_555e5a77","line":182,"in_reply_to":"ba8a016a_17ce0f2e","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            \u003c/label\u003e"},{"line_number":192,"context_line":"            \u003cinput id\u003d\"imageForm-min_disk\" name\u003d\"min_disk\""},{"line_number":193,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":194,"context_line":"                   ng-pattern\u003d\"/^[0-9]+$/\" ng-model\u003d\"ctrl.image.min_disk\""},{"line_number":195,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum disk size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":196,"context_line":"          \u003c/div\u003e"},{"line_number":197,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_97daffe6","line":194,"updated":"2015-11-19 00:54:17.000000000","message":"we repeat this pattern a lot. Can we create a helper?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            \u003c/label\u003e"},{"line_number":192,"context_line":"            \u003cinput id\u003d\"imageForm-min_disk\" name\u003d\"min_disk\""},{"line_number":193,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":194,"context_line":"                   ng-pattern\u003d\"/^[0-9]+$/\" ng-model\u003d\"ctrl.image.min_disk\""},{"line_number":195,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum disk size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":196,"context_line":"          \u003c/div\u003e"},{"line_number":197,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_3559568f","line":194,"in_reply_to":"ba8a016a_97daffe6","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"fefdf655aababc3797d82cd14a4ed098e27923f7","unresolved":false,"context_lines":[{"line_number":203,"context_line":"            \u003c/label\u003e"},{"line_number":204,"context_line":"            \u003cinput id\u003d\"imageForm-min_ram\" name\u003d\"min_ram\""},{"line_number":205,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":206,"context_line":"                   ng-pattern\u003d\"/^[0-9]+$/\" ng-model\u003d\"ctrl.image.min_ram\""},{"line_number":207,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum memory size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":208,"context_line":"          \u003c/div\u003e"},{"line_number":209,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_d7d3a7d3","line":206,"updated":"2015-11-19 00:54:17.000000000","message":"we repeat this pattern a lot.  Can we create a helper?","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":17327,"name":"Kyle Olivo","email":"keolivo@thoughtworks.com","username":"kyleolivo"},"change_message_id":"559962641de4c30bc218bc240f4d9f67bdb98423","unresolved":false,"context_lines":[{"line_number":203,"context_line":"            \u003c/label\u003e"},{"line_number":204,"context_line":"            \u003cinput id\u003d\"imageForm-min_ram\" name\u003d\"min_ram\""},{"line_number":205,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":206,"context_line":"                   ng-pattern\u003d\"/^[0-9]+$/\" ng-model\u003d\"ctrl.image.min_ram\""},{"line_number":207,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum memory size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":208,"context_line":"          \u003c/div\u003e"},{"line_number":209,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":19,"id":"ba8a016a_755fde75","line":206,"in_reply_to":"ba8a016a_d7d3a7d3","updated":"2015-11-21 00:55:22.000000000","message":"Done","commit_id":"80f8338e6128c3ea3b896797762dfa3d4c4e5259"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv ng-controller\u003d\"horizon.app.core.images.steps.CreateImageController as ctrl\"\u003e"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003ch1\u003e\u003ctranslate\u003eImage Details\u003c/translate\u003e\u003c/h1\u003e"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_8b9a6913","line":1,"updated":"2015-11-24 20:10:22.000000000","message":"wizard step navigation should have a yellow warning icon until the required fields are filled out.  For me it only shows up if I go to Update Metadata step and select some and leave them blank.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""},{"line_number":17,"context_line":"               ng-class\u003d\"{\u0027has-error\u0027:imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty}\"\u003e"},{"line_number":18,"context_line":"            \u003clabel class\u003d\"control-label required\" for\u003d\"imageForm-name\"\u003e"},{"line_number":19,"context_line":"              \u003ctranslate\u003eImage Name\u003c/translate\u003e*"},{"line_number":20,"context_line":"            \u003c/label\u003e"},{"line_number":21,"context_line":"            \u003cinput required"},{"line_number":22,"context_line":"                   id\u003d\"imageForm-name\" name\u003d\"name\""}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_ab772d01","line":19,"updated":"2015-11-24 20:10:22.000000000","message":"A red asterisk should come by default.  We shouldn\u0027t have to define ourselves.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""},{"line_number":17,"context_line":"               ng-class\u003d\"{\u0027has-error\u0027:imageForm.name.$invalid \u0026\u0026 imageForm.name.$dirty}\"\u003e"},{"line_number":18,"context_line":"            \u003clabel class\u003d\"control-label required\" for\u003d\"imageForm-name\"\u003e"},{"line_number":19,"context_line":"              \u003ctranslate\u003eImage Name\u003c/translate\u003e*"},{"line_number":20,"context_line":"            \u003c/label\u003e"},{"line_number":21,"context_line":"            \u003cinput required"},{"line_number":22,"context_line":"                   id\u003d\"imageForm-name\" name\u003d\"name\""}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_6b9aa5c7","line":19,"in_reply_to":"9a8ffd7b_ab772d01","updated":"2015-12-01 00:37:53.000000000","message":"Done","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":41,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":42,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\""},{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"},{"line_number":46,"context_line":"              \u003ctranslate\u003eAn image description less than {$ctrl.validationRules.fieldMaxLength + 1$} characters is required.\u003c/translate\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_ab93adf9","line":43,"updated":"2015-11-24 20:10:22.000000000","message":"I think this placeholder is unnecessary.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":41,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":42,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\""},{"line_number":43,"context_line":"                   placeholder\u003d\"{$ \u0027Enter an Image Description\u0027|translate $}\"\u003e"},{"line_number":44,"context_line":"            \u003cp class\u003d\"help-block alert alert-danger\""},{"line_number":45,"context_line":"               ng-show\u003d\"imageForm.description.$invalid \u0026\u0026 imageForm.description.$dirty\"\u003e"},{"line_number":46,"context_line":"              \u003ctranslate\u003eAn image description less than {$ctrl.validationRules.fieldMaxLength + 1$} characters is required.\u003c/translate\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_2b81fdfb","line":43,"in_reply_to":"9a8ffd7b_ab93adf9","updated":"2015-12-01 00:37:53.000000000","message":"Removed. Also removed for Image name above and Image Architecture below. Let me know if there are any concerns.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":108,"context_line":"          \u003cdiv class\u003d\"form-group required\""},{"line_number":109,"context_line":"               ng-class\u003d\"{\u0027has-error\u0027:imageForm.disk_format.$invalid \u0026\u0026 imageForm.disk_format.$dirty}\"\u003e"},{"line_number":110,"context_line":"            \u003clabel class\u003d\"control-label required\" for\u003d\"imageForm-disk_format\"\u003e"},{"line_number":111,"context_line":"              \u003ctranslate\u003eFormat\u003c/translate\u003e*"},{"line_number":112,"context_line":"            \u003c/label\u003e"},{"line_number":113,"context_line":"            \u003cselect class\u003d\"form-control switchable ng-pristine ng-untouched ng-valid\" ng-required\u003d\"true\" id\u003d\"imageForm-disk_format\" name\u003d\"disk_format\" ng-model\u003d\"ctrl.image.disk_format\"\u003e"},{"line_number":114,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\" translate\u003eSelect format\u003c/option\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_6b606536","line":111,"updated":"2015-11-24 20:10:22.000000000","message":"ditto","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":108,"context_line":"          \u003cdiv class\u003d\"form-group required\""},{"line_number":109,"context_line":"               ng-class\u003d\"{\u0027has-error\u0027:imageForm.disk_format.$invalid \u0026\u0026 imageForm.disk_format.$dirty}\"\u003e"},{"line_number":110,"context_line":"            \u003clabel class\u003d\"control-label required\" for\u003d\"imageForm-disk_format\"\u003e"},{"line_number":111,"context_line":"              \u003ctranslate\u003eFormat\u003c/translate\u003e*"},{"line_number":112,"context_line":"            \u003c/label\u003e"},{"line_number":113,"context_line":"            \u003cselect class\u003d\"form-control switchable ng-pristine ng-untouched ng-valid\" ng-required\u003d\"true\" id\u003d\"imageForm-disk_format\" name\u003d\"disk_format\" ng-model\u003d\"ctrl.image.disk_format\"\u003e"},{"line_number":114,"context_line":"              \u003coption value\u003d\"\" selected\u003d\"selected\" translate\u003eSelect format\u003c/option\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_4ba9e1de","line":111,"in_reply_to":"9a8ffd7b_6b606536","updated":"2015-12-01 00:37:53.000000000","message":"Done","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            \u003cinput id\u003d\"imageForm-min_disk\" name\u003d\"min_disk\""},{"line_number":186,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":187,"context_line":"                   ng-pattern\u003d\"ctrl.validationRules.integer\" ng-model\u003d\"ctrl.image.min_disk\""},{"line_number":188,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum disk size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":189,"context_line":"          \u003c/div\u003e"},{"line_number":190,"context_line":"        \u003c/div\u003e"},{"line_number":191,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-3\"\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_ee41c33a","line":188,"updated":"2015-11-24 20:10:22.000000000","message":"this text is longer than the input field.  Maybe put it as subtitle under \"Image Requirements.\"","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            \u003cinput id\u003d\"imageForm-min_disk\" name\u003d\"min_disk\""},{"line_number":186,"context_line":"                   type\u003d\"number\" class\u003d\"form-control\""},{"line_number":187,"context_line":"                   ng-pattern\u003d\"ctrl.validationRules.integer\" ng-model\u003d\"ctrl.image.min_disk\""},{"line_number":188,"context_line":"                   placeholder\u003d\"{$ \u0027The minimum disk size required to boot the image. If unspecified, this value defaults to 0 (no minimum).\u0027|translate $}\"\u003e"},{"line_number":189,"context_line":"          \u003c/div\u003e"},{"line_number":190,"context_line":"        \u003c/div\u003e"},{"line_number":191,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-3\"\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"9a8ffd7b_0e6527e0","line":188,"in_reply_to":"9a8ffd7b_ee41c33a","updated":"2015-12-01 00:37:53.000000000","message":"Removed the place holder. Made the field a required * field and defaulted it to 0. Did the same for Minimum Ram field below.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv ng-controller\u003d\"horizon.app.core.images.steps.CreateImageController as ctrl\"\u003e"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003ch1\u003e\u003ctranslate\u003eImage Details\u003c/translate\u003e\u003c/h1\u003e"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  \u003cdiv class\u003d\"content\"\u003e"},{"line_number":6,"context_line":""}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_76760b08","line":3,"updated":"2016-01-16 17:24:53.000000000","message":"Can we float this \u003ctranslate\u003e to the next line?","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv ng-controller\u003d\"horizon.app.core.images.steps.CreateImageController as ctrl\"\u003e"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003ch1\u003e\u003ctranslate\u003eImage Details\u003c/translate\u003e\u003c/h1\u003e"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  \u003cdiv class\u003d\"content\"\u003e"},{"line_number":6,"context_line":""}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_d7d783bd","line":3,"in_reply_to":"da6ed579_76760b08","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      \u003c/div\u003e"},{"line_number":48,"context_line":"    \u003c/div\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Source\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":51,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_165eaf76","line":50,"updated":"2016-01-16 17:24:53.000000000","message":"Can we float this \u003ctranslate\u003e to the next line?","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      \u003c/div\u003e"},{"line_number":48,"context_line":"    \u003c/div\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Source\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":51,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_77e6d7b5","line":50,"in_reply_to":"da6ed579_165eaf76","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u003clabel class\u003d\"control-label\" for\u003d\"imageForm-image_url\"\u003e"},{"line_number":71,"context_line":"              \u003ctranslate\u003eLocation\u003c/translate\u003e"},{"line_number":72,"context_line":"            \u003c/label\u003e"},{"line_number":73,"context_line":"            \u003cinput ng-required\u003d\"true\"\" id\u003d\"imageForm-image_url\" name\u003d\"image_url\""},{"line_number":74,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":75,"context_line":"                   ng-model\u003d\"ctrl.image.image_url\""},{"line_number":76,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\""}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_56f2e770","line":73,"updated":"2016-01-16 17:24:53.000000000","message":"Double quote here","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u003clabel class\u003d\"control-label\" for\u003d\"imageForm-image_url\"\u003e"},{"line_number":71,"context_line":"              \u003ctranslate\u003eLocation\u003c/translate\u003e"},{"line_number":72,"context_line":"            \u003c/label\u003e"},{"line_number":73,"context_line":"            \u003cinput ng-required\u003d\"true\"\" id\u003d\"imageForm-image_url\" name\u003d\"image_url\""},{"line_number":74,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":75,"context_line":"                   ng-model\u003d\"ctrl.image.image_url\""},{"line_number":76,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\""}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_17ec3b8e","line":73,"in_reply_to":"da6ed579_56f2e770","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":141,"context_line":"      \u003c/div\u003e"},{"line_number":142,"context_line":"    \u003c/div\u003e"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Requirements\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":145,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_16ec6f8e","line":144,"updated":"2016-01-16 17:24:53.000000000","message":"Can we float this \u003ctranslate\u003e to the next line?","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":141,"context_line":"      \u003c/div\u003e"},{"line_number":142,"context_line":"    \u003c/div\u003e"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Requirements\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":145,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_d7fea337","line":144,"in_reply_to":"da6ed579_16ec6f8e","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":11778,"name":"Diana Whitten","email":"hurgleburgler@gmail.com","username":"hurgleburgler"},"change_message_id":"391dc1f4e9c15c806fdd7237d71802bb3bcbaa64","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      \u003c/div\u003e"},{"line_number":210,"context_line":"    \u003c/div\u003e"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Sharing\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":213,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"da6ed579_b601e33b","line":212,"updated":"2016-01-16 17:24:53.000000000","message":"Can we float this \u003ctranslate\u003e to the next line?","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17013,"name":"Rajat Vig","email":"rajatv@thoughtworks.com","username":"rajatvig"},"change_message_id":"239563da1c5ea3e82b8592611aa4be5a4ac14581","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      \u003c/div\u003e"},{"line_number":210,"context_line":"    \u003c/div\u003e"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    \u003ch2 class\u003d\"section-title\"\u003e\u003ctranslate\u003eImage Sharing\u003c/translate\u003e\u003c/h2\u003e"},{"line_number":213,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":45,"id":"ba63e191_77fd7739","line":212,"in_reply_to":"da6ed579_b601e33b","updated":"2016-01-19 18:26:06.000000000","message":"Done","commit_id":"3a1e1ec0715a278d9d54e27d71948b456c7a27fd"},{"author":{"_account_id":17172,"name":"Kenji Ishii","email":"ken-ishii@sx.jp.nec.com","username":"kenji-ishii"},"change_message_id":"e9d1d21a652b30d74a1c3df9f2a8c6f78853b6ae","unresolved":false,"context_lines":[{"line_number":85,"context_line":"          \u003cdiv class\u003d\"form-group required\""},{"line_number":86,"context_line":"               ng-class\u003d\"{\u0027has-error\u0027:imageForm.image_file.$invalid \u0026\u0026 imageForm.image_file.$dirty}\"\u003e"},{"line_number":87,"context_line":"            \u003clabel class\u003d\"control-label required\" for\u003d\"imageForm-image_url\"\u003e"},{"line_number":88,"context_line":"              \u003ctranslate\u003eLocation\u003c/translate\u003e*"},{"line_number":89,"context_line":"            \u003c/label\u003e"},{"line_number":90,"context_line":"            \u003cinput class\u003d\"switched ng-pristine ng-untouched ng-valid\""},{"line_number":91,"context_line":"                   data-source-file\u003d\"Image File\""}],"source_content_type":"text/html","patch_set":51,"id":"7af24918_a2a868dc","line":88,"updated":"2016-03-03 04:45:43.000000000","message":"\"*\" is unnecessary.","commit_id":"d491d8dfdd0d97cd3b9d4ccb5835eb5faf555d2a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv ng-controller\u003d\"horizon.app.core.images.steps.CreateImageController as ctrl\"\u003e"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003ch1 translate\u003eImage Details\u003c/h1\u003e"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  \u003cdiv class\u003d\"content\"\u003e"},{"line_number":6,"context_line":""}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_c5af81e1","line":3,"updated":"2016-05-05 01:15:56.000000000","message":"h3","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cdiv ng-controller\u003d\"horizon.app.core.images.steps.CreateImageController as ctrl\"\u003e"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003ch1 translate\u003eImage Details\u003c/h1\u003e"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  \u003cdiv class\u003d\"content\"\u003e"},{"line_number":6,"context_line":""}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_266d7f32","line":3,"in_reply_to":"1a122d0e_c5af81e1","updated":"2016-05-05 15:21:44.000000000","message":"OK","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      \u003c/translate\u003e"},{"line_number":11,"context_line":"    \u003c/div\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"},{"line_number":14,"context_line":"      \u003cdiv class\u003d\"row form-group\"\u003e"},{"line_number":15,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-6\"\u003e"},{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_45ba51e2","line":13,"updated":"2016-05-05 01:15:56.000000000","message":"should have an * for required fields","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      \u003c/translate\u003e"},{"line_number":11,"context_line":"    \u003c/div\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"},{"line_number":14,"context_line":"      \u003cdiv class\u003d\"row form-group\"\u003e"},{"line_number":15,"context_line":"        \u003cdiv class\u003d\"col-xs-6 col-sm-6\"\u003e"},{"line_number":16,"context_line":"          \u003cdiv class\u003d\"form-group required\""}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_c65acb81","line":13,"in_reply_to":"1a122d0e_45ba51e2","updated":"2016-05-05 15:21:44.000000000","message":"I didn\u0027t think we did that...I thought there was a better approach overall rather than placing asterisks around.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            \u003clabel class\u003d\"control-label\" for\u003d\"imageForm-description\"\u003e"},{"line_number":35,"context_line":"              \u003ctranslate\u003eImage Description\u003c/translate\u003e"},{"line_number":36,"context_line":"            \u003c/label\u003e"},{"line_number":37,"context_line":"            \u003cinput id\u003d\"imageForm-description\" name\u003d\"description\""},{"line_number":38,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":39,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":40,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_4537f1af","line":37,"updated":"2016-05-05 01:15:56.000000000","message":"should be a textbox in its own row","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            \u003clabel class\u003d\"control-label\" for\u003d\"imageForm-description\"\u003e"},{"line_number":35,"context_line":"              \u003ctranslate\u003eImage Description\u003c/translate\u003e"},{"line_number":36,"context_line":"            \u003c/label\u003e"},{"line_number":37,"context_line":"            \u003cinput id\u003d\"imageForm-description\" name\u003d\"description\""},{"line_number":38,"context_line":"                   type\u003d\"text\" class\u003d\"form-control\""},{"line_number":39,"context_line":"                   ng-model\u003d\"ctrl.image.description\""},{"line_number":40,"context_line":"                   ng-maxlength\u003d\"ctrl.validationRules.fieldMaxLength\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_4647dba2","line":37,"in_reply_to":"1a122d0e_4537f1af","updated":"2016-05-05 15:21:44.000000000","message":"I\u0027ll take a look.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      \u003c/div\u003e"},{"line_number":48,"context_line":"    \u003c/div\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Source\u003c/h2\u003e"},{"line_number":51,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_05b6993d","line":50,"updated":"2016-05-05 01:15:56.000000000","message":"h3","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      \u003c/div\u003e"},{"line_number":48,"context_line":"    \u003c/div\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Source\u003c/h2\u003e"},{"line_number":51,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_e6cc2736","line":50,"in_reply_to":"1a122d0e_05b6993d","updated":"2016-05-05 15:21:44.000000000","message":"OK.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            \u003c/label\u003e"},{"line_number":77,"context_line":"            \u003cdiv class\u003d\"form-field\"\u003e"},{"line_number":78,"context_line":"              \u003cdiv class\u003d\"btn-group\"\u003e"},{"line_number":79,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":80,"context_line":"                        ng-repeat\u003d\"option in ctrl.imageCopyOptions\""},{"line_number":81,"context_line":"                        ng-model\u003d\"ctrl.image.is_copying\""},{"line_number":82,"context_line":"                        btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/label\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_258d9531","line":79,"updated":"2016-05-05 01:15:56.000000000","message":"styling seems off due to using button instead of label","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            \u003c/label\u003e"},{"line_number":77,"context_line":"            \u003cdiv class\u003d\"form-field\"\u003e"},{"line_number":78,"context_line":"              \u003cdiv class\u003d\"btn-group\"\u003e"},{"line_number":79,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":80,"context_line":"                        ng-repeat\u003d\"option in ctrl.imageCopyOptions\""},{"line_number":81,"context_line":"                        ng-model\u003d\"ctrl.image.is_copying\""},{"line_number":82,"context_line":"                        btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/label\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_c6e80b7e","line":79,"in_reply_to":"1a122d0e_258d9531","updated":"2016-05-05 15:21:44.000000000","message":"I\u0027ve ping-ponged on this a lot.  Which is it?  Doug had me change it to button.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":80,"context_line":"                        ng-repeat\u003d\"option in ctrl.imageCopyOptions\""},{"line_number":81,"context_line":"                        ng-model\u003d\"ctrl.image.is_copying\""},{"line_number":82,"context_line":"                        btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/label\u003e"},{"line_number":83,"context_line":"              \u003c/div\u003e"},{"line_number":84,"context_line":"            \u003c/div\u003e"},{"line_number":85,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_a5924555","line":82,"updated":"2016-05-05 01:15:56.000000000","message":"where does this \u003c/label\u003e belong to?\n\nshould be same as:\n\nhttps://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/source/source.html#L28","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":80,"context_line":"                        ng-repeat\u003d\"option in ctrl.imageCopyOptions\""},{"line_number":81,"context_line":"                        ng-model\u003d\"ctrl.image.is_copying\""},{"line_number":82,"context_line":"                        btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/label\u003e"},{"line_number":83,"context_line":"              \u003c/div\u003e"},{"line_number":84,"context_line":"            \u003c/div\u003e"},{"line_number":85,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_66f8174b","line":82,"in_reply_to":"1a122d0e_a5924555","updated":"2016-05-05 15:21:44.000000000","message":"messed up due to mis-implementing of Doug\u0027s suggestion.","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":96,"context_line":"      \u003c/div\u003e"},{"line_number":97,"context_line":"    \u003c/div\u003e"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Requirements\u003c/h2\u003e"},{"line_number":100,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_45825153","line":99,"updated":"2016-05-05 01:15:56.000000000","message":"h3","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":96,"context_line":"      \u003c/div\u003e"},{"line_number":97,"context_line":"    \u003c/div\u003e"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Requirements\u003c/h2\u003e"},{"line_number":100,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_a694efe7","line":99,"in_reply_to":"1a122d0e_45825153","updated":"2016-05-05 15:21:44.000000000","message":"OK","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":164,"context_line":"      \u003c/div\u003e"},{"line_number":165,"context_line":"    \u003c/div\u003e"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Sharing\u003c/h2\u003e"},{"line_number":168,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_45e9b119","line":167,"updated":"2016-05-05 01:15:56.000000000","message":"h3","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":164,"context_line":"      \u003c/div\u003e"},{"line_number":165,"context_line":"    \u003c/div\u003e"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    \u003ch2 class\u003d\"section-title\" translate\u003eImage Sharing\u003c/h2\u003e"},{"line_number":168,"context_line":"    \u003cdiv class\u003d\"subtitle\"\u003e\u003c/div\u003e"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    \u003cdiv class\u003d\"selected-source\"\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_e69a6712","line":167,"in_reply_to":"1a122d0e_45e9b119","updated":"2016-05-05 15:21:44.000000000","message":"OK","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":180,"context_line":"                       ng-repeat\u003d\"option in ctrl.imageVisibilityOptions\""},{"line_number":181,"context_line":"                       ng-model\u003d\"ctrl.image.visibility\""},{"line_number":182,"context_line":"                       btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/button\u003e"},{"line_number":183,"context_line":"              \u003c/div\u003e"},{"line_number":184,"context_line":"            \u003c/div\u003e"},{"line_number":185,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_25cc7534","line":182,"updated":"2016-05-05 01:15:56.000000000","message":"should be \u003clabel\u003e","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":180,"context_line":"                       ng-repeat\u003d\"option in ctrl.imageVisibilityOptions\""},{"line_number":181,"context_line":"                       ng-model\u003d\"ctrl.image.visibility\""},{"line_number":182,"context_line":"                       btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/button\u003e"},{"line_number":183,"context_line":"              \u003c/div\u003e"},{"line_number":184,"context_line":"            \u003c/div\u003e"},{"line_number":185,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_668f77cd","line":182,"in_reply_to":"1a122d0e_25cc7534","updated":"2016-05-05 15:21:44.000000000","message":"OK","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"cc5828513838abaa966af8e4523d1d31bde715bc","unresolved":false,"context_lines":[{"line_number":194,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":195,"context_line":"                       ng-repeat\u003d\"option in ctrl.imageProtectedOptions\""},{"line_number":196,"context_line":"                       ng-model\u003d\"ctrl.image.protected\""},{"line_number":197,"context_line":"                       btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/button\u003e"},{"line_number":198,"context_line":"              \u003c/div\u003e"},{"line_number":199,"context_line":"            \u003c/div\u003e"},{"line_number":200,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_c554a155","line":197,"updated":"2016-05-05 01:15:56.000000000","message":"should be \u003clabel\u003e","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"875723197e20dd104224835a900758ff0269da68","unresolved":false,"context_lines":[{"line_number":194,"context_line":"                \u003cbutton class\u003d\"btn btn-toggle\""},{"line_number":195,"context_line":"                       ng-repeat\u003d\"option in ctrl.imageProtectedOptions\""},{"line_number":196,"context_line":"                       ng-model\u003d\"ctrl.image.protected\""},{"line_number":197,"context_line":"                       btn-radio\u003d\"option.value\"\u003e{$ ::option.label $}\u003c/button\u003e"},{"line_number":198,"context_line":"              \u003c/div\u003e"},{"line_number":199,"context_line":"            \u003c/div\u003e"},{"line_number":200,"context_line":"          \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":57,"id":"1a122d0e_a6bb4f74","line":197,"in_reply_to":"1a122d0e_c554a155","updated":"2016-05-05 15:21:44.000000000","message":"OK","commit_id":"f4ab8a20044f18379b65624d54de4f0b14967f7a"}],"openstack_dashboard/static/app/core/images/steps/update-metadata/update-metadata.controller.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"9a8ffd7b_d14b40af","updated":"2015-11-24 20:10:22.000000000","message":"missing content for the update-metadata.help.html. :)","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"9a8ffd7b_2eb58b7d","in_reply_to":"9a8ffd7b_d14b40af","updated":"2015-12-01 00:37:53.000000000","message":"Moved detailed instructions that were under the title to update-metadata.help.html","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"39f3729d28f9ff6ef2cbdbe47245fd6fe18031c3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    ////////////////////////////////"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    function init(response) {"},{"line_number":58,"context_line":"      var image \u003d response.data;"},{"line_number":59,"context_line":"      $q.all({"},{"line_number":60,"context_line":"        available: metadataService.getNamespaces(\u0027image\u0027),"},{"line_number":61,"context_line":"        existing: getExistingMetdataPromise(image)"}],"source_content_type":"text/javascript","patch_set":59,"id":"dab17558_fcffcba7","line":58,"updated":"2016-05-09 21:00:20.000000000","message":"No metadata is being loaded. Placed a debug breakpoint and the init function is never being called. This appears to be copy paste from launch instance, so the logic above on line 40 and the logic in here looking for an existing image don\u0027t make sense for the create image case.","commit_id":"4db5bec2f4d461ff57f759536716189b2fa69de9"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"33d49066c0c959dab742019203d60751d6de6957","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    ////////////////////////////////"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    function init(response) {"},{"line_number":58,"context_line":"      var image \u003d response.data;"},{"line_number":59,"context_line":"      $q.all({"},{"line_number":60,"context_line":"        available: metadataService.getNamespaces(\u0027image\u0027),"},{"line_number":61,"context_line":"        existing: getExistingMetdataPromise(image)"}],"source_content_type":"text/javascript","patch_set":59,"id":"dab17558_acd2085a","line":58,"in_reply_to":"dab17558_fcffcba7","updated":"2016-05-10 14:24:29.000000000","message":"I fixed the loading bit that you mention, but please note I see (even in the existing metadata edit) problems with either the metadata widget or its implementation here.  For example, if I try to add values for \u0027Cinder Volume Type\u0027 I get null values for \u0027leaf\u0027 in ctrl.item.leaf.type...even in the Django-based Update Metadata feature.  I don\u0027t think we should hold this patch up on that bug; I can now create new metadata on a new image as part of the Create Image and see that it is captured properly.","commit_id":"4db5bec2f4d461ff57f759536716189b2fa69de9"}],"openstack_dashboard/static/app/core/images/table/batch-actions.service.js":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"9e539abb14336b273a7d0f6b684b6e43f4e085db","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    deleteService,"},{"line_number":39,"context_line":"    policy"},{"line_number":40,"context_line":"  ) {"},{"line_number":41,"context_line":"    var actions \u003d [{"},{"line_number":42,"context_line":"      callback: \u0027table.batchActions.create.open\u0027,"},{"line_number":43,"context_line":"      template: {"},{"line_number":44,"context_line":"        type: \u0027create\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_ae065b1e","line":41,"updated":"2015-11-24 20:10:22.000000000","message":"not sure why but in the Create and Delete buttons, the icon is touching the text.  I\u0027d expect some whitespace.","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"},{"author":{"_account_id":18508,"name":"Errol Pais","email":"errol.pais@protonmail.com","username":"errol"},"change_message_id":"0d9cfbf98111a587a8853b9d66b4049287497353","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    deleteService,"},{"line_number":39,"context_line":"    policy"},{"line_number":40,"context_line":"  ) {"},{"line_number":41,"context_line":"    var actions \u003d [{"},{"line_number":42,"context_line":"      callback: \u0027table.batchActions.create.open\u0027,"},{"line_number":43,"context_line":"      template: {"},{"line_number":44,"context_line":"        type: \u0027create\u0027,"}],"source_content_type":"text/javascript","patch_set":22,"id":"9a8ffd7b_ce7ddfb2","line":41,"in_reply_to":"9a8ffd7b_ae065b1e","updated":"2015-12-01 00:37:53.000000000","message":"I was not able to reproduce the issue. I tried it in Firefox and Chrome. Will try again tomorrow in Safari or perhaps after clearing cache etc. Could you tell me what browser you were using?","commit_id":"84d464857acd25f0abd07ba35fc7606e7db18dbe"}]}
