webui: use domain name instead of domain SID in idrange adder dialog

It's more user friendly. Almost nobody remembers SIDs.

https://fedorahosted.org/freeipa/ticket/4661

Reviewed-By: Tomas Babej <tbabej@redhat.com>
This commit is contained in:
Petr Vobornik 2014-11-04 13:38:12 +01:00 committed by Tomas Babej
parent 230df95ed9
commit f70d859b39
3 changed files with 19 additions and 21 deletions

View File

@ -138,9 +138,7 @@ return {
title: '@mo-param:idrange:ipasecondarybaserid:label'
},
{
name: 'ipanttrusteddomainsid',
label: '@i18n:objects.idrange.ipanttrusteddomainsid',
title: '@mo-param:idrange:ipanttrusteddomainsid:label',
name: 'ipanttrusteddomainname',
enabled: false
}
],
@ -153,14 +151,14 @@ return {
IPA.idrange_adder_policy = function(spec) {
/*
The logic for enabling/requiring ipabaserid, ipasecondarybaserid and
ipanttrusteddomainsid is as follows:
ipanttrusteddomainname is as follows:
1) for AD ranges (range type is ipa-ad-trust or ipa-ad-trust-posix):
* ipanttrusteddomainsid is required
* ipanttrusteddomainname is required
* ipabaserid is required for ipa-ad-trust but disabled for
ipa-ad-trust-posix
* ipasecondarybaserid is disabled
2) for local ranges
* ipanttrusteddomainsid is disabled
* ipanttrusteddomainname is disabled
A) if server has AD trust support:
* both ipabaserid and ipasecondarybaserid are required
B) if server does not have AD trust support:
@ -207,7 +205,7 @@ IPA.idrange_adder_policy = function(spec) {
var type_f = that.container.fields.get_field('iparangetype');
var baserid_f = that.container.fields.get_field('ipabaserid');
var secondarybaserid_f = that.container.fields.get_field('ipasecondarybaserid');
var trusteddomainsid_f = that.container.fields.get_field('ipanttrusteddomainsid');
var trusteddomainname_f = that.container.fields.get_field('ipanttrusteddomainname');
var type_v = type_f.get_value()[0];
var baserid_v = baserid_f.get_value()[0] || '';
@ -221,10 +219,10 @@ IPA.idrange_adder_policy = function(spec) {
} else {
disable(baserid_f);
}
require(trusteddomainsid_f);
require(trusteddomainname_f);
disable(secondarybaserid_f);
} else {
disable(trusteddomainsid_f);
disable(trusteddomainname_f);
if (IPA.trust_enabled) {
require(baserid_f);

View File

@ -59,13 +59,13 @@ class range_tasks(UI_driver):
self.max_id = max_id
self.max_rid = max_rid
def get_sid(self):
def get_domain(self):
result = self.execute_api_from_ui('trust_find', [], {})
trusts = result['result']['result']
sid = None
domain = None
if trusts:
sid = trusts[0]['ipanttrusteddomainsid']
return sid
domain = trusts[0]['cn']
return domain
def get_data(self, pkey, size=50, add_data=None):
@ -81,7 +81,7 @@ class range_tasks(UI_driver):
}
return data
def get_add_data(self, pkey, range_type='ipa-local', size=50, shift=100, sid=None):
def get_add_data(self, pkey, range_type='ipa-local', size=50, shift=100, domain=None):
base_id = self.max_id + shift
self.max_id = base_id + size
@ -98,19 +98,19 @@ class range_tasks(UI_driver):
('callback', self.check_range_type_mod, range_type)
]
if not sid:
if not domain:
base_rid = self.max_rid + shift
self.max_rid = base_rid + size
add.append(('textbox', 'ipasecondarybaserid', str(base_rid)))
if sid:
add.append(('textbox', 'ipanttrusteddomainsid', sid))
if domain:
add.append(('textbox', 'ipanttrusteddomainname', domain))
return add
def check_range_type_mod(self, range_type):
if range_type == 'ipa-local':
self.assert_disabled("[name=ipanttrusteddomainsid]")
self.assert_disabled("[name=ipanttrusteddomainname]")
self.assert_disabled("[name=ipasecondarybaserid]", negative=True)
elif range_type == 'ipa-ad-trust':
self.assert_disabled("[name=ipanttrusteddomainsid]", negative=True)
self.assert_disabled("[name=ipanttrusteddomainname]", negative=True)
self.assert_disabled("[name=ipasecondarybaserid]")

View File

@ -74,11 +74,11 @@ class test_range(range_tasks):
self.add_record(trust_mod.ENTITY, trust_data)
sid = self.get_sid()
domain = self.get_domain()
self.navigate_to_entity(ENTITY)
add = self.get_add_data(pkey_ad, range_type='ipa-ad-trust', sid=sid)
add = self.get_add_data(pkey_ad, range_type='ipa-ad-trust', domain=domain)
data = self.get_data(pkey_ad, add_data=add)
self.add_record(ENTITY, data, navigate=False)
self.assert_record_value('Active Directory domain range', pkey_ad, column)