]>
git.proxmox.com Git - pmg-gui.git/blob - js/PBSRemoteEdit.js
1 Ext
.define('PMG.PBSInputPanel', {
2 extend
: 'Ext.tab.Panel',
3 xtype
: 'pmgPBSInputPanel',
4 mixins
: ['Proxmox.Mixin.CBind'],
9 cbindData: function(initialConfig
) {
11 me
.isCreate
= initialConfig
.isCreate
|| !initialConfig
.remoteId
;
18 title
: gettext('Backup Server'),
19 onGetValues: function(values
) {
20 values
.disable
= values
.enable
? 0 : 1;
26 xtype
: 'pmxDisplayEditField',
29 editable
: '{isCreate}',
31 fieldLabel
: gettext('ID'),
35 xtype
: 'pmxDisplayEditField',
38 fieldLabel
: gettext('Server'),
39 cbind
: { editable
: '{isCreate}' },
43 xtype
: 'pmxDisplayEditField',
45 fieldLabel
: 'Datastore',
46 cbind
: { editable
: '{isCreate}' },
50 xtype
: 'pmxDisplayEditField',
52 fieldLabel
: gettext('Namespace'),
53 cbind
: { editable
: '{isCreate}' },
54 emptyText
: gettext('Root'),
59 xtype
: 'pmxDisplayEditField',
61 fieldLabel
: gettext('Username'),
62 emptyText
: gettext('Example') + ': admin@pbs',
63 cbind
: { editable
: '{isCreate}' },
65 regexText
: gettext('Example') + ': admin@pbs',
69 xtype
: 'pmxDisplayEditField',
70 editable
: true, // FIXME: set to false if (!create && user == token)
72 xtype
: 'proxmoxtextfield',
74 inputType
: 'password',
77 allowBlank
: '{!isCreate}',
78 emptyText
: (get) => get('isCreate') ? '' : gettext('Unchanged'),
80 fieldLabel
: gettext('Password'),
83 xtype
: 'proxmoxKVComboBox',
85 fieldLabel
: gettext('Notify'),
87 ['always', gettext('Always')],
88 ['error', gettext('Errors')],
89 ['never', gettext('Never')],
92 emptyText
: gettext('Never'),
95 xtype
: 'proxmoxcheckbox',
99 fieldLabel
: gettext('Enable'),
104 xtype
: 'proxmoxcheckbox',
105 name
: 'include-statistics',
108 fieldLabel
: gettext('Statistics'),
109 boxLabel
: gettext('Include in Backup'),
112 xtype
: 'proxmoxtextfield',
114 fieldLabel
: gettext('Fingerprint'),
115 emptyText
: gettext('Server certificate SHA-256 fingerprint, required for self-signed certificates'),
116 regex
: /[A-Fa-f0-9]{2}(:[A-Fa-f0-9]{2}){31}/,
117 regexText
: gettext('Example') + ': AB:CD:EF:...',
124 title
: gettext('Prune Options'),
126 // set nested, else we'd only set the defaults for the two column containers
135 xtype
: 'proxmoxintegerfield',
136 fieldLabel
: gettext('Keep Last'),
138 cbind
: { deleteEmpty
: '{!isCreate}' },
141 xtype
: 'proxmoxintegerfield',
142 fieldLabel
: gettext('Keep Daily'),
144 cbind
: { deleteEmpty
: '{!isCreate}' },
147 xtype
: 'proxmoxintegerfield',
148 fieldLabel
: gettext('Keep Monthly'),
149 name
: 'keep-monthly',
150 cbind
: { deleteEmpty
: '{!isCreate}' },
155 xtype
: 'proxmoxintegerfield',
156 fieldLabel
: gettext('Keep Hourly'),
158 cbind
: { deleteEmpty
: '{!isCreate}' },
161 xtype
: 'proxmoxintegerfield',
162 fieldLabel
: gettext('Keep Weekly'),
164 cbind
: { deleteEmpty
: '{!isCreate}' },
167 xtype
: 'proxmoxintegerfield',
168 fieldLabel
: gettext('Keep Yearly'),
170 cbind
: { deleteEmpty
: '{!isCreate}' },
177 Ext
.define('PMG.PBSEdit', {
178 extend
: 'Proxmox.window.Edit',
180 onlineHelp
: 'pmgbackup_pbs_remotes',
182 subject
: 'Proxmox Backup Server',
187 initComponent: function() {
190 me
.isCreate
= !me
.remoteId
;
193 me
.url
= '/api2/extjs/config/pbs';
195 me
.url
+= `/${me.remoteId}`;
200 xtype
: 'pmgPBSInputPanel',
201 isCreate
: me
.isCreate
,
202 remoteId
: me
.remoteId
,
209 success: function(response
, options
) {
210 let values
= response
.result
.data
;
212 values
.enable
= values
.disable
? 0 : 1;
213 me
.setValues(values
);