]> git.proxmox.com Git - pve-manager.git/commitdiff
move lxc mountpoint edit from ResourceEdit.js to MPEdit.js
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 10 Nov 2017 13:49:21 +0000 (14:49 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 14 Nov 2017 12:27:03 +0000 (13:27 +0100)
to follow qemu code

also fix the jslint errors in MountPointInputPanel and MountPointEdit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/Makefile
www/manager6/lxc/MPEdit.js [new file with mode: 0644]
www/manager6/lxc/ResourceEdit.js

index 52d2f117a87765b5f20cd2bd92a0f4ac956ac195..6f5b72ca4a009f7f281c1e5f6a6d55dbf99c4ac6 100644 (file)
@@ -175,6 +175,7 @@ JSSRC=                                                      \
        lxc/Snapshot.js                                 \
        lxc/ResourceEdit.js                             \
        lxc/MPResize.js                                 \
+       lxc/MPEdit.js                                   \
        pool/StatusView.js                              \
        pool/Summary.js                                 \
        pool/Config.js                                  \
diff --git a/www/manager6/lxc/MPEdit.js b/www/manager6/lxc/MPEdit.js
new file mode 100644 (file)
index 0000000..6c4f9ff
--- /dev/null
@@ -0,0 +1,405 @@
+Ext.define('PVE.lxc.MountPointInputPanel', {
+    extend: 'PVE.panel.InputPanel',
+    alias: 'widget.pveLxcMountPointInputPanel',
+
+    insideWizard: false,
+
+    onlineHelp: 'pct_container_storage',
+
+    unused: false, // add unused disk imaged
+
+    unprivileged: false,
+
+    vmconfig: {}, // used to select unused disks
+
+    onGetValues: function(values) {
+       var me = this;
+
+       var confid = me.confid || values.mpsel;
+
+       if (me.unused) {
+           me.mpdata.file = me.vmconfig[values.unusedId];
+           confid = values.mpsel;
+       } else if (me.isCreate) {
+           me.mpdata.file = values.storage + ':' + values.disksize;
+       }
+
+       if (confid !== 'rootfs') {
+           me.mpdata.mp = values.mp;
+       }
+
+       if (values.ro) {
+           me.mpdata.ro = 1;
+       } else {
+           delete me.mpdata.ro;
+       }
+
+       if (values.quota) {
+           me.mpdata.quota = 1;
+       } else {
+           delete me.mpdata.quota;
+       }
+
+       if (values.acl === 'Default') {
+           delete me.mpdata.acl;
+       } else {
+           me.mpdata.acl = values.acl;
+       }
+
+       if (values.backup) {
+           me.mpdata.backup = 1;
+       } else {
+           delete me.mpdata.backup;
+       }
+
+       if (values.noreplicate) {
+           me.mpdata.replicate = '0';
+       }
+       delete me.mpdata.noreplicate;
+
+       var res = {};
+       res[confid] = PVE.Parser.printLxcMountPoint(me.mpdata);
+       return res;
+    },
+
+    setMountPoint: function(mp) {
+       var me = this;
+
+       me.mpdata = mp;
+       if (!Ext.isDefined(me.mpdata.acl)) {
+           me.mpdata.acl = 'Default';
+       }
+
+       if (mp.type === 'bind') {
+           me.quota.setDisabled(true);
+           me.quota.setValue(false);
+           me.acl.setDisabled(true);
+           me.acl.setValue('Default');
+           me.hdstoragesel.setDisabled(true);
+           if (me.confid !== 'rootfs') {
+               me.backup.setDisabled(true);
+           }
+       }
+
+       if (mp.replicate) { // check box reverses the config option
+           mp.noreplicate = !PVE.Parser.parseBoolean(mp.replicate, 1);
+           delete mp.replicate;
+       }
+
+       me.setValues(mp);
+    },
+
+    setVMConfig: function(vmconfig) {
+       var me = this;
+
+       me.vmconfig = vmconfig;
+
+       if (me.mpsel) {
+           var i;
+           for (i = 0; i != 8; ++i) {
+               var name = "mp" + i.toString();
+               if (!Ext.isDefined(vmconfig[name])) {
+                   me.mpsel.setValue(name);
+                   break;
+               }
+           }
+       }
+
+       if (me.unusedDisks) {
+           var disklist = [];
+           Ext.Object.each(vmconfig, function(key, value) {
+               if (key.match(/^unused\d+$/)) {
+                   disklist.push([key, value]);
+               }
+           });
+           me.unusedDisks.store.loadData(disklist);
+           me.unusedDisks.setValue(me.confid);
+       }
+    },
+
+    setNodename: function(nodename) {
+       var me = this;
+       me.hdstoragesel.setNodename(nodename);
+       me.hdfilesel.setStorage(undefined, nodename);
+    },
+
+    initComponent : function() {
+       var me = this;
+
+       var isroot = me.confid === 'rootfs';
+
+       me.mpdata = {};
+
+       me.column1 = [];
+
+       if (!me.confid || me.unused) {
+           var names = [];
+           var i;
+           for (i = 0; i != 8; ++i) {
+               var name = 'mp' + i.toString();
+               names.push([name, name]);
+           }
+           me.mpsel = Ext.create('PVE.form.KVComboBox', {
+               name: 'mpsel',
+               fieldLabel: gettext('Mount Point'),
+               matchFieldWidth: false,
+               allowBlank: false,
+               comboItems: names,
+               validator: function(value) {
+                   if (!me.rendered) {
+                       return;
+                   }
+                   if (Ext.isDefined(me.vmconfig[value])) {
+                       return "Mount point is already in use.";
+                   }
+                   /*jslint confusion: true*/
+                   /* returns a string above */
+                   return true;
+               },
+               listeners: {
+                   change: function(field, value) {
+                       field.validate();
+                   }
+               }
+           });
+           me.column1.push(me.mpsel);
+       }
+
+       // we always have this around, but only visible when creating a new mp
+       // since this handles per-filesystem capabilities
+       me.hdstoragesel = Ext.create('PVE.form.StorageSelector', {
+           name: 'storage',
+           nodename: me.nodename,
+           fieldLabel: gettext('Storage'),
+           storageContent: 'rootdir',
+           allowBlank: false,
+           autoSelect: true,
+           hidden: me.unused || !me.isCreate,
+           listeners: {
+               change: function(f, value) {
+                   if (!value) { // initial store loading fires an unwanted 'change'
+                       return;
+                   }
+                   if (me.mpdata.type === 'bind') {
+                       me.quota.setDisabled(true);
+                       me.quota.setValue(false);
+                       me.acl.setDisabled(true);
+                       me.acl.setValue('Default');
+                       if (!isroot) {
+                           me.backup.setDisabled(true);
+                       }
+                       return;
+                   }
+                   var rec = f.store.getById(value);
+                   if (rec &&
+                       (rec.data.type === 'zfs' ||
+                       rec.data.type === 'zfspool')) {
+                       me.quota.setDisabled(true);
+                       me.quota.setValue(false);
+                   } else {
+                       me.quota.setDisabled(me.unprivileged);
+                   }
+                   if (me.unused || !me.isCreate) {
+                       return;
+                   }
+                   if (rec.data.type === 'iscsi') {
+                       me.hdfilesel.setStorage(value);
+                       me.hdfilesel.setDisabled(false);
+                       me.hdfilesel.setVisible(true);
+                       me.hdsizesel.setDisabled(true);
+                       me.hdsizesel.setVisible(false);
+                   } else if (rec.data.type === 'lvm' ||
+                              rec.data.type === 'lvmthin' ||
+                              rec.data.type === 'rbd' ||
+                              rec.data.type === 'sheepdog' ||
+                              rec.data.type === 'zfs' ||
+                              rec.data.type === 'zfspool') {
+                       me.hdfilesel.setDisabled(true);
+                       me.hdfilesel.setVisible(false);
+                       me.hdsizesel.setDisabled(false);
+                       me.hdsizesel.setVisible(true);
+                   } else {
+                       me.hdfilesel.setDisabled(true);
+                       me.hdfilesel.setVisible(false);
+                       me.hdsizesel.setDisabled(false);
+                       me.hdsizesel.setVisible(true);
+                   }
+               }
+           }
+       });
+       me.column1.push(me.hdstoragesel);
+
+       if (me.unused) {
+           me.unusedDisks = Ext.create('PVE.form.KVComboBox', {
+               name: 'unusedId',
+               fieldLabel: gettext('Disk image'),
+               matchFieldWidth: false,
+               listConfig: {
+                   width: 350
+               },
+               data: [],
+               allowBlank: false,
+               listeners: {
+                   change: function(f, value) {
+                       // make sure our buttons are enabled/disabled when switching
+                       // between images on different storages:
+                       var disk = me.vmconfig[value];
+                       var storage = disk.split(':')[0];
+                       me.hdstoragesel.setValue(storage);
+                   }
+               }
+           });
+           me.column1.push(me.unusedDisks);
+       } else if (me.isCreate) {
+           me.hdfilesel = Ext.create('PVE.form.FileSelector', {
+               name: 'file',
+               nodename: me.nodename,
+               storageContent: 'images',
+               fieldLabel: gettext('Disk image'),
+               disabled: true,
+               hidden: true,
+               allowBlank: false
+           });
+           me.hdsizesel = Ext.createWidget('numberfield', {
+               name: 'disksize',
+               minValue: 0.1,
+               maxValue: 128*1024,
+               decimalPrecision: 3,
+               value: '8',
+               step: 1,
+               fieldLabel: gettext('Disk size') + ' (GB)',
+               allowBlank: false
+           });
+           me.column1.push(me.hdfilesel);
+           me.column1.push(me.hdsizesel);
+       } else {
+           me.column1.push({
+               xtype: 'textfield',
+               disabled: true,
+               submitValue: false,
+               fieldLabel: gettext('Disk image'),
+               name: 'file'
+           });
+       }
+
+       me.acl = Ext.createWidget('pveKVComboBox', {
+           name: 'acl',
+           fieldLabel: gettext('ACLs'),
+           comboItems: [['Default', 'Default'], ['1', 'On'], ['0', 'Off']],
+           value: 'Default',
+           allowBlank: true
+       });
+
+       me.quota = Ext.createWidget('pvecheckbox', {
+           name: 'quota',
+           defaultValue: 0,
+           disabled: me.unprivileged,
+           fieldLabel: gettext('Enable quota')
+       });
+
+       me.column2 = [
+           me.acl,
+           me.quota
+       ];
+
+       if (!isroot) {
+           me.column2.splice(1, 0, {
+               xtype: 'pvecheckbox',
+               name: 'ro',
+               defaultValue: 0,
+               fieldLabel: gettext('Read-only'),
+               hidden: me.insideWizard
+           });
+
+           me.backup = Ext.createWidget('pvecheckbox',{
+               xtype: 'pvecheckbox',
+               name: 'backup',
+               fieldLabel: gettext('Backup')
+           });
+           if (me.mpdata.type !== 'bind') {
+               me.column2.push(me.backup);
+           }
+           me.column2.push({
+               xtype: 'pvecheckbox',
+               name: 'noreplicate',
+               fieldLabel: gettext('Skip replication')
+           });
+           me.column2.push({
+               xtype: 'textfield',
+               name: 'mp',
+               value: '',
+               emptyText:  gettext('/some/path'),
+               allowBlank: false,
+               hidden: isroot,
+               fieldLabel: gettext('Path')
+           });
+       }
+
+       me.callParent();
+    }
+});
+
+Ext.define('PVE.lxc.MountPointEdit', {
+    extend: 'PVE.window.Edit',
+
+    unprivileged: false,
+
+    initComponent : function() {
+       var me = this;
+
+       var nodename = me.pveSelNode.data.node;
+       if (!nodename) {
+           throw "no node name specified";
+       }
+
+       var unused = me.confid && me.confid.match(/^unused\d+$/);
+
+       me.isCreate = me.confid ? unused : true;
+
+       var ipanel = Ext.create('PVE.lxc.MountPointInputPanel', {
+           confid: me.confid,
+           nodename: nodename,
+           unused: unused,
+           unprivileged: me.unprivileged,
+           isCreate: me.isCreate
+       });
+
+       var subject;
+       if (unused) {
+           subject = gettext('Unused Disk');
+       } else if (me.isCreate) {
+           subject = gettext('Mount Point');
+       } else {
+           subject = gettext('Mount Point') + ' (' + me.confid + ')';
+       }
+
+       Ext.apply(me, {
+           subject: subject,
+           items: ipanel
+       });
+
+       me.callParent();
+
+       me.load({
+           success: function(response, options) {
+               ipanel.setVMConfig(response.result.data);
+               if (me.confid) {
+                   /*jslint confusion: true*/
+                   /*data is defined as array above*/
+                   var value = response.result.data[me.confid];
+                   /*jslint confusion: false*/
+                   var mp = PVE.Parser.parseLxcMountPoint(value);
+
+                   if (!mp) {
+                       Ext.Msg.alert(gettext('Error'), 'Unable to parse mount point options');
+                       me.close();
+                       return;
+                   }
+
+                   ipanel.setMountPoint(mp);
+                   me.isValid(); // trigger validation
+               }
+           }
+       });
+    }
+});
index 9770de8d686822e40e24b1c62662a1e82ea86bed..6bd35e8ab224ad277f624cde54293247b03f691a 100644 (file)
@@ -36,68 +36,6 @@ Ext.define('PVE.lxc.CPUEdit', {
     }
 });
 
-Ext.define('PVE.lxc.MountPointEdit', {
-    extend: 'PVE.window.Edit',
-
-    unprivileged: false,
-
-    initComponent : function() {
-       var me = this;
-
-       var nodename = me.pveSelNode.data.node;
-       if (!nodename) {
-           throw "no node name specified";
-       }
-
-       var unused = me.confid && me.confid.match(/^unused\d+$/);
-
-       me.isCreate = me.confid ? unused : true;
-
-       var ipanel = Ext.create('PVE.lxc.MountPointInputPanel', {
-           confid: me.confid,
-           nodename: nodename,
-           unused: unused,
-           unprivileged: me.unprivileged,
-           isCreate: me.isCreate
-       });
-
-       var subject;
-       if (unused) {
-           subject = gettext('Unused Disk');
-       } else if (me.isCreate) {
-           subject = gettext('Mount Point');
-       } else {
-           subject = gettext('Mount Point') + ' (' + me.confid + ')';
-       }
-
-       Ext.apply(me, {
-           subject: subject,
-           items: ipanel
-       });
-
-       me.callParent();
-
-       me.load({
-           success: function(response, options) {
-               ipanel.setVMConfig(response.result.data);
-               if (me.confid) {
-                   var value = response.result.data[me.confid];
-                   var mp = PVE.Parser.parseLxcMountPoint(value);
-
-                   if (!mp) {
-                       Ext.Msg.alert(gettext('Error'), 'Unable to parse mount point options');
-                       me.close();
-                       return;
-                   }
-
-                   ipanel.setMountPoint(mp);
-                   me.isValid(); // trigger validation
-               }
-           }
-       });
-    }
-});
-
 Ext.define('PVE.lxc.CPUInputPanel', {
     extend: 'PVE.panel.InputPanel',
     alias: 'widget.pveLxcCPUInputPanel',
@@ -213,342 +151,3 @@ Ext.define('PVE.lxc.MemoryInputPanel', {
        me.callParent();
     }
 });
-
-Ext.define('PVE.lxc.MountPointInputPanel', {
-    extend: 'PVE.panel.InputPanel',
-    alias: 'widget.pveLxcMountPointInputPanel',
-
-    insideWizard: false,
-
-    onlineHelp: 'pct_container_storage',
-
-    unused: false, // ADD usused disk imaged
-
-    unprivileged: false,
-
-    vmconfig: {}, // used to select usused disks
-
-    onGetValues: function(values) {
-       var me = this;
-
-       var confid = me.confid || values.mpsel;
-
-       if (me.unused) {
-           me.mpdata.file = me.vmconfig[values.unusedId];
-           confid = values.mpsel;
-       } else if (me.isCreate) {
-           me.mpdata.file = values.storage + ':' + values.disksize;
-       }
-
-       if (confid !== 'rootfs') {
-           me.mpdata.mp = values.mp;
-       }
-
-       if (values.ro) {
-           me.mpdata.ro = 1;
-       } else {
-           delete me.mpdata.ro;
-       }
-
-       if (values.quota) {
-           me.mpdata.quota = 1;
-       } else {
-           delete me.mpdata.quota;
-       }
-
-       if (values.acl === 'Default') {
-           delete me.mpdata.acl;
-       } else {
-           me.mpdata.acl = values.acl;
-       }
-
-       if (values.backup) {
-           me.mpdata.backup = 1;
-       } else {
-           delete me.mpdata.backup;
-       }
-
-       if (values.noreplicate) {
-           me.mpdata.replicate = '0';
-       }
-       delete me.mpdata.noreplicate;
-
-       var res = {};
-       res[confid] = PVE.Parser.printLxcMountPoint(me.mpdata);
-       return res;
-    },
-
-    setMountPoint: function(mp) {
-       var me = this;
-
-       me.mpdata = mp;
-       if (!Ext.isDefined(me.mpdata.acl)) {
-           me.mpdata.acl = 'Default';
-       }
-
-       if (mp.type === 'bind') {
-           me.quota.setDisabled(true);
-           me.quota.setValue(false);
-           me.acl.setDisabled(true);
-           me.acl.setValue('Default');
-           me.hdstoragesel.setDisabled(true);
-           if (me.confid !== 'rootfs') {
-               me.backup.setDisabled(true);
-           }
-       }
-
-       if (mp.replicate) { // check box reverses the config option
-           mp.noreplicate = !PVE.Parser.parseBoolean(mp.replicate, 1);
-           delete mp.replicate;
-       }
-
-       me.setValues(mp);
-    },
-
-    setVMConfig: function(vmconfig) {
-       var me = this;
-
-       me.vmconfig = vmconfig;
-
-       if (me.mpsel) {
-           var i;
-           for (i = 0; i != 8; ++i) {
-               var name = "mp" + i;
-               if (!Ext.isDefined(vmconfig[name])) {
-                   me.mpsel.setValue(name);
-                   break;
-               }
-           }
-       }
-
-       if (me.unusedDisks) {
-           var disklist = [];
-           Ext.Object.each(vmconfig, function(key, value) {
-               if (key.match(/^unused\d+$/)) {
-                   disklist.push([key, value]);
-               }
-           });
-           me.unusedDisks.store.loadData(disklist);
-           me.unusedDisks.setValue(me.confid);
-       }
-    },
-
-    setNodename: function(nodename) {
-       var me = this;
-       me.hdstoragesel.setNodename(nodename);
-       me.hdfilesel.setStorage(undefined, nodename);
-    },
-
-    initComponent : function() {
-       var me = this;
-
-       var isroot = me.confid === 'rootfs';
-
-       me.mpdata = {};
-
-       me.column1 = [];
-
-       if (!me.confid || me.unused) {
-           var names = [];
-           var i;
-           for (i = 0; i != 8; ++i) {
-               var name = 'mp' + i;
-               names.push([name, name]);
-           }
-           me.mpsel = Ext.create('PVE.form.KVComboBox', {
-               name: 'mpsel',
-               fieldLabel: gettext('Mount Point'),
-               matchFieldWidth: false,
-               allowBlank: false,
-               comboItems: names,
-               validator: function(value) {
-                   if (!me.rendered) {
-                       return;
-                   }
-                   if (Ext.isDefined(me.vmconfig[value])) {
-                       return "Mount point is already in use.";
-                   }
-                   return true;
-               },
-               listeners: {
-                   change: function(field, value) {
-                       field.validate();
-                   }
-               }
-           });
-           me.column1.push(me.mpsel);
-       }
-
-       // we always have this around, but only visible when creating a new mp
-       // since this handles per-filesystem capabilities
-       me.hdstoragesel = Ext.create('PVE.form.StorageSelector', {
-           name: 'storage',
-           nodename: me.nodename,
-           fieldLabel: gettext('Storage'),
-           storageContent: 'rootdir',
-           allowBlank: false,
-           autoSelect: true,
-           hidden: me.unused || !me.isCreate,
-           listeners: {
-               change: function(f, value) {
-                   if (!value) { // initial store loading fires an unwanted 'change'
-                       return;
-                   }
-                   if (me.mpdata.type === 'bind') {
-                       me.quota.setDisabled(true);
-                       me.quota.setValue(false);
-                       me.acl.setDisabled(true);
-                       me.acl.setValue('Default');
-                       if (!isroot) {
-                           me.backup.setDisabled(true);
-                       }
-                       return;
-                   }
-                   var rec = f.store.getById(value);
-                   if (rec &&
-                       (rec.data.type === 'zfs' ||
-                       rec.data.type === 'zfspool')) {
-                       me.quota.setDisabled(true);
-                       me.quota.setValue(false);
-                   } else {
-                       me.quota.setDisabled(me.unprivileged);
-                   }
-                   if (me.unused || !me.isCreate) {
-                       return;
-                   }
-                   if (rec.data.type === 'iscsi') {
-                       me.hdfilesel.setStorage(value);
-                       me.hdfilesel.setDisabled(false);
-                       me.hdfilesel.setVisible(true);
-                       me.hdsizesel.setDisabled(true);
-                       me.hdsizesel.setVisible(false);
-                   } else if (rec.data.type === 'lvm' ||
-                              rec.data.type === 'lvmthin' ||
-                              rec.data.type === 'rbd' ||
-                              rec.data.type === 'sheepdog' ||
-                              rec.data.type === 'zfs' ||
-                              rec.data.type === 'zfspool') {
-                       me.hdfilesel.setDisabled(true);
-                       me.hdfilesel.setVisible(false);
-                       me.hdsizesel.setDisabled(false);
-                       me.hdsizesel.setVisible(true);
-                   } else {
-                       me.hdfilesel.setDisabled(true);
-                       me.hdfilesel.setVisible(false);
-                       me.hdsizesel.setDisabled(false);
-                       me.hdsizesel.setVisible(true);
-                   }
-               }
-           }
-       });
-       me.column1.push(me.hdstoragesel);
-
-       if (me.unused) {
-           me.unusedDisks = Ext.create('PVE.form.KVComboBox', {
-               name: 'unusedId',
-               fieldLabel: gettext('Disk image'),
-               matchFieldWidth: false,
-               listConfig: {
-                   width: 350
-               },
-               data: [],
-               allowBlank: false,
-               listeners: {
-                   change: function(f, value) {
-                       // make sure our buttons are enabled/disabled when switching
-                       // between images on different storages:
-                       var disk = me.vmconfig[value];
-                       var storage = disk.split(':')[0];
-                       me.hdstoragesel.setValue(storage);
-                   }
-               }
-           });
-           me.column1.push(me.unusedDisks);
-       } else if (me.isCreate) {
-           me.hdfilesel = Ext.create('PVE.form.FileSelector', {
-               name: 'file',
-               nodename: me.nodename,
-               storageContent: 'images',
-               fieldLabel: gettext('Disk image'),
-               disabled: true,
-               hidden: true,
-               allowBlank: false
-           });
-           me.hdsizesel = Ext.createWidget('numberfield', {
-               name: 'disksize',
-               minValue: 0.1,
-               maxValue: 128*1024,
-               decimalPrecision: 3,
-               value: '8',
-               step: 1,
-               fieldLabel: gettext('Disk size') + ' (GB)',
-               allowBlank: false
-           });
-           me.column1.push(me.hdfilesel);
-           me.column1.push(me.hdsizesel);
-       } else {
-           me.column1.push({
-               xtype: 'textfield',
-               disabled: true,
-               submitValue: false,
-               fieldLabel: gettext('Disk image'),
-               name: 'file'
-           });
-       }
-
-       me.acl = Ext.createWidget('pveKVComboBox', {
-           name: 'acl',
-           fieldLabel: gettext('ACLs'),
-           comboItems: [['Default', 'Default'], ['1', 'On'], ['0', 'Off']],
-           value: 'Default',
-           allowBlank: true
-       });
-
-       me.quota = Ext.createWidget('pvecheckbox', {
-           name: 'quota',
-           defaultValue: 0,
-           disabled: me.unprivileged,
-           fieldLabel: gettext('Enable quota')
-       });
-
-       me.column2 = [
-           me.acl,
-           me.quota
-       ];
-
-       if (!isroot) {
-           me.column2.splice(1, 0, {
-               xtype: 'pvecheckbox',
-               name: 'ro',
-               defaultValue: 0,
-               fieldLabel: gettext('Read-only'),
-               hidden: me.insideWizard
-           });
-
-           me.backup = Ext.createWidget('pvecheckbox',{
-               xtype: 'pvecheckbox',
-               name: 'backup',
-               fieldLabel: gettext('Backup')
-           });
-           if (me.mpdata.type !== 'bind') {
-               me.column2.push(me.backup);
-           }
-           me.column2.push({
-               xtype: 'pvecheckbox',
-               name: 'noreplicate',
-               fieldLabel: gettext('Skip replication')
-           });
-           me.column2.push({
-               xtype: 'textfield',
-               name: 'mp',
-               value: '',
-               emptyText:  gettext('/some/path'),
-               allowBlank: false,
-               hidden: isroot,
-               fieldLabel: gettext('Path')
-           });
-       }
-
-       me.callParent();
-    }
-});