mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
webui: new navigation structure
https://fedorahosted.org/freeipa/ticket/4418 Reviewed-By: Fraser Tweedale <ftweedal@redhat.com> Reviewed-By: Martin Kosek <mkosek@redhat.com> Reviewed-By: Petr Spacek <pspacek@redhat.com>
This commit is contained in:
@@ -1293,7 +1293,7 @@ IPA.cert.cert_update_policy = function(spec) {
|
||||
|
||||
exp.remove_menu_item = function() {
|
||||
if (!IPA.cert.is_enabled()) {
|
||||
menu.remove_item('identity/cert');
|
||||
menu.remove_item('authentication/cert');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -2530,7 +2530,7 @@ IPA.network_validator = function(spec) {
|
||||
|
||||
exp.remove_menu_item = function() {
|
||||
if (!IPA.dns_enabled) {
|
||||
menu.remove_item('identity/dns');
|
||||
menu.remove_item('network_services/dns');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -42,49 +42,6 @@ var nav = {};
|
||||
{ entity: 'hostgroup' },
|
||||
{ entity: 'netgroup' },
|
||||
{ entity: 'service' },
|
||||
{
|
||||
name:'dns',
|
||||
label: '@i18n:tabs.dns',
|
||||
children: [
|
||||
{
|
||||
entity: 'dnszone',
|
||||
children: [
|
||||
{ entity: 'dnsrecord', hidden:true }
|
||||
]
|
||||
},
|
||||
{ entity: 'dnsforwardzone' },
|
||||
{ entity: 'dnsconfig' }
|
||||
]
|
||||
},
|
||||
{ entity: 'cert', label: '@i18n:tabs.cert' },
|
||||
{ entity: 'realmdomains' },
|
||||
{ entity: 'otptoken' }
|
||||
]
|
||||
},
|
||||
{name: 'policy', label: '@i18n:tabs.policy', children: [
|
||||
{name: 'hbac', label: '@i18n:tabs.hbac', children: [
|
||||
{entity: 'hbacrule'},
|
||||
{entity: 'hbacsvc'},
|
||||
{entity: 'hbacsvcgroup'},
|
||||
{entity: 'hbactest'}
|
||||
]},
|
||||
{name: 'sudo', label: '@i18n:tabs.sudo', children: [
|
||||
{entity: 'sudorule'},
|
||||
{entity: 'sudocmd'},
|
||||
{entity: 'sudocmdgroup'}
|
||||
]},
|
||||
{
|
||||
name:'automount',
|
||||
label: '@i18n:tabs.automount',
|
||||
entity: 'automountlocation',
|
||||
children:[
|
||||
{entity: 'automountlocation', hidden:true},
|
||||
{entity: 'automountmap', hidden: true},
|
||||
{entity: 'automountkey', hidden: true}]
|
||||
},
|
||||
{entity: 'pwpolicy'},
|
||||
{entity: 'krbtpolicy'},
|
||||
{entity: 'selinuxusermap'},
|
||||
{
|
||||
name: 'automember',
|
||||
label: '@i18n:tabs.automember',
|
||||
@@ -117,27 +74,103 @@ var nav = {};
|
||||
}
|
||||
]
|
||||
}
|
||||
]},
|
||||
{name: 'ipaserver', label: '@i18n:tabs.ipaserver', children: [
|
||||
{name: 'rolebased', label: '@i18n:tabs.role', children: [
|
||||
{entity: 'role'},
|
||||
{entity: 'privilege'},
|
||||
{entity: 'permission'}
|
||||
]},
|
||||
{entity: 'selfservice'},
|
||||
{entity: 'delegation'},
|
||||
{entity: 'idrange'},
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'policy',
|
||||
label: '@i18n:tabs.policy',
|
||||
children: [
|
||||
{
|
||||
name: 'hbac',
|
||||
label: '@i18n:tabs.hbac',
|
||||
children: [
|
||||
{ entity: 'hbacrule' },
|
||||
{ entity: 'hbacsvc' },
|
||||
{ entity: 'hbacsvcgroup' },
|
||||
{ entity: 'hbactest' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'sudo',
|
||||
label: '@i18n:tabs.sudo',
|
||||
children: [
|
||||
{ entity: 'sudorule' },
|
||||
{ entity: 'sudocmd' },
|
||||
{ entity: 'sudocmdgroup' }
|
||||
]
|
||||
},
|
||||
{ entity: 'selinuxusermap' },
|
||||
{ entity: 'pwpolicy' },
|
||||
{ entity: 'krbtpolicy' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'authentication',
|
||||
label: '@i18n:tabs.authentication',
|
||||
children: [
|
||||
{ entity: 'cert', label: '@i18n:tabs.cert' },
|
||||
{ entity: 'otptoken' },
|
||||
{ entity: 'radiusproxy' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'network_services',
|
||||
label: '@i18n:tabs.network_services',
|
||||
children: [
|
||||
{
|
||||
name:'automount',
|
||||
label: '@i18n:tabs.automount',
|
||||
entity: 'automountlocation',
|
||||
children: [
|
||||
{ entity: 'automountlocation', hidden: true },
|
||||
{ entity: 'automountmap', hidden: true },
|
||||
{ entity: 'automountkey', hidden: true }
|
||||
]
|
||||
},
|
||||
{
|
||||
name:'dns',
|
||||
label: '@i18n:tabs.dns',
|
||||
children: [
|
||||
{
|
||||
entity: 'dnszone',
|
||||
children: [
|
||||
{ entity: 'dnsrecord', hidden: true }
|
||||
]
|
||||
},
|
||||
{ entity: 'dnsforwardzone' },
|
||||
{ entity: 'dnsconfig' }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'ipaserver',
|
||||
label: '@i18n:tabs.ipaserver',
|
||||
children: [
|
||||
{
|
||||
name: 'rbac',
|
||||
label: '@i18n:tabs.role',
|
||||
children: [
|
||||
{ entity: 'role' },
|
||||
{ entity: 'privilege' },
|
||||
{ entity: 'permission' },
|
||||
{ entity: 'selfservice' },
|
||||
{ entity: 'delegation' }
|
||||
]
|
||||
},
|
||||
{ entity: 'idrange' },
|
||||
{ entity: 'realmdomains' },
|
||||
{
|
||||
name: 'trusts',
|
||||
label: '@i18n:tabs.trust',
|
||||
children:[
|
||||
{entity: 'trust'},
|
||||
{entity: 'trustconfig'}
|
||||
children: [
|
||||
{ entity: 'trust' },
|
||||
{ entity: 'trustconfig' }
|
||||
]
|
||||
},
|
||||
{entity: 'radiusproxy'},
|
||||
{entity: 'config'}
|
||||
]}
|
||||
{ entity: 'config' }
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
@@ -553,6 +553,7 @@
|
||||
},
|
||||
"tabs": {
|
||||
"audit": "Audit",
|
||||
"authentication": "Authentication",
|
||||
"automember": "Automember",
|
||||
"automount": "Automount",
|
||||
"cert": "Certificates",
|
||||
@@ -560,6 +561,7 @@
|
||||
"hbac": "Host Based Access Control",
|
||||
"identity": "Identity",
|
||||
"ipaserver": "IPA Server",
|
||||
"network_services": "Network Services",
|
||||
"policy": "Policy",
|
||||
"role": "Role Based Access Control",
|
||||
"sudo": "Sudo",
|
||||
|
||||
@@ -698,6 +698,7 @@ class i18n_messages(Command):
|
||||
},
|
||||
"tabs": {
|
||||
"audit": _("Audit"),
|
||||
"authentication": _("Authentication"),
|
||||
"automember": _("Automember"),
|
||||
"automount": _("Automount"),
|
||||
"cert": _("Certificates"),
|
||||
@@ -705,6 +706,7 @@ class i18n_messages(Command):
|
||||
"hbac": _("Host Based Access Control"),
|
||||
"identity": _("Identity"),
|
||||
"ipaserver": _("IPA Server"),
|
||||
"network_services": _("Network Services"),
|
||||
"policy": _("Policy"),
|
||||
"role": _("Role Based Access Control"),
|
||||
"sudo": _("Sudo"),
|
||||
|
||||
@@ -72,7 +72,7 @@ class test_automember(UI_driver):
|
||||
delete=False)
|
||||
|
||||
# host group rule
|
||||
self.navigate_by_menu('policy/automember/amhostgroup')
|
||||
self.navigate_by_menu('identity/automember/amhostgroup')
|
||||
|
||||
self.basic_crud(ENTITY, HOST_GROUP_DATA,
|
||||
search_facet='searchhostgroup',
|
||||
|
||||
@@ -167,5 +167,5 @@ class test_dns(UI_driver):
|
||||
Basic CRUD: dnsconfig
|
||||
"""
|
||||
self.init_app()
|
||||
self.navigate_by_menu('identity/dns/dnsconfig')
|
||||
self.navigate_by_menu('network_services/dns/dnsconfig')
|
||||
self.mod_record(CONFIG_ENTITY, CONFIG_MOD_DATA)
|
||||
|
||||
@@ -37,6 +37,8 @@ ENTITIES = [
|
||||
# TODO: dnsrecord
|
||||
'dnsconfig',
|
||||
'cert',
|
||||
'otptoken',
|
||||
'radiusproxy',
|
||||
'realmdomains',
|
||||
'hbacrule',
|
||||
'hbacsvc',
|
||||
@@ -77,6 +79,7 @@ class test_navigation(UI_driver):
|
||||
if not self.has_dns():
|
||||
unsupported.extend([
|
||||
'dnszone',
|
||||
'dnsforwardzone',
|
||||
'dnsconfig',
|
||||
])
|
||||
if not self.has_ca():
|
||||
@@ -99,6 +102,7 @@ class test_navigation(UI_driver):
|
||||
|
||||
self.init_app()
|
||||
|
||||
# Identity
|
||||
# don't start by users (default)
|
||||
self.navigate_by_menu('identity/group', False)
|
||||
self.navigate_by_menu('identity/user', False)
|
||||
@@ -106,18 +110,11 @@ class test_navigation(UI_driver):
|
||||
self.navigate_by_menu('identity/hostgroup', False)
|
||||
self.navigate_by_menu('identity/netgroup', False)
|
||||
self.navigate_by_menu('identity/service', False)
|
||||
if self.has_dns():
|
||||
self.navigate_by_menu('identity/dns/dnsconfig', True)
|
||||
self.navigate_by_menu('identity/dns', False)
|
||||
self.navigate_by_menu('identity/dns/dnszone', False)
|
||||
self.navigate_by_menu('identity/dns/dnsforwardzone')
|
||||
else:
|
||||
self.assert_menu_item('identity/dns', False)
|
||||
if self.has_ca():
|
||||
self.navigate_by_menu('identity/cert', False)
|
||||
else:
|
||||
self.assert_menu_item('identity/cert', False)
|
||||
self.navigate_by_menu('identity/realmdomains', False)
|
||||
self.navigate_by_menu('identity/automember', False)
|
||||
self.navigate_by_menu('identity/automember/amhostgroup')
|
||||
self.navigate_by_menu('identity/automember/amgroup')
|
||||
|
||||
# Policy
|
||||
self.navigate_by_menu('policy')
|
||||
self.navigate_by_menu('policy/hbac', False)
|
||||
self.navigate_by_menu('policy/hbac/hbacsvc', False)
|
||||
@@ -128,21 +125,40 @@ class test_navigation(UI_driver):
|
||||
self.navigate_by_menu('policy/sudo/sudorule', False)
|
||||
self.navigate_by_menu('policy/sudo/sudocmd')
|
||||
self.navigate_by_menu('policy/sudo/sudocmdgroup')
|
||||
self.navigate_by_menu('policy/automount', False)
|
||||
self.navigate_by_menu('policy/selinuxusermap', False)
|
||||
self.navigate_by_menu('policy/pwpolicy', False)
|
||||
self.navigate_by_menu('policy/krbtpolicy', False)
|
||||
self.navigate_by_menu('policy/selinuxusermap', False)
|
||||
self.navigate_by_menu('policy/automember', False)
|
||||
self.navigate_by_menu('policy/automember/amhostgroup')
|
||||
self.navigate_by_menu('policy/automember/amgroup')
|
||||
|
||||
# Authentication
|
||||
self.navigate_by_menu('authentication')
|
||||
self.navigate_by_menu('authentication/radiusproxy', False)
|
||||
self.navigate_by_menu('authentication/otptoken', False)
|
||||
if self.has_ca():
|
||||
self.navigate_by_menu('authentication/cert', False)
|
||||
else:
|
||||
self.assert_menu_item('authentication/cert', False)
|
||||
|
||||
# Network Services
|
||||
self.navigate_by_menu('network_services')
|
||||
self.navigate_by_menu('network_services/automount')
|
||||
if self.has_dns():
|
||||
self.navigate_by_menu('network_services/dns/dnsconfig', True)
|
||||
self.navigate_by_menu('network_services/dns', False)
|
||||
self.navigate_by_menu('network_services/dns/dnszone', False)
|
||||
self.navigate_by_menu('network_services/dns/dnsforwardzone')
|
||||
else:
|
||||
self.assert_menu_item('network_services/dns', False)
|
||||
|
||||
# IPA Server
|
||||
self.navigate_by_menu('ipaserver')
|
||||
self.navigate_by_menu('ipaserver/rolebased', False)
|
||||
self.navigate_by_menu('ipaserver/rolebased/privilege', False)
|
||||
self.navigate_by_menu('ipaserver/rolebased/role')
|
||||
self.navigate_by_menu('ipaserver/rolebased/permission')
|
||||
self.navigate_by_menu('ipaserver/selfservice', False)
|
||||
self.navigate_by_menu('ipaserver/delegation', False)
|
||||
self.navigate_by_menu('ipaserver/rbac', False)
|
||||
self.navigate_by_menu('ipaserver/rbac/privilege', False)
|
||||
self.navigate_by_menu('ipaserver/rbac/role')
|
||||
self.navigate_by_menu('ipaserver/rbac/permission')
|
||||
self.navigate_by_menu('ipaserver/rbac/selfservice')
|
||||
self.navigate_by_menu('ipaserver/rbac/delegation')
|
||||
self.navigate_by_menu('ipaserver/idrange', False)
|
||||
self.navigate_by_menu('ipaserver/realmdomains', False)
|
||||
if self.has_trusts():
|
||||
self.navigate_by_menu('ipaserver/trusts', False)
|
||||
self.navigate_by_menu('ipaserver/trusts/trust', False)
|
||||
@@ -151,6 +167,7 @@ class test_navigation(UI_driver):
|
||||
self.assert_menu_item('ipaserver/trusts', False)
|
||||
self.navigate_by_menu('ipaserver/config', False)
|
||||
|
||||
|
||||
def assert_e_url(self, url, e):
|
||||
"""
|
||||
Assert correct url for entity
|
||||
|
||||
@@ -427,7 +427,7 @@ class UI_driver(object):
|
||||
|
||||
s = ".navbar a[href='#%s']" % item
|
||||
link = self.find(s, By.CSS_SELECTOR, strict=True)
|
||||
assert link.is_displayed(), 'Navigation link is not displayed'
|
||||
assert link.is_displayed(), 'Navigation link is not displayed: %s' % item
|
||||
link.click()
|
||||
self.wait_for_request()
|
||||
self.wait_for_request(0.4)
|
||||
|
||||
Reference in New Issue
Block a user