]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/HDMove.js
1 Ext
.define('PVE.window.HDMove', {
2 extend
: 'Ext.window.Window',
7 move_disk: function(disk
, storage
, format
, delete_disk
) {
9 var qemu
= (me
.type
=== 'qemu');
11 params
.storage
= storage
;
12 params
[qemu
? 'disk':'volume'] = disk
;
15 params
.format
= format
;
22 var url
= '/nodes/' + me
.nodename
+ '/' + me
.type
+ '/' + me
.vmid
+ '/';
23 url
+= qemu
? 'move_disk' : 'move_volume';
25 Proxmox
.Utils
.API2Request({
30 failure: function(response
, opts
) {
31 Ext
.Msg
.alert('Error', response
.htmlStatus
);
33 success: function(response
, options
) {
34 var upid
= response
.result
.data
;
35 var win
= Ext
.create('Proxmox.window.TaskViewer', {
39 win
.on('destroy', function() { me
.close(); });
45 initComponent : function() {
51 throw "no node name specified";
55 throw "no VM ID specified";
62 var qemu
= (me
.type
=== 'qemu');
66 xtype
: 'displayfield',
67 name
: qemu
? 'disk' : 'volume',
69 fieldLabel
: qemu
? gettext('Disk') : gettext('Mount Point'),
76 xtype
: 'pveDiskStorageSelector',
77 storageLabel
: gettext('Target Storage'),
78 nodename
: me
.nodename
,
79 storageContent
: qemu
? 'images' : 'rootdir',
84 xtype
: 'proxmoxcheckbox',
85 fieldLabel
: gettext('Delete source'),
91 me
.formPanel
= Ext
.create('Ext.form.Panel', {
101 var form
= me
.formPanel
.getForm();
105 me
.title
= qemu
? gettext("Move disk") : gettext('Move Volume');
106 submitBtn
= Ext
.create('Ext.Button', {
108 handler: function() {
109 if (form
.isValid()) {
110 var values
= form
.getValues();
111 me
.move_disk(me
.disk
, values
.hdstorage
, values
.diskformat
,
122 buttons
: [ submitBtn
],
123 items
: [ me
.formPanel
],
129 me
.mon(me
.formPanel
, 'validitychange', function(fp
, isValid
) {
130 submitBtn
.setDisabled(!isValid
);
133 me
.formPanel
.isValid();