]>
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();
76 onFactoryDefaults: function() {
77 var me
= this.getView();
81 gettext('Reset rule database to factory defaults?'),
83 if (button
!== 'yes') {
86 var url
= '/config/ruledb';
87 Proxmox
.Utils
.API2Request({
88 url
: '/config/ruledb',
91 failure: function (response
, opts
) {
92 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
102 text
: gettext('Backup'),
103 handler
: 'createBackup'
106 xtype
: 'proxmoxButton',
107 text
: gettext('Restore'),
108 handler
: 'onRestore',
112 xtype
: 'proxmoxStdRemoveButton',
113 baseurl
: '/nodes/' + Proxmox
.NodeName
+ '/backup',
114 reference
: 'removeBtn',
115 callback
: 'onAfterRemove',
119 text
: gettext('Factory Defaults'),
120 handler
: 'onFactoryDefaults'
126 model
: 'pmg-backup-list',
129 property
: 'timestamp',
137 header
: gettext('Filename'),
140 renderer: function(filename
) {
142 "/api2/json/nodes/" + Proxmox
.NodeName
+ "/backup/" + encodeURIComponent(filename
) +
143 "'>" + Ext
.htmlEncode(filename
) + "</a>";
145 dataIndex
: 'filename'
149 header
: gettext('Time'),
153 dataIndex
: 'timestamp'
156 header
: gettext('Size'),
159 renderer
: Proxmox
.Utils
.format_size
,