[pve-devel] [PATCH manager v2 4/4] ui: realm sync: add 'run now' button
Dominik Csapak
d.csapak at proxmox.com
Tue Jun 13 10:44:01 CEST 2023
by simply passing the sync job config to the 'sync' api endpoint, like
we do for vzdump jobs
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
new in v2
www/manager6/dc/RealmSyncJob.js | 41 +++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/www/manager6/dc/RealmSyncJob.js b/www/manager6/dc/RealmSyncJob.js
index 9541d732..bb2e8d2f 100644
--- a/www/manager6/dc/RealmSyncJob.js
+++ b/www/manager6/dc/RealmSyncJob.js
@@ -35,6 +35,41 @@ Ext.define('PVE.dc.RealmSyncJobView', {
});
},
+ runNow: function() {
+ let me = this;
+ let view = me.getView();
+ let selection = view.getSelection();
+ if (!selection || selection.length < 1) {
+ return;
+ }
+
+ let params = selection[0].data;
+ let realm = params.realm;
+
+ let propertiesToDelete = ['comment', 'realm', 'id', 'type', 'schedule', 'last-run', 'next-run', 'enabled'];
+ for (const prop of propertiesToDelete) {
+ delete params[prop];
+ }
+
+ Proxmox.Utils.API2Request({
+ url: `/access/domains/${realm}/sync`,
+ params,
+ waitMsgTarget: view,
+ method: 'POST',
+ success: function(response, options) {
+ let upid = response.result.data;
+ let win = Ext.create('Proxmox.window.TaskProgress', {
+ upid: upid,
+ taskDone: () => { me.reload(); },
+ });
+ win.show();
+ },
+ failure: function(response, opts) {
+ Ext.Msg.alert(gettext('Error'), response.htmlStatus);
+ },
+ });
+ },
+
reload: function() {
this.getView().getStore().load();
},
@@ -110,6 +145,12 @@ Ext.define('PVE.dc.RealmSyncJobView', {
baseurl: `/api2/extjs/cluster/jobs/realm-sync`,
callback: 'reload',
},
+ {
+ xtype: 'proxmoxButton',
+ handler: 'runNow',
+ disabled: true,
+ text: gettext('Run Now'),
+ },
],
listeners: {
--
2.30.2
More information about the pve-devel
mailing list