]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/Backup.js
f50e4f30a8f9ce0ffb24c9251690b6b44a3a76ec
1 Ext
.define('PVE.window.Backup', {
2 extend
: 'Ext.window.Window',
6 initComponent : function() {
10 throw "no node name specified";
14 throw "no VM ID specified";
18 throw "no VM type specified";
21 let compressionSelector
= Ext
.create('PVE.form.CompressionSelector', {
24 fieldLabel
: gettext('Compression'),
27 var storagesel
= Ext
.create('PVE.form.StorageSelector', {
28 nodename
: me
.nodename
,
30 fieldLabel
: gettext('Storage'),
31 storageContent
: 'backup',
34 change: function(f
, v
) {
35 let store
= f
.getStore();
36 let rec
= store
.findRecord('storage', v
, 0, false, true, true);
38 if (rec
&& rec
.data
&& rec
.data
.type
=== 'pbs') {
39 compressionSelector
.setValue('zstd');
40 compressionSelector
.setDisabled(true);
41 } else if (!compressionSelector
.getEditable()) {
42 compressionSelector
.setDisabled(false);
47 storagesel
.setValue(me
.storage
);
49 me
.formPanel
= Ext
.create('Ext.form.Panel', {
59 xtype
: 'pveBackupModeSelector',
60 fieldLabel
: gettext('Mode'),
67 fieldLabel
: gettext('Send email to'),
69 emptyText
: Proxmox
.Utils
.noneText
74 var form
= me
.formPanel
.getForm();
76 var submitBtn
= Ext
.create('Ext.Button', {
77 text
: gettext('Backup'),
79 var storage
= storagesel
.getValue();
80 var values
= form
.getValues();
88 if ( values
.mailto
) {
89 params
.mailto
= values
.mailto
;
92 if (values
.compress
) {
93 params
.compress
= values
.compress
;
96 Proxmox
.Utils
.API2Request({
97 url
: '/nodes/' + me
.nodename
+ '/vzdump',
100 failure: function (response
, opts
) {
101 Ext
.Msg
.alert('Error',response
.htmlStatus
);
103 success: function(response
, options
) {
104 // close later so we reload the grid
105 // after the task has completed
108 var upid
= response
.result
.data
;
110 var win
= Ext
.create('Proxmox.window.TaskViewer', {
124 var helpBtn
= Ext
.create('Proxmox.button.Help', {
125 onlineHelp
: 'chapter_vzdump',
126 listenToGlobalEvent
: false,
130 var title
= gettext('Backup') + " " +
131 ((me
.vmtype
=== 'lxc') ? "CT" : "VM") +
140 items
: [ me
.formPanel
],
141 buttons
: [ helpBtn
, '->', submitBtn
]