by simply passing the sync job config to the 'sync' api endpoint, like
we do for vzdump jobs

Signed-off-by: Dominik Csapak <d.csa...@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



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to