diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2013-04-18 12:38:38 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2013-05-06 16:22:29 +0200 |
commit | 14c276d21865f70e0ff939357b52a9830d32b5ea (patch) | |
tree | 9ccf09b0875ddbc43500c6c8bee08f5de8d20afe /install/ui/src/freeipa/automember.js | |
parent | a513673f043e37dc0fbad0b698f3f12a6a15a06c (diff) | |
download | freeipa-14c276d21865f70e0ff939357b52a9830d32b5ea.tar.gz freeipa-14c276d21865f70e0ff939357b52a9830d32b5ea.tar.xz freeipa-14c276d21865f70e0ff939357b52a9830d32b5ea.zip |
Convert definitions of entities to spec objects
https://fedorahosted.org/freeipa/ticket/3235
Diffstat (limited to 'install/ui/src/freeipa/automember.js')
-rw-r--r-- | install/ui/src/freeipa/automember.js | 108 |
1 files changed, 57 insertions, 51 deletions
diff --git a/install/ui/src/freeipa/automember.js b/install/ui/src/freeipa/automember.js index c163e188e..997799e00 100644 --- a/install/ui/src/freeipa/automember.js +++ b/install/ui/src/freeipa/automember.js @@ -31,20 +31,14 @@ define([ './entity'], function(IPA, $, navigation, phases, reg, text) { -IPA.automember = {}; +var exp = IPA.automember = {}; -IPA.automember.entity = function(spec) { +var make_spec = function() { +return { - //HACK: Automember takes_params is missing a cn attribute. This hack - //copies cn from mod command. Also it is set as pkey. - var pkey_attr = IPA.metadata.commands.automember_mod.takes_args[0]; - pkey_attr.primary_key = true; - IPA.metadata.objects.automember.takes_params.push(pkey_attr); - IPA.metadata.objects.automember.primary_key = pkey_attr.name; + name: 'automember', - spec = spec || {}; - - spec.policies = spec.policies || [ + policies:[ { $factory: IPA.facet_update_policy, source_facet: 'usergrouprule', @@ -55,16 +49,11 @@ IPA.automember.entity = function(spec) { source_facet: 'hostgrouprule', dest_facet: 'searchhostgroup' } - ]; - - var that = IPA.entity(spec); - - that.init = function() { - - that.entity_init(); - - that.builder.search_facet({ + ], + facets: [ + { $factory: IPA.automember.rule_search_facet, + $type: 'search', name: 'searchgroup', group_type: 'group', label: '@i18n:objects.automember.usergrouprules', @@ -74,9 +63,10 @@ IPA.automember.entity = function(spec) { 'cn', 'description' ] - }). - search_facet({ + }, + { $factory: IPA.automember.rule_search_facet, + $type: 'search', name: 'searchhostgroup', group_type: 'hostgroup', label: '@i18n:objects.automember.hostgrouprules', @@ -86,47 +76,56 @@ IPA.automember.entity = function(spec) { 'cn', 'description' ] - }). - details_facet({ + }, + { $factory: IPA.automember.rule_details_facet, + $type: 'details', name: 'usergrouprule', group_type: 'group', label: '@i18n:objects.automember.usergrouprule', disable_facet_tabs: true, check_rights: false, redirect_info: { facet: 'searchgroup' } - }). - details_facet({ + }, + { $factory: IPA.automember.rule_details_facet, + $type: 'details', name: 'hostgrouprule', group_type: 'hostgroup', label: '@i18n:objects.automember.hostgrouprule', disable_facet_tabs: true, check_rights: false, redirect_info: { facet: 'searchhostgroup' } - }). - adder_dialog({ - $factory: IPA.automember.rule_adder_dialog, - title: '@i18n:objects.automember.add_rule', - fields: [ - { - $type: 'entity_select', - name: 'cn', - other_entity: 'group', - other_field: 'cn' - } - ], - height: '300' - }). - deleter_dialog({ - $factory: IPA.automember.rule_deleter_dialog - }); - }; + } + ], + adder_dialog: { + $factory: IPA.automember.rule_adder_dialog, + title: '@i18n:objects.automember.add_rule', + fields: [ + { + $type: 'entity_select', + name: 'cn', + other_entity: 'group', + other_field: 'cn' + } + ], + height: '300' + }, + deleter_dialog: { + $factory: IPA.automember.rule_deleter_dialog + } +};}; - return that; +exp.metadata_extension_pre_op = function(spec, context) { + //HACK: Automember takes_params is missing a cn attribute. This hack + //copies cn from mod command. Also it is set as pkey. + var pkey_attr = IPA.metadata.commands.automember_mod.takes_args[0]; + pkey_attr.primary_key = true; + IPA.metadata.objects.automember.takes_params.push(pkey_attr); + IPA.metadata.objects.automember.primary_key = pkey_attr.name; + return spec; }; - IPA.automember.rule_search_facet = function(spec) { spec = spec || {}; @@ -698,16 +697,23 @@ IPA.automember.default_group_widget = function(spec) { return that; }; +exp.entity_spec = make_spec(); -IPA.register('automember', IPA.automember.entity); - -phases.on('registration', function() { +exp.register = function() { + var e = reg.entity; var w = reg.widget; var f = reg.field; + e.register({ + type: 'automember', + spec: exp.entity_spec, + pre_ops: [ exp.metadata_extension_pre_op ] + }); w.register('automember_condition', IPA.automember.condition_widget); f.register('automember_condition', IPA.automember.condition_field); -}); +}; + +phases.on('registration', exp.register); -return {}; +return exp; });
\ No newline at end of file |