[pbs-devel] [PATCH proxmox-backup 1/2] fix: ui: sync job: switch rate limit based on sync direction
Christian Ebner
c.ebner at proxmox.com
Mon Mar 10 18:01:24 CET 2025
Commit 9aa213b8 ("config: sync: use same config section type `sync`
for push and pull") adapted the sync job edit so jobs in both, push
and pull can be edited using the same window. This however did not
include the switching of the direction to which the http client rate
limit is applied to.
Fix this by renaming the field to `rate-limit` and conditionally
settings the values to `rate-in` or `rate-out`.
Reported in the community forum:
https://forum.proxmox.com/threads/163414/
Fixes: 9aa213b8 ("config: sync: use same config section type `sync` for push and pull")
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
www/window/SyncJobEdit.js | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/www/window/SyncJobEdit.js b/www/window/SyncJobEdit.js
index bcd2f2fb2..f980a2efd 100644
--- a/www/window/SyncJobEdit.js
+++ b/www/window/SyncJobEdit.js
@@ -86,6 +86,13 @@ Ext.define('PBS.window.SyncJobEdit', {
} else {
values.location = 'remote';
}
+ if (values['rate-out'] && me.syncDirection === 'push') {
+ values['rate-limit'] = values['rate-out'];
+ delete values['rate-out'];
+ } else if (values['rate-in']) {
+ values['rate-limit'] = values['rate-in'];
+ delete values['rate-in'];
+ }
me.callParent([values]);
},
@@ -103,8 +110,15 @@ Ext.define('PBS.window.SyncJobEdit', {
if (!values.id && me.up('pbsSyncJobEdit').isCreate) {
values.id = 's-' + Ext.data.identifier.Uuid.Global.generate().slice(0, 13);
}
+ if (values['rate-limit'] && me.syncDirection === 'push') {
+ values['rate-out'] = values['rate-limit'];
+ } else {
+ values['rate-in'] = values['rate-limit'];
+ }
+ delete values['rate-limit'];
if (!me.isCreate) {
PBS.Utils.delete_if_default(values, 'rate-in');
+ PBS.Utils.delete_if_default(values, 'rate-out');
PBS.Utils.delete_if_default(values, 'remote');
if (typeof values.delete === 'string') {
values.delete = values.delete.split(',');
@@ -185,7 +199,7 @@ Ext.define('PBS.window.SyncJobEdit', {
},
{
xtype: 'pmxBandwidthField',
- name: 'rate-in',
+ name: 'rate-limit',
fieldLabel: gettext('Rate Limit'),
emptyText: gettext('Unlimited'),
submitAutoScaledSizeUnit: true,
@@ -221,7 +235,7 @@ Ext.define('PBS.window.SyncJobEdit', {
let me = this;
let form = me.up('pbsSyncJobEdit');
let nsField = form.down('field[name=remote-ns]');
- let rateLimitField = form.down('field[name=rate-in]');
+ let rateLimitField = form.down('field[name=rate-limit]');
let remoteField = form.down('field[name=remote]');
let storeField = form.down('field[name=remote-store]');
@@ -263,7 +277,7 @@ Ext.define('PBS.window.SyncJobEdit', {
let me = this;
let remoteStoreField = me.up('pbsSyncJobEdit').down('field[name=remote-store]');
remoteStoreField.setRemote(value);
- let rateLimitField = me.up('pbsSyncJobEdit').down('field[name=rate-in]');
+ let rateLimitField = me.up('pbsSyncJobEdit').down('field[name=rate-limit]');
rateLimitField.setDisabled(!value);
if (!value) {
rateLimitField.setValue(null);
--
2.39.5
More information about the pbs-devel
mailing list