]> git.proxmox.com Git - proxmox-backup.git/blob - www/Utils.js
src/api2/admin/datastore.rs: avoid slash in UPID strings
[proxmox-backup.git] / www / Utils.js
1 /*global Proxmox */
2 Ext.ns('PBS');
3
4 console.log("Starting Backup Server GUI");
5
6 Ext.define('PBS.Utils', {
7 singleton: true,
8
9 updateLoginData: function(data) {
10
11 Proxmox.Utils.setAuthData(data);
12 },
13
14 dataStorePrefix: 'DataStore-',
15
16 getDataStoreFromPath: function(path) {
17 return path.slice(PBS.Utils.dataStorePrefix.length);
18 },
19
20 isDataStorePath: function(path) {
21 return path.indexOf(PBS.Utils.dataStorePrefix) === 0;
22 },
23
24 render_datetime_utc: function(datetime) {
25 let pad = (number) => number < 10 ? '0' + number : number;
26 return datetime.getUTCFullYear() +
27 '-' + pad(datetime.getUTCMonth() + 1) +
28 '-' + pad(datetime.getUTCDate()) +
29 'T' + pad(datetime.getUTCHours()) +
30 ':' + pad(datetime.getUTCMinutes()) +
31 ':' + pad(datetime.getUTCSeconds()) +
32 'Z';
33 },
34
35 render_datastore_worker_id: function(id, what) {
36 const res = id.match(/^(\S+?)_(\S+?)_(\S+?)(_(.+))?$/);
37 if (res) {
38 let datastore = res[1], type = res[2], id = res[3];
39 if (res[4] !== undefined) {
40 let datetime = Ext.Date.parse(parseInt(res[5], 16), 'U');
41 let utctime = PBS.Utils.render_datetime_utc(datetime);
42 return `Datastore ${datastore} ${what} ${type}/${id}/${utctime}`;
43 } else {
44 return `Datastore ${datastore} ${what} ${type}/${id}`;
45 }
46 }
47 return `Datastore ${what} ${id}`;
48 },
49
50 constructor: function() {
51 var me = this;
52
53 // do whatever you want here
54 Proxmox.Utils.override_task_descriptions({
55 garbage_collection: ['Datastore', gettext('Garbage collect') ],
56 sync: ['Datastore', gettext('Remote Sync') ],
57 syncjob: [gettext('Sync Job'), gettext('Remote Sync') ],
58 prune: (type, id) => {
59 return PBS.Utils.render_datastore_worker_id(id, gettext('Prune'));
60 },
61 verify: (type, id) => {
62 return PBS.Utils.render_datastore_worker_id(id, gettext('Verify'));
63 },
64 backup: (type, id) => {
65 return PBS.Utils.render_datastore_worker_id(id, gettext('Backup'));
66 },
67 reader: (type, id) => {
68 return PBS.Utils.render_datastore_worker_id(id, gettext('Read objects'));
69 },
70 });
71 }
72 });