]> git.proxmox.com Git - pve-manager.git/blame_incremental - www/manager6/window/Backup.js
ui: backup detail: rename button to "Job Detail"
[pve-manager.git] / www / manager6 / window / Backup.js
... / ...
CommitLineData
1Ext.define('PVE.window.Backup', {
2 extend: 'Ext.window.Window',
3
4 resizable: false,
5
6 initComponent : function() {
7 var me = this;
8
9 if (!me.nodename) {
10 throw "no node name specified";
11 }
12
13 if (!me.vmid) {
14 throw "no VM ID specified";
15 }
16
17 if (!me.vmtype) {
18 throw "no VM type specified";
19 }
20
21 var storagesel = Ext.create('PVE.form.StorageSelector', {
22 nodename: me.nodename,
23 name: 'storage',
24 value: me.storage,
25 fieldLabel: gettext('Storage'),
26 storageContent: 'backup',
27 allowBlank: false
28 });
29
30 me.formPanel = Ext.create('Ext.form.Panel', {
31 bodyPadding: 10,
32 border: false,
33 fieldDefaults: {
34 labelWidth: 100,
35 anchor: '100%'
36 },
37 items: [
38 storagesel,
39 {
40 xtype: 'pveBackupModeSelector',
41 fieldLabel: gettext('Mode'),
42 value: 'snapshot',
43 name: 'mode'
44 },
45 {
46 xtype: 'pveCompressionSelector',
47 name: 'compress',
48 value: 'zstd',
49 fieldLabel: gettext('Compression')
50 },
51 {
52 xtype: 'textfield',
53 fieldLabel: gettext('Send email to'),
54 name: 'mailto',
55 emptyText: Proxmox.Utils.noneText
56 }
57 ]
58 });
59
60 var form = me.formPanel.getForm();
61
62 var submitBtn = Ext.create('Ext.Button', {
63 text: gettext('Backup'),
64 handler: function(){
65 var storage = storagesel.getValue();
66 var values = form.getValues();
67 var params = {
68 storage: storage,
69 vmid: me.vmid,
70 mode: values.mode,
71 remove: 0
72 };
73
74 if ( values.mailto ) {
75 params.mailto = values.mailto;
76 }
77
78 if (values.compress) {
79 params.compress = values.compress;
80 }
81
82 Proxmox.Utils.API2Request({
83 url: '/nodes/' + me.nodename + '/vzdump',
84 params: params,
85 method: 'POST',
86 failure: function (response, opts) {
87 Ext.Msg.alert('Error',response.htmlStatus);
88 },
89 success: function(response, options) {
90 // close later so we reload the grid
91 // after the task has completed
92 me.hide();
93
94 var upid = response.result.data;
95
96 var win = Ext.create('Proxmox.window.TaskViewer', {
97 upid: upid,
98 listeners: {
99 close: function() {
100 me.close();
101 }
102 }
103 });
104 win.show();
105 }
106 });
107 }
108 });
109
110 var helpBtn = Ext.create('Proxmox.button.Help', {
111 onlineHelp: 'chapter_vzdump',
112 listenToGlobalEvent: false,
113 hidden: false
114 });
115
116 var title = gettext('Backup') + " " +
117 ((me.vmtype === 'lxc') ? "CT" : "VM") +
118 " " + me.vmid;
119
120 Ext.apply(me, {
121 title: title,
122 width: 350,
123 modal: true,
124 layout: 'auto',
125 border: false,
126 items: [ me.formPanel ],
127 buttons: [ helpBtn, '->', submitBtn ]
128 });
129
130 me.callParent();
131 }
132});