mirror of
git://git.proxmox.com/git/proxmox-backup.git
synced 2025-02-01 05:47:22 +03:00
19458d754e
we accidentally always tried to load an existing config, even when creating a new entry. This returned the list of all configured ones plus the digest (which gets set by the edit window). When the digest is set, the edit window will send it along, but that does not exist for the create api call, so it failed. To fix it, guard the load behind the `serverid` property, which is only set when we edit an existing entry. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
221 lines
4.2 KiB
JavaScript
221 lines
4.2 KiB
JavaScript
Ext.define('PBS.window.InfluxDbHttpEdit', {
|
|
extend: 'Proxmox.window.Edit',
|
|
mixins: ['Proxmox.Mixin.CBind'],
|
|
|
|
subject: 'InfluxDB (HTTP)',
|
|
|
|
cbindData: function() {
|
|
let me = this;
|
|
me.isCreate = !me.serverid;
|
|
me.serverid = me.serverid || "";
|
|
me.url = `/api2/extjs/config/metrics/influxdb-http/${me.serverid}`;
|
|
me.tokenEmptyText = me.isCreate ? '' : gettext('unchanged');
|
|
me.method = me.isCreate ? 'POST' : 'PUT';
|
|
if (!me.isCreate) {
|
|
me.subject = `${me.subject}: ${me.serverid}`;
|
|
}
|
|
return {};
|
|
},
|
|
|
|
items: [
|
|
{
|
|
xtype: 'inputpanel',
|
|
|
|
column1: [
|
|
{
|
|
xtype: 'pmxDisplayEditField',
|
|
name: 'name',
|
|
fieldLabel: gettext('Name'),
|
|
allowBlank: false,
|
|
cbind: {
|
|
editable: '{isCreate}',
|
|
value: '{serverid}',
|
|
},
|
|
},
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'url',
|
|
fieldLabel: gettext('URL'),
|
|
allowBlank: false,
|
|
},
|
|
],
|
|
|
|
column2: [
|
|
{
|
|
xtype: 'checkbox',
|
|
name: 'enable',
|
|
fieldLabel: gettext('Enabled'),
|
|
inputValue: 1,
|
|
uncheckedValue: 0,
|
|
checked: true,
|
|
},
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'organization',
|
|
fieldLabel: gettext('Organization'),
|
|
emptyText: 'proxmox',
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'bucket',
|
|
fieldLabel: gettext('Bucket'),
|
|
emptyText: 'proxmox',
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'token',
|
|
fieldLabel: gettext('Token'),
|
|
allowBlank: true,
|
|
deleteEmpty: false,
|
|
submitEmpty: false,
|
|
cbind: {
|
|
emptyText: '{tokenEmptyText}',
|
|
},
|
|
},
|
|
],
|
|
|
|
columnB: [
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'comment',
|
|
fieldLabel: gettext('Comment'),
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
],
|
|
|
|
advancedColumn1: [
|
|
{
|
|
xtype: 'proxmoxintegerfield',
|
|
name: 'max-body-size',
|
|
fieldLabel: gettext('Batch Size (b)'),
|
|
minValue: 1,
|
|
emptyText: '25000000',
|
|
submitEmpty: false,
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
});
|
|
|
|
Ext.define('PBS.window.InfluxDbUdpEdit', {
|
|
extend: 'Proxmox.window.Edit',
|
|
mixins: ['Proxmox.Mixin.CBind'],
|
|
|
|
subject: 'InfluxDB (UDP)',
|
|
|
|
cbindData: function() {
|
|
let me = this;
|
|
me.isCreate = !me.serverid;
|
|
me.serverid = me.serverid || "";
|
|
me.url = `/api2/extjs/config/metrics/influxdb-udp/${me.serverid}`;
|
|
me.method = me.isCreate ? 'POST' : 'PUT';
|
|
if (!me.isCreate) {
|
|
me.subject = `${me.subject}: ${me.serverid}`;
|
|
}
|
|
return {};
|
|
},
|
|
|
|
items: [
|
|
{
|
|
xtype: 'inputpanel',
|
|
|
|
onGetValues: function(values) {
|
|
values.host += `:${values.port}`;
|
|
delete values.port;
|
|
return values;
|
|
},
|
|
|
|
column1: [
|
|
{
|
|
xtype: 'pmxDisplayEditField',
|
|
name: 'name',
|
|
fieldLabel: gettext('Name'),
|
|
allowBlank: false,
|
|
cbind: {
|
|
editable: '{isCreate}',
|
|
value: '{serverid}',
|
|
},
|
|
},
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'host',
|
|
fieldLabel: gettext('Host'),
|
|
allowBlank: false,
|
|
},
|
|
],
|
|
|
|
column2: [
|
|
{
|
|
xtype: 'checkbox',
|
|
name: 'enable',
|
|
fieldLabel: gettext('Enabled'),
|
|
inputValue: 1,
|
|
uncheckedValue: 0,
|
|
checked: true,
|
|
},
|
|
{
|
|
xtype: 'proxmoxintegerfield',
|
|
name: 'port',
|
|
minValue: 1,
|
|
maxValue: 65535,
|
|
fieldLabel: gettext('Port'),
|
|
allowBlank: false,
|
|
},
|
|
],
|
|
|
|
columnB: [
|
|
{
|
|
xtype: 'proxmoxtextfield',
|
|
name: 'comment',
|
|
fieldLabel: gettext('Comment'),
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
],
|
|
|
|
advancedColumn1: [
|
|
{
|
|
xtype: 'proxmoxintegerfield',
|
|
name: 'mtu',
|
|
fieldLabel: 'MTU',
|
|
minValue: 1,
|
|
emptyText: '1500',
|
|
submitEmpty: false,
|
|
cbind: {
|
|
deleteEmpty: '{!isCreate}',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
|
|
initComponent: function() {
|
|
let me = this;
|
|
me.callParent();
|
|
|
|
if (me.serverid) {
|
|
me.load({
|
|
success: function(response, options) {
|
|
let values = response.result.data;
|
|
let [_match, host, port] = /^(.*):(\d+)$/.exec(values.host) || [];
|
|
values.host = host;
|
|
values.port = port;
|
|
me.setValues(values);
|
|
},
|
|
});
|
|
}
|
|
},
|
|
});
|