[pbs-devel] [PATCH v5 proxmox-backup 23/31] ui: sync: pass sync-direction to allow removing push jobs

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Oct 30 14:33:59 CET 2024


> Christian Ebner <c.ebner at proxmox.com> hat am 30.10.2024 14:23 CET geschrieben:
> 
>  
> On 10/25/24 12:42, Dominik Csapak wrote:
> > a bit high level, and sorry if i'm late to the party
> > (maybe that was already asked in a previous iteration)
> > 
> > why does the api call require the type to be given for it to be identified?
> > 
> > AFAICS the jobs are in the same sectionconfig which share an id 
> > namespace anyway?
> 
> The `SectionConfigData` one gets from `sync::config()` calls requires 
> both, the `id` and the `type` for entry lookups. I could not find a way 
> to get the config entry just by `id`. So keeping this as is, unless I am 
> overseeing a way to achieve this without the type?

there is convert_to_array, but you can also iterate over the sections yourself (they are pub after all, it's just a HashMap inside..)

> 
> > if the api call would get the type automatically from the config, the 
> > parameter
> > and this patch would vanish completely?
> > 
> > On 10/18/24 10:42, Christian Ebner wrote:
> >> Without the `sync-direction` parameter set, the job will not be
> >> found in the config, because the `sync` config type is used instead
> >> of the correct `sync-push` for sync jobs in push direction.
> >>
> >> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> >> ---
> >> changes since version 4:
> >> - no changes
> >>
> >> changes since version 3:
> >> - no changes
> >>
> >>   www/config/SyncView.js | 22 +++++++++++++++++++++-
> >>   1 file changed, 21 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/www/config/SyncView.js b/www/config/SyncView.js
> >> index 68a147615..981b9b251 100644
> >> --- a/www/config/SyncView.js
> >> +++ b/www/config/SyncView.js
> >> @@ -104,6 +104,26 @@ Ext.define('PBS.config.SyncJobView', {
> >>           });
> >>       },
> >> +    removeSyncJob: function(btn, event, rec) {
> >> +        let me = this;
> >> +        let view = me.getView();
> >> +        let params = {};
> >> +        if (view.syncDirection !== undefined) {
> >> +        params["sync-direction"] = view.syncDirection;
> >> +        }
> >> +        Proxmox.Utils.API2Request({
> >> +        url: '/config/sync/' + rec.getId(),
> >> +        method: 'DELETE',
> >> +        params: params,
> >> +        callback: function(options, success, response) {
> >> +            Ext.callback(me.callback, me.scope, [options, success, 
> >> response, 0, me]);
> >> +        },
> >> +        failure: function(response, opt) {
> >> +            Ext.Msg.alert(gettext('Error'), response.htmlStatus);
> >> +        },
> >> +        });
> >> +    },
> >> +
> >>       render_optional_owner: function(value, metadata, record) {
> >>           if (!value) return '-';
> >>           return Ext.String.htmlEncode(value);
> >> @@ -161,7 +181,7 @@ Ext.define('PBS.config.SyncJobView', {
> >>       },
> >>       {
> >>           xtype: 'proxmoxStdRemoveButton',
> >> -        baseurl: '/config/sync/',
> >> +        handler: 'removeSyncJob',
> >>           confirmMsg: gettext('Remove entry?'),
> >>           callback: 'reload',
> >>       },
> > 
> > 
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel




More information about the pbs-devel mailing list