]>
git.proxmox.com Git - pmg-gui.git/blob - js/BackupRestore.js
2 Ext
.define('pmg-backup-list', {
3 extend
: 'Ext.data.Model',
6 { type
: 'integer', name
: 'size' },
7 { type
: 'date', dateFormat
: 'timestamp', name
: 'timestamp' }
12 url
: "/api2/json/nodes/" + Proxmox
.NodeName
+ "/backup"
14 idProperty
: 'filename'
17 Ext
.define('PMG.BackupRestore', {
18 extend
: 'Ext.grid.GridPanel',
19 xtype
: 'pmgBackupRestore',
21 title
: gettext('Backup') + '/' + gettext('Restore'),
24 xclass
: 'Ext.app.ViewController',
26 createBackup: function() {
27 var me
= this.getView();
28 Proxmox
.Utils
.API2Request({
29 url
: "/nodes/" + Proxmox
.NodeName
+ "/backup",
32 failure: function (response
, opts
) {
33 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
35 success: function(response
, opts
) {
36 var upid
= response
.result
.data
;
38 var win
= Ext
.create('Proxmox.window.TaskViewer', {
42 me
.mon(win
, 'close', function() { me
.store
.load(); });
47 onRestore: function() {
48 var me
= this.getView();
49 var rec
= me
.getSelection()[0];
51 if (!(rec
&& rec
.data
&& rec
.data
.filename
)) return;
53 Proxmox
.Utils
.API2Request({
54 url
: "/nodes/" + Proxmox
.NodeName
+ "/backup/" + encodeURIComponent(rec
.data
.filename
),
57 failure: function (response
, opts
) {
58 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
60 success: function(response
, opts
) {
61 var upid
= response
.result
.data
;
63 var win
= Ext
.create('Proxmox.window.TaskViewer', {
71 onAfterRemove: function(btn
, res
) {
72 var me
= this.getView();
79 text
: gettext('Backup'),
80 handler
: 'createBackup'
83 xtype
: 'proxmoxButton',
84 text
: gettext('Restore'),
89 xtype
: 'proxmoxStdRemoveButton',
90 baseurl
: '/nodes/' + Proxmox
.NodeName
+ '/backup',
91 reference
: 'removeBtn',
92 callback
: 'onAfterRemove',
99 model
: 'pmg-backup-list',
102 property
: 'timestamp',
110 header
: gettext('Filename'),
113 renderer
: Ext
.htmlEncode
,
114 dataIndex
: 'filename'
118 header
: gettext('Time'),
122 dataIndex
: 'timestamp'
125 header
: gettext('Size'),
128 renderer
: Proxmox
.Utils
.format_size
,
132 header
: gettext('Download'),
133 renderer: function(filename
) {
134 return "<a class='download' href='" +
135 "/api2/json/nodes/" + Proxmox
.NodeName
+ "/backup/" + encodeURIComponent(filename
) +
136 "'><i class='fa fa-fw fa-download'</i></a>";
138 dataIndex
: 'filename'