diff options
-rw-r--r-- | install/ui/aci.js | 87 | ||||
-rw-r--r-- | install/ui/automount.js | 56 | ||||
-rw-r--r-- | install/ui/dns.js | 38 | ||||
-rw-r--r-- | install/ui/entitle.js | 31 | ||||
-rw-r--r-- | install/ui/entity.js | 10 | ||||
-rw-r--r-- | install/ui/group.js | 22 | ||||
-rw-r--r-- | install/ui/hbac.js | 56 | ||||
-rw-r--r-- | install/ui/host.js | 20 | ||||
-rw-r--r-- | install/ui/hostgroup.js | 20 | ||||
-rw-r--r-- | install/ui/index.html | 2 | ||||
-rw-r--r-- | install/ui/ipa.js | 29 | ||||
-rw-r--r-- | install/ui/netgroup.js | 20 | ||||
-rw-r--r-- | install/ui/policy.js | 46 | ||||
-rw-r--r-- | install/ui/serverconfig.js | 21 | ||||
-rw-r--r-- | install/ui/service.js | 21 | ||||
-rw-r--r-- | install/ui/sudo.js | 55 | ||||
-rw-r--r-- | install/ui/user.js | 19 |
17 files changed, 355 insertions, 198 deletions
diff --git a/install/ui/aci.js b/install/ui/aci.js index 5ffb2108b..92c5dcf02 100644 --- a/install/ui/aci.js +++ b/install/ui/aci.js @@ -23,11 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.permission = function() { +IPA.aci = {}; - return IPA.entity_builder(). - entity('permission'). - facet_groups([ 'privilege' , 'settings' ]). +IPA.aci.permission_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.facet_groups([ 'privilege' , 'settings' ]). search_facet({ columns:['cn'] }). @@ -78,15 +82,19 @@ IPA.entity_factories.permission = function() { label: IPA.messages.objects.permission.target } ] - }). - build(); + }); + }; + + return that; }; +IPA.aci.privilege_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { -IPA.entity_factories.privilege = function() { - return IPA.entity_builder(). - entity('privilege'). - facet_groups([ 'role', 'settings', 'permission' ]). + params.builder.facet_groups([ 'role', 'settings', 'permission' ]). search_facet({ columns: [ 'cn', @@ -130,16 +138,19 @@ IPA.entity_factories.privilege = function() { name: 'description' } ] - }). - build(); + }); + }; + return that; }; +IPA.aci.role_entity = function(spec) { + + var that = IPA.entity(spec); -IPA.entity_factories.role = function() { - return IPA.entity_builder(). - entity('role'). - facet_groups([ 'member', 'settings', 'privilege' ]). + that.init = function(params) { + + params.builder.facet_groups([ 'member', 'settings', 'privilege' ]). search_facet({ columns: [ 'cn', @@ -176,15 +187,19 @@ IPA.entity_factories.role = function() { name: 'description' } ] - }). - build(); + }); + }; + + return that; }; +IPA.aci.selfservice_entity = function(spec) { -IPA.entity_factories.selfservice = function() { - return IPA.entity_builder(). - entity('selfservice'). - search_facet({ + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns:['aciname']}). details_facet({ sections:[{ @@ -204,15 +219,19 @@ IPA.entity_factories.selfservice = function() { object_type:'user', name:'attrs' }] - }). - build(); + }); + }; + + return that; }; +IPA.aci.delegation_entity = function(spec) { -IPA.entity_factories.delegation = function() { - return IPA.entity_builder(). - entity('delegation'). - search_facet({ + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns:['aciname']}). details_facet({sections:[ { @@ -261,8 +280,10 @@ IPA.entity_factories.delegation = function() { object_type: 'user', join: true }] - }). - build(); + }); + }; + + return that; }; @@ -738,3 +759,9 @@ IPA.target_section = function(spec) { return that; }; + +IPA.register('permission', IPA.aci.permission_entity); +IPA.register('privilege', IPA.aci.privilege_entity); +IPA.register('role', IPA.aci.role_entity); +IPA.register('selfservice', IPA.aci.selfservice_entity); +IPA.register('delegation', IPA.aci.delegation_entity); diff --git a/install/ui/automount.js b/install/ui/automount.js index b692e5831..054d2aee4 100644 --- a/install/ui/automount.js +++ b/install/ui/automount.js @@ -23,13 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ +IPA.automount = {}; -/**Automount*/ +IPA.automount.location_entity = function(spec) { -IPA.entity_factories.automountlocation = function() { - return IPA.entity_builder(). - entity({ name: 'automountlocation' }). - facet_groups([ 'automountmap', 'settings' ]). + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.facet_groups([ 'automountmap', 'settings' ]). search_facet({ title: IPA.metadata.objects.automountlocation.label, columns:['cn'] @@ -52,14 +54,19 @@ IPA.entity_factories.automountlocation = function() { }). adder_dialog({ fields: [ 'cn' ] - }). - build(); + }); + }; + + return that; }; -IPA.entity_factories.automountmap = function() { - return IPA.entity_builder(). - entity({ name: 'automountmap' }). - containing_entity('automountlocation'). +IPA.automount.map_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.containing_entity('automountlocation'). facet_groups([ 'automountkey', 'settings' ]). nested_search_facet({ facet_group: 'automountkey', @@ -135,14 +142,19 @@ IPA.entity_factories.automountmap = function() { ] } ] - }). - build(); + }); + }; + + return that; }; -IPA.entity_factories.automountkey = function() { - return IPA.entity_builder(). - entity({ name: 'automountkey' }). - containing_entity('automountmap'). +IPA.automount.key_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.containing_entity('automountmap'). details_facet({ sections: [ { @@ -188,8 +200,10 @@ IPA.entity_factories.automountkey = function() { return false; }, fields:['automountkey','automountinformation'] - }). - build(); + }); + }; + + return that; }; IPA.automount_key_column = function(spec) { @@ -275,3 +289,7 @@ IPA.get_option_values = function(){ }); return values; }; + +IPA.register('automountlocation', IPA.automount.location_entity); +IPA.register('automountmap', IPA.automount.map_entity); +IPA.register('automountkey', IPA.automount.key_entity); diff --git a/install/ui/dns.js b/install/ui/dns.js index b7de11bd6..2cf5cd4a9 100644 --- a/install/ui/dns.js +++ b/install/ui/dns.js @@ -23,8 +23,11 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js, widget.js */ -/* DNS */ -IPA.entity_factories.dnszone = function() { +IPA.dns = {}; + +IPA.dns.zone_entity = function(spec) { + + var that = IPA.entity(spec); if (!IPA.dns_enabled) { var except = { @@ -33,9 +36,9 @@ IPA.entity_factories.dnszone = function() { throw except; } - return IPA.entity_builder(). - entity('dnszone'). - facet_groups([ 'dnsrecord', 'settings' ]). + that.init = function(params) { + + params.builder.facet_groups([ 'dnsrecord', 'settings' ]). search_facet({ title: IPA.metadata.objects.dnszone.label, columns: [ 'idnsname' ] @@ -140,8 +143,10 @@ IPA.entity_factories.dnszone = function() { ] } ] - }). - build(); + }); + }; + + return that; }; IPA.dnszone_details_facet = function(spec) { @@ -429,7 +434,9 @@ IPA.dns_record_search_load = function (result) { } }; -IPA.entity_factories.dnsrecord = function() { +IPA.dns.record_entity = function(spec) { + + var that = IPA.entity(spec); if (!IPA.dns_enabled) { var except = { @@ -438,9 +445,9 @@ IPA.entity_factories.dnsrecord = function() { throw except; } - return IPA.entity_builder(). - entity('dnsrecord'). - containing_entity('dnszone'). + that.init = function(params) { + + params.builder.containing_entity('dnszone'). details_facet({ post_update_hook:function(data){ var result = data.result.result; @@ -604,8 +611,10 @@ IPA.entity_factories.dnsrecord = function() { required: true } ] - }). - build(); + }); + }; + + return that; }; IPA.dnsrecord_redirection_dialog = function(spec) { @@ -710,3 +719,6 @@ IPA.dnsrecord_get_delete_values = function() { return value_array; }; + +IPA.register('dnszone', IPA.dns.zone_entity); +IPA.register('dnsrecord', IPA.dns.record_entity); diff --git a/install/ui/entitle.js b/install/ui/entitle.js index 8bd6c456c..d2039c4b5 100644 --- a/install/ui/entitle.js +++ b/install/ui/entitle.js @@ -29,16 +29,17 @@ IPA.entitle.unregistered = 'unregistered'; IPA.entitle.online = 'online'; IPA.entitle.offline = 'offline'; -IPA.entity_factories.entitle = function() { +IPA.entitle.entity = function(spec) { - var builder = IPA.entity_builder(); + spec = spec || {}; - builder. - entity({ - factory: IPA.entitle.entity, - name: 'entitle' - }). - facet_groups([ 'account', 'certificates' ]). + var that = IPA.entity(spec); + + that.status = IPA.entitle.unregistered; + + that.init = function(params) { + + params.builder.facet_groups([ 'account', 'certificates' ]). details_facet({ factory: IPA.entitle.details_facet, label: IPA.messages.objects.entitle.account, @@ -171,17 +172,7 @@ IPA.entity_factories.entitle = function() { } ] }); - - return builder.build(); -}; - -IPA.entitle.entity = function(spec) { - - spec = spec || {}; - - var that = IPA.entity(spec); - - that.status = IPA.entitle.unregistered; + }; that.get_accounts = function(on_success, on_error) { @@ -751,3 +742,5 @@ IPA.entitle.download_widget = function(spec) { return that; }; + +IPA.register('entitle', IPA.entitle.entity); diff --git a/install/ui/entity.js b/install/ui/entity.js index ce086bd1c..75f781e62 100644 --- a/install/ui/entity.js +++ b/install/ui/entity.js @@ -52,6 +52,9 @@ IPA.entity = function(spec) { that.redirect_facet = spec.redirect_facet; that.containing_entity = null; + that.init = function(params) { + }; + that.get_containing_entity = function() { return that.containing_entity ? IPA.get_entity(that.containing_entity) : null; @@ -282,7 +285,7 @@ IPA.nested_tabs = function(entity_name) { return siblings; }; -IPA.entity_builder = function(){ +IPA.entity_builder = function() { var that = {}; @@ -523,10 +526,7 @@ IPA.entity_builder = function(){ }; that.build = function(){ - var item = entity; - entity = null; - - return item; + return entity; }; return that; diff --git a/install/ui/group.js b/install/ui/group.js index 418724e87..305fb4007 100644 --- a/install/ui/group.js +++ b/install/ui/group.js @@ -24,11 +24,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.group = function () { +IPA.group = {}; - return IPA.entity_builder(). - entity('group'). - search_facet({ +IPA.group.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'gidnumber', @@ -117,8 +121,10 @@ IPA.entity_factories.group = function () { }, 'gidnumber' ] - }). - build(); + }); + }; + + return that; }; IPA.group_nonposix_checkbox_widget = function (spec) { @@ -136,7 +142,7 @@ IPA.group_nonposix_checkbox_widget = function (spec) { return that; }; -IPA.group_adder_dialog = function (spec) { +IPA.group_adder_dialog = function(spec) { spec = spec || {}; @@ -161,3 +167,5 @@ IPA.group_adder_dialog = function (spec) { return that; }; + +IPA.register('group', IPA.group.entity); diff --git a/install/ui/hbac.js b/install/ui/hbac.js index 4199c269f..31f789a84 100644 --- a/install/ui/hbac.js +++ b/install/ui/hbac.js @@ -23,10 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.hbacrule = function() { - return IPA.entity_builder(). - entity('hbacrule'). - search_facet({ +IPA.hbac = {}; + +IPA.hbac.rule_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ search_all: true, columns: [ 'cn', @@ -39,14 +44,19 @@ IPA.entity_factories.hbacrule = function() { }). adder_dialog({ fields: [ 'cn' ] - }). - build(); + }); + }; + + return that; }; -IPA.entity_factories.hbacsvc = function() { - return IPA.entity_builder(). - entity('hbacsvc'). - search_facet({ +IPA.hbac.service_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'description' @@ -99,15 +109,19 @@ IPA.entity_factories.hbacsvc = function() { name: 'description' } ] - }). - build(); + }); + }; + + return that; }; +IPA.hbac.service_group_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { -IPA.entity_factories.hbacsvcgroup = function() { - return IPA.entity_builder(). - entity('hbacsvcgroup'). - search_facet({ + params.builder.search_facet({ columns: [ 'cn', 'description' @@ -159,8 +173,10 @@ IPA.entity_factories.hbacsvcgroup = function() { name: 'description' } ] - }). - build(); + }); + }; + + return that; }; IPA.hbacrule_details_facet = function(spec) { @@ -557,3 +573,7 @@ IPA.hbacrule_details_facet = function(spec) { return that; }; + +IPA.register('hbacrule', IPA.hbac.rule_entity); +IPA.register('hbacsvc', IPA.hbac.service_entity); +IPA.register('hbacsvcgroup', IPA.hbac.service_group_entity); diff --git a/install/ui/host.js b/install/ui/host.js index fe0829414..857f85434 100644 --- a/install/ui/host.js +++ b/install/ui/host.js @@ -24,11 +24,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.host = function () { +IPA.host = {}; - return IPA.entity_builder(). - entity('host'). - search_facet({ +IPA.host.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'fqdn', 'description', @@ -166,8 +170,10 @@ IPA.entity_factories.host = function () { }). deleter_dialog({ factory: IPA.host_deleter_dialog - }). - build(); + }); + }; + + return that; }; IPA.host_fqdn_section = function(spec) { @@ -779,3 +785,5 @@ IPA.host_certificate_status_widget = function (spec) { return that; }; + +IPA.register('host', IPA.host.entity); diff --git a/install/ui/hostgroup.js b/install/ui/hostgroup.js index f01e5b5e8..58e25e3f1 100644 --- a/install/ui/hostgroup.js +++ b/install/ui/hostgroup.js @@ -22,12 +22,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ +IPA.hostgroup = {}; -IPA.entity_factories.hostgroup = function() { +IPA.hostgroup.entity = function(spec) { - return IPA.entity_builder(). - entity('hostgroup'). - search_facet({ + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'description' @@ -77,9 +80,10 @@ IPA.entity_factories.hostgroup = function() { name: 'description' } ] - }). - build(); -}; - + }); + }; + return that; +}; +IPA.register('hostgroup', IPA.hostgroup.entity); diff --git a/install/ui/index.html b/install/ui/index.html index d1aab0c47..cb014815b 100644 --- a/install/ui/index.html +++ b/install/ui/index.html @@ -38,7 +38,7 @@ <script type="text/javascript" src="aci.js"></script> <script type="text/javascript" src="entitle.js"></script> - + <script type="text/javascript" src="extension.js"></script> <script type="text/javascript" src="develop.js"></script> <script type="text/javascript" src="webui.js"></script> diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 0ce783dbc..c0aa98b98 100644 --- a/install/ui/ipa.js +++ b/install/ui/ipa.js @@ -25,7 +25,7 @@ /* REQUIRES: jquery.ordered-map.js */ /*global $:true, location:true */ -var IPA = ( function () { +var IPA = function() { var that = { jsonrpc_id: 0 @@ -172,22 +172,37 @@ var IPA = ( function () { batch.execute(); }; + that.register = function(name, factory) { + that.entity_factories[name] = factory; + }; + that.get_entities = function() { return that.entities.values; }; - - that.get_entity = function(name) { var entity = that.entities.get(name); - if (!entity){ + if (!entity) { var factory = that.entity_factories[name]; - if (!factory){ + if (!factory) { return null; } + try { - entity = factory(); + var builder = that.entity_builder(); + + builder.entity({ + factory: factory, + name: name + }); + + entity = builder.build(); + entity.init({ + builder: builder + }); + that.add_entity(entity); + } catch (e) { if (e.expected){ /*expected exceptions thrown by builder just mean that @@ -256,7 +271,7 @@ var IPA = ( function () { }; return that; -}()); +}(); /** * Call an IPA command over JSON-RPC. diff --git a/install/ui/netgroup.js b/install/ui/netgroup.js index a99c6c7ef..dcec180fe 100644 --- a/install/ui/netgroup.js +++ b/install/ui/netgroup.js @@ -22,11 +22,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.netgroup = function() { +IPA.netgroup = {}; - return IPA.entity_builder(). - entity('netgroup'). - search_facet({ +IPA.netgroup.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'description' @@ -76,6 +80,10 @@ IPA.entity_factories.netgroup = function() { name: 'description' } ] - }). - build(); + }); + }; + + return that; }; + +IPA.register('netgroup', IPA.netgroup.entity); diff --git a/install/ui/policy.js b/install/ui/policy.js index 8a0571394..4726608c2 100644 --- a/install/ui/policy.js +++ b/install/ui/policy.js @@ -23,11 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -/**pwpolicy*/ -IPA.entity_factories.pwpolicy = function() { - return IPA.entity_builder(). - entity('pwpolicy'). - search_facet({ +IPA.pwpolicy = {}; + +IPA.pwpolicy.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns:['cn','cospriority']}). details_facet({ sections:[ @@ -63,18 +67,21 @@ IPA.entity_factories.pwpolicy = function() { 'cospriority' ], height: 300 - }). - build(); + }); + }; + + return that; }; -/** - krbtpolicy - Does not have search -*/ -IPA.entity_factories.krbtpolicy = function() { - return IPA.entity_builder(). - entity('krbtpolicy'). - details_facet({ +IPA.krbtpolicy = {}; + +IPA.krbtpolicy.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.details_facet({ title: IPA.metadata.objects.krbtpolicy.label, sections: [ { @@ -86,6 +93,11 @@ IPA.entity_factories.krbtpolicy = function() { } ], needs_update: true - }). - build(); + }); + }; + + return that; }; + +IPA.register('pwpolicy', IPA.pwpolicy.entity); +IPA.register('krbtpolicy', IPA.krbtpolicy.entity); diff --git a/install/ui/serverconfig.js b/install/ui/serverconfig.js index be2a3df94..9ecf190c4 100644 --- a/install/ui/serverconfig.js +++ b/install/ui/serverconfig.js @@ -23,14 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ +IPA.config = {}; +IPA.config.entity = function(spec) { -/* Configuration */ + var that = IPA.entity(spec); -IPA.entity_factories.config = function(){ - return IPA.entity_builder(). - entity('config'). - details_facet({ + that.init = function(params) { + + params.builder.details_facet({ title: IPA.metadata.objects.config.label, sections: [ { @@ -80,6 +81,10 @@ IPA.entity_factories.config = function(){ } ], needs_update: true - }). - build(); -};
\ No newline at end of file + }); + }; + + return that; +}; + +IPA.register('config', IPA.config.entity); diff --git a/install/ui/service.js b/install/ui/service.js index 5f88f8f10..7dc73488e 100644 --- a/install/ui/service.js +++ b/install/ui/service.js @@ -23,11 +23,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ -IPA.entity_factories.service = function() { +IPA.service = {}; - return IPA.entity_builder(). - entity('service'). - search_facet({ +IPA.service.entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'krbprincipalname' ] }). details_facet({ @@ -81,10 +85,11 @@ IPA.entity_factories.service = function() { adder_dialog({ factory: IPA.service_adder_dialog, height: 350 - }). - build(); -}; + }); + }; + return that; +}; IPA.service_adder_dialog = function(spec) { @@ -341,3 +346,5 @@ IPA.service_certificate_status_widget = function (spec) { return that; }; + +IPA.register('service', IPA.service.entity); diff --git a/install/ui/sudo.js b/install/ui/sudo.js index 1c79e0336..862478c60 100644 --- a/install/ui/sudo.js +++ b/install/ui/sudo.js @@ -22,12 +22,15 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ +IPA.sudo = {}; + +IPA.sudo.rule_entity = function(spec) { -IPA.entity_factories.sudorule = function() { + var that = IPA.entity(spec); - return IPA.entity_builder(). - entity('sudorule'). - search_facet({ + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'ipaenabledflag', @@ -39,15 +42,19 @@ IPA.entity_factories.sudorule = function() { }). adder_dialog({ fields: [ 'cn' ] - }). - build(); + }); + }; + + return that; }; -IPA.entity_factories.sudocmd = function() { +IPA.sudo.command_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { - return IPA.entity_builder(). - entity('sudocmd'). - search_facet({ + params.builder.search_facet({ columns: [ 'sudocmd', 'description' @@ -100,15 +107,19 @@ IPA.entity_factories.sudocmd = function() { name: 'description' } ] - }). - build(); + }); + }; + return that; }; -IPA.entity_factories.sudocmdgroup = function() { - return IPA.entity_builder(). - entity('sudocmdgroup'). - search_facet({ +IPA.sudo.command_group_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function(params) { + + params.builder.search_facet({ columns: [ 'cn', 'description' @@ -160,11 +171,11 @@ IPA.entity_factories.sudocmdgroup = function() { name: 'description' } ] - }). - build(); -}; + }); + }; -IPA.sudo = {}; + return that; +}; IPA.sudorule_details_facet = function(spec) { @@ -1186,3 +1197,7 @@ IPA.sudo.rule_association_adder_dialog = function(spec) { return that; }; + +IPA.register('sudorule', IPA.sudo.rule_entity); +IPA.register('sudocmd', IPA.sudo.command_entity); +IPA.register('sudocmdgroup', IPA.sudo.command_group_entity); diff --git a/install/ui/user.js b/install/ui/user.js index 8e2205686..8207bf091 100644 --- a/install/ui/user.js +++ b/install/ui/user.js @@ -23,19 +23,20 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, facet.js, entity.js */ +IPA.user = {}; -IPA.entity_factories.user = function() { +IPA.user.entity = function(spec) { + + var that = IPA.entity(spec); var link = true; if (IPA.nav && IPA.nav.name == 'self-service') { link = false; } - var builder = IPA.entity_builder(); + that.init = function(params) { - builder. - entity('user'). - search_facet({ + params.builder.search_facet({ columns: [ 'uid', 'givenname', @@ -105,7 +106,8 @@ IPA.entity_factories.user = function() { { name: 'misc', fields: ['carlicense'] - }]}). + }] + }). association_facet({ name: 'memberof_group', associator: IPA.serial_associator, @@ -167,8 +169,9 @@ IPA.entity_factories.user = function() { } ] }); + }; - return builder.build(); + return that; }; IPA.user_adder_dialog = function(spec) { @@ -461,3 +464,5 @@ IPA.user_password_widget = function(spec) { return that; }; + +IPA.register('user', IPA.user.entity); |