]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/SyncWindow.js
1 Ext
.define('PVE.dc.SyncWindow', {
2 extend
: 'Ext.window.Window',
4 title
: gettext('Realm Sync'),
12 xclass
: 'Ext.app.ViewController',
16 validitychange: function(field
, valid
) {
18 me
.lookup('preview_btn').setDisabled(!valid
);
19 me
.lookup('sync_btn').setDisabled(!valid
);
23 click: function(btn
) {
24 this.sync_realm(btn
.reference
=== 'preview_btn');
29 sync_realm: function(is_preview
) {
31 let view
= me
.getView();
32 let ipanel
= me
.lookup('ipanel');
33 let params
= ipanel
.getValues();
34 params
['dry-run'] = is_preview
? 1 : 0;
35 Proxmox
.Utils
.API2Request({
36 url
: `/access/domains/${view.realm}/sync`,
40 failure: function(response
) {
42 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
44 success: function(response
) {
46 Ext
.create('Proxmox.window.TaskViewer', {
47 upid
: response
.result
.data
,
77 xtype
: 'proxmoxKVComboBox',
79 fieldLabel
: gettext('Scope'),
81 emptyText
: gettext('No default available'),
85 ['users', gettext('Users')],
86 ['groups', gettext('Groups')],
87 ['both', gettext('Users and Groups')],
91 xtype
: 'proxmoxKVComboBox',
93 emptyText
: gettext('No default available'),
97 ['1', Proxmox
.Utils
.yesText
],
98 ['0', Proxmox
.Utils
.noText
],
101 fieldLabel
: gettext('Full'),
107 xtype
: 'proxmoxKVComboBox',
112 ['1', Proxmox
.Utils
.yesText
],
113 ['0', Proxmox
.Utils
.noText
],
116 fieldLabel
: gettext('Enable new'),
119 xtype
: 'proxmoxKVComboBox',
121 emptyText
: gettext('No default available'),
125 ['1', Proxmox
.Utils
.yesText
],
126 ['0', Proxmox
.Utils
.noText
],
129 fieldLabel
: gettext('Purge ACLs'),
135 xtype
: 'displayfield',
136 reference
: 'defaulthint',
137 value
: gettext('Default sync options can be set by editing the realm.'),
148 text
: gettext('Preview'),
149 reference
: 'preview_btn',
152 text
: gettext('Sync'),
153 reference
: 'sync_btn',
157 initComponent: function() {
161 throw "no realm defined";
166 Proxmox
.Utils
.API2Request({
167 url
: `/access/domains/${me.realm}`,
170 failure: function(response
) {
171 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
174 success: function(response
) {
175 let default_options
= response
.result
.data
['sync-defaults-options'];
176 if (default_options
) {
177 let options
= PVE
.Parser
.parsePropertyString(default_options
);
178 let ipanel
= me
.lookup('ipanel');
179 ipanel
.setValues(options
);
181 me
.lookup('defaulthint').setVisible(true);
184 // check validity for button state
185 me
.lookup('form').isValid();