]>
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 if (btn
.reference
=== 'help_btn') return;
25 this.sync_realm(btn
.reference
=== 'preview_btn');
30 sync_realm: function(is_preview
) {
32 let view
= me
.getView();
33 let ipanel
= me
.lookup('ipanel');
34 let params
= ipanel
.getValues();
35 params
['dry-run'] = is_preview
? 1 : 0;
36 Proxmox
.Utils
.API2Request({
37 url
: `/access/domains/${view.realm}/sync`,
41 failure: function(response
) {
43 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
45 success: function(response
) {
47 Ext
.create('Proxmox.window.TaskViewer', {
48 upid
: response
.result
.data
,
78 xtype
: 'proxmoxKVComboBox',
80 fieldLabel
: gettext('Scope'),
82 emptyText
: gettext('No default available'),
86 ['users', gettext('Users')],
87 ['groups', gettext('Groups')],
88 ['both', gettext('Users and Groups')],
92 xtype
: 'proxmoxKVComboBox',
94 emptyText
: gettext('No default available'),
98 ['1', Proxmox
.Utils
.yesText
],
99 ['0', Proxmox
.Utils
.noText
],
102 fieldLabel
: gettext('Full'),
108 xtype
: 'proxmoxKVComboBox',
113 ['1', Proxmox
.Utils
.yesText
],
114 ['0', Proxmox
.Utils
.noText
],
117 fieldLabel
: gettext('Enable new'),
120 xtype
: 'proxmoxKVComboBox',
122 emptyText
: gettext('No default available'),
126 ['1', Proxmox
.Utils
.yesText
],
127 ['0', Proxmox
.Utils
.noText
],
130 fieldLabel
: gettext('Purge ACLs'),
136 xtype
: 'displayfield',
137 reference
: 'defaulthint',
138 value
: gettext('Default sync options can be set by editing the realm.'),
149 xtype
: 'proxmoxHelpButton',
150 reference
: 'help_btn',
151 onlineHelp
: 'pveum_ldap_sync',
156 text
: gettext('Preview'),
157 reference
: 'preview_btn',
160 text
: gettext('Sync'),
161 reference
: 'sync_btn',
165 initComponent: function() {
169 throw "no realm defined";
174 Proxmox
.Utils
.API2Request({
175 url
: `/access/domains/${me.realm}`,
178 failure: function(response
) {
179 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
182 success: function(response
) {
183 let default_options
= response
.result
.data
['sync-defaults-options'];
184 if (default_options
) {
185 let options
= PVE
.Parser
.parsePropertyString(default_options
);
186 let ipanel
= me
.lookup('ipanel');
187 ipanel
.setValues(options
);
189 me
.lookup('defaulthint').setVisible(true);
192 // check validity for button state
193 me
.lookup('form').isValid();