[Kimchi-devel] [PATCH V3] Bugfix:#424 Edit Template, "Disk (GB)" is changing with storage pool

Aline Manera alinefm at linux.vnet.ibm.com
Tue Sep 23 13:55:10 UTC 2014


Almost there =)

See below:


On 09/23/2014 06:23 AM, Wen Wang wrote:
> From: Wen Wang <wenwang at linux.vnet.ibm.com>
>
> V2 -> V3:
> Make the value of "Disk(GB)" inputbox consistent with user input. If
> choosing iSCSI or SCSI, inputbox is disabled and value of "Disk(GB)" is
> refreshed with the system. If changing back, the value stays the same
> with user last input.
>
> V1 -> V2:
> Considering iSCSI and SCSI situation that we need to have the input box
> disabled when choosing iSCSI and SCSI for storage pool and enable when
> choosing others.
>
> This patch fix the bug that value of "Disk(GB)" input box is changing
> with the item of "Storage Pool" in "Templates" --> "Actions" --> "Edit"
> -->"Edit Templates" dialogue. This might be comfusing to user when
> changing the "Storage Pool", "Disk(GB)" is changed with it without even
> notice. This might confuse the users and is not necessary. Solved by
> removing the change.
>
> Signed-off-by: Wen Wang <wenwang at linux.vnet.ibm.com>
> ---
>   ui/js/src/kimchi.template_edit_main.js |   12 +++++-------
>   1 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/ui/js/src/kimchi.template_edit_main.js b/ui/js/src/kimchi.template_edit_main.js
> index cb43091..d2bbe23 100644
> --- a/ui/js/src/kimchi.template_edit_main.js
> +++ b/ui/js/src/kimchi.template_edit_main.js
> @@ -40,6 +40,7 @@ kimchi.template_edit_main = function() {
>           }
>           var disks = template.disks;
>           $('input[name="disks"]').val(disks[0].size);
> +        kimchi.templateDiskSize = $('input[name="disks"]').val();

I suggest to do not user kimchi.<variable> the kimchi variable is used 
when the value needs to be used by the whole application.
In this case, templateDiskSize is only used there in 
kimchi.template_edit_main() function so I suggest to make a variable 
local to this function.

>           if (disks[0].volume) {
>               var spool_value = $('#form-template-edit [name="storagepool"]').val();
>               $('input[name="storagepool"]', templateEditForm).val(spool_value + '/' + disks[0].volume);
> @@ -128,19 +129,16 @@ kimchi.template_edit_main = function() {
>                   $('input[name="disks"]', templateEditForm).attr('disabled','disabled');
>                   return false;
>               }, function (err) {
> +                $('input[name="disks"]', templateEditForm).val(kimchi.templateDiskSize);
>                   kimchi.message.error(err.responseJSON.reason);
>               });
>           } else {
> -            if (origPool == storagepool) {
> -                // Previous disk size value
> -                $('input[name="disks"]', templateEditForm).val(origDisks[0].size);
> -            } else {
> -                // Default disk size value
> -                $('input[name="disks"]', templateEditForm).val(10);
> -            }



>               $('input[name="disks"]', templateEditForm).removeAttr('disabled');

You also need to set the right value in the else statement.
In 'else' the pool is not iSCSI or SCSI so you need to set the input box 
to the previous value on input box

$('input[name="disks"]', templateEditForm).val(kimchi.templateDiskSize);



>           }
>       });
> +    $('input[name="disks"]', templateEditForm).keyup(function() {
> +        kimchi.templateDiskSize = $('input[name="disks"]', templateEditForm).val();
> +    });
>
>       $('#tmpl-edit-button-save').on('click', function() {
>           var editableFields = [ 'name', 'cpus', 'memory', 'storagepool', 'disks', 'graphics'];




More information about the Kimchi-devel mailing list