[Kimchi-devel] [PATCH] Issue #363: Fix data/information consistence in edit template window
Rodrigo Trujillo
rodrigo.trujillo at linux.vnet.ibm.com
Tue Apr 8 18:58:11 UTC 2014
On 04/08/2014 03:31 PM, Aline Manera wrote:
> On 04/08/2014 12:24 PM, Rodrigo Trujillo wrote:
>> This patch changes edit template window to fix consistence:
>> - Show storagepool + volume name correctly in storagepool field after
>> saving
>> - Show disk size according to storagepool or storagepool/volume selected
>> - Block disk size input box when disk is type volume (iscsi/scsi volumes
>> cannot be changed)
>>
>> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
>> ---
>> ui/js/src/kimchi.template_edit_main.js | 35
>> ++++++++++++++++++++++++++++++++--
>> 1 file changed, 33 insertions(+), 2 deletions(-)
>>
>> diff --git a/ui/js/src/kimchi.template_edit_main.js
>> b/ui/js/src/kimchi.template_edit_main.js
>> index 386095b..db9a984 100644
>> --- a/ui/js/src/kimchi.template_edit_main.js
>> +++ b/ui/js/src/kimchi.template_edit_main.js
>> @@ -30,6 +30,11 @@ kimchi.template_edit_main = function() {
>> }
>> var disks = template.disks;
>> $('input[name="disks"]').val(disks[0].size);
>> + if (disks[0].volume) {
>> + var spool_value = $('#form-template-edit
>> [name="storagepool"]').val();
>> + $('input[name="storagepool"]',
>> templateEditForm).val(spool_value + '/' + disks[0].volume);
>> + $('input[name="disks"]',
>> templateEditForm).attr('disabled','disabled');
>> + }
>>
>> var options = [{label: 'VNC', value: 'vnc'}];
>> kimchi.getCapabilities(function(result) {
>> @@ -37,7 +42,7 @@ kimchi.template_edit_main = function() {
>> options.push({label: 'Spice', value: 'spice'})
>> }
>> }, function() {
>> - }, function(){
>> + }, function() {
>> kimchi.select('template-edit-graphics-list', options);
>> });
>>
>> @@ -101,6 +106,31 @@ kimchi.template_edit_main = function() {
>> kimchi.window.close();
>> });
>>
>> + $('input[name="storagepool"]',
>> templateEditForm).change(function() {
>> + var storagepool = $('#form-template-edit
>> [name="storagepool"]').val();
>> + var storageArray = storagepool.split("/");
>> + if (storageArray.length > 3) {
>> + volumeName = storageArray.pop();
>> + storageName = storageArray.pop();
>
>> + kimchi.listStorageVolumes(storageName, function(result) {
>> + $.each(result, function(index, storageVolume) {
>> + if (storageVolume.name == volumeName) {
>> + $('input[name="disks"]',
>> templateEditForm).val(storageVolume.allocation / Math.pow(1024,3));
>> + $('input[name="disks"]',
>> templateEditForm).attr('disabled','disabled');
>> + return false;
>> + }
>
Indeed. Thanks Aline
> You can only retrieve the information for a single storage volume
>
> GET /storagepools/<pool>/storagevolumes/<volume>
>
> That way you don't need to parse all the storage volumes to get the
> info you want (and also improve performance)
>
>> + });
>> + });
>> + } else if (origDisks[0].volume) {
>> + // Set default value when original disk was a volume
>> + $('input[name="disks"]', templateEditForm).val(10);
>> + $('input[name="disks"]',
>> templateEditForm).removeAttr('disabled');
>> + } else {
>> + $('input[name="disks"]',
>> templateEditForm).val(origDisks[0].size);
>> + $('input[name="disks"]',
>> templateEditForm).removeAttr('disabled');
>> + }
>> + });
>> +
>> $('#tmpl-edit-button-save').on('click', function() {
>> var editableFields = [ 'name', 'cpus', 'memory',
>> 'storagepool', 'disks', 'graphics'];
>> var data = {};
>> @@ -124,9 +154,10 @@ kimchi.template_edit_main = function() {
>> storageArray = storagepool.split("/");
>> if (storageArray.length > 3){
>> /* Support only 1 disk at this moment */
>> - delete data["disks"][0].size;
>> data["disks"][0].volume = storageArray.pop();
>> data['storagepool'] = storageArray.join("/");
>> + } else if (data["disks"][0].volume) {
>> + delete data["disks"][0].volume;
>> }
>> var networks = templateEditForm.serializeObject().networks;
>> if (networks instanceof Array) {
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
More information about the Kimchi-devel
mailing list