Fixes https://fedorahosted.org/freeipa/ticket/772
Depends on freeipa-admiyo-0154-1-declarative-defintions.patch
From a2bc445f1390aabb971230c04e0b48c39cb19725 Mon Sep 17 00:00:00 2001 From: Adam Young <ayo...@redhat.com> Date: Wed, 26 Jan 2011 13:46:49 -0500 Subject: [PATCH] declarative for aci A couple of the ACI definitions were incorrect, and the end result was that fields were not getting initialized. USing the declarative approach cleaned up the cause. Also fixed a few broken unit tests --- install/ui/aci.js | 340 ++++++++++------------------------- install/ui/serverconfig.js | 34 ++-- install/ui/test/details_tests.js | 6 +- install/ui/test/entity_tests.js | 11 +- install/ui/test/navigation_tests.js | 10 +- 5 files changed, 121 insertions(+), 280 deletions(-) diff --git a/install/ui/aci.js b/install/ui/aci.js index 4e975d85528563f1e3888155235d42205aef7d09..91be59acc210aa7e305bdbd693934ff6e1602f37 100644 --- a/install/ui/aci.js +++ b/install/ui/aci.js @@ -458,9 +458,6 @@ IPA.target_section = function () { appendTo(dl); } - - - that.create = function(container) { var dl = $('<dl class="entryattrs"/>').appendTo(container); @@ -565,111 +562,35 @@ IPA.target_section = function () { IPA.entity_factories.permission = function () { - var that = IPA.entity({ + return IPA.entity({ 'name': 'permission' - }); - - that.init = function() { - - var dialog = IPA.permission_add_dialog({ + }).add_dialog( + IPA.add_dialog({ name: 'add', - title: 'Add New Permission', - entity_name: 'permission' - }); - that.add_dialog(dialog); - dialog.init(); - - var facet = IPA.permission_search_facet({ - name: 'search', - label: 'Search' - }); - that.add_facet(facet); - - facet = IPA.permission_details_facet(); - that.add_facet(facet); - - that.entity_init(); - }; - - return that; -}; - - - -IPA.permission_add_dialog = function (spec) { - - spec = spec || {}; - - var that = IPA.add_dialog(spec); - - that.init = function() { - - that.add_field(IPA.text_widget({ - name: 'cn', - undo: false - })); - - that.add_field(IPA.text_widget({ - name: 'description', - undo: false - })); - - that.add_field(IPA.rights_widget({name:'permissions'})); - that.add_field(IPA.hidden_widget({name:'filter','value':'objectClass=changethisvalue'})); - that.add_dialog_init(); - }; - - - return that; -}; - - -IPA.permission_search_facet = function (spec) { - - spec = spec || {}; - var that = IPA.search_facet(spec); - that.init = function() { - that.create_column({name:'cn'}); - that.create_column({name:'description'}); - that.search_facet_init(); - }; - return that; -}; - - -IPA.permission_details_facet = function () { - - var spec = { - name: 'details' - }; - var that = IPA.details_facet(spec); - - that.init = function() { - - var section = that.add_section(IPA.details_list_section({ - name:'identity',label:'Identity' })); - section.create_field({ name: 'cn', 'read_only': true }); - section.create_field({ name: 'description'}); - - that.rights_section = IPA.rights_section(); - that.add_section(that.rights_section); - - that.target_section = IPA.target_section(); - - that.add_section(that.target_section); - that.details_facet_init(); - }; - - that.superior_load = that.load; - - that.load = function(result) { - that.superior_load(result); - }; - - that.superior_update = that.update; - that.update = function(on_win, on_fail){ - that.superior_update(on_win, on_fail); - }; + title: 'Add New Permission' + }). + field(IPA.text_widget({ + name: 'cn', + undo: false + })). + field(IPA.text_widget({ + name: 'description', + undo: false + })). + field(IPA.rights_widget({name:'permissions'})). + field(IPA.hidden_widget( + {name:'filter','value':'objectClass=changethisvalue'}))). + facet(IPA.search_facet(). + column({name:'cn'}). + column({name:'description'})). + facet(IPA.details_facet({ name: 'details' }). + section( + IPA.stanza({ + name:'identity',label:'Identity' }). + input({ name: 'cn', 'read_only': true }). + input({ name: 'description'})). + section(IPA.rights_section()). + section(IPA.target_section())); return that; }; @@ -718,155 +639,88 @@ IPA.entity_factories.privilege = function() { IPA.entity_factories.role = function() { - var that = IPA.entity({ + return IPA.entity({ 'name': 'role' - }); - that.init = function() { - var search_facet = IPA.search_facet({ - name: 'search', - label: 'Search', - entity_name: that.name - }); - search_facet.create_column({name:'cn'}); - search_facet.create_column({name:'description'}); - that.add_facet(search_facet); - - that.add_facet(function() { - var that = IPA.details_facet({name:'details'}); - that.add_section( - IPA.stanza({name:'identity', label:'Role Settings'}). - input({name:'cn'}). - input({name: 'description'})); - return that; - }()); - - var dialog = IPA.add_dialog({ - name: 'add', - title: 'Add Role' - }); - that.add_dialog(dialog); - - dialog.add_field(IPA.text_widget({ name: 'cn', undo: false})); - dialog.add_field(IPA.text_widget({ name: 'description', undo: false})); - dialog.init(); - - that.create_association_facets(); - - that.entity_init(); - }; - return that; + }). + facet(IPA.search_facet(). + column({name:'cn'}). + column({name:'description'})). + facet( + IPA.details_facet({name:'details'}). + section( + IPA.stanza({name:'identity', label:'Role Settings'}). + input({name:'cn'}). + input({name: 'description'}))). + add_dialog( + IPA.add_dialog({ + name: 'add', + title: 'Add Role' + }). + field(IPA.text_widget({ name: 'cn', undo: false})). + field(IPA.text_widget({ name: 'description', undo: false}))). + standard_associations(); }; IPA.entity_factories.selfservice = function() { - var that = IPA.entity({ + return IPA.entity({ 'name': 'selfservice' - }); - - that.add_facet(function () { - var spec = { - name: 'search', - label: 'Search' - }; - var that = IPA.search_facet(spec); - that.init = function() { - that.create_column({name:'aciname'}); - that.search_facet_init(); - }; - return that; - }()); - - - that.add_facet(function(){ - var that = IPA.details_facet({'name':'details'}); - - that.init = function() { - that.add_section( - IPA.stanza({name:'general', label:'General', - entity_name:'selfservice'}). - input({name:'aciname'}). - custom_input(IPA.attribute_table_widget({ - object_type:'user', - name:'attrs' - }))); - }; - return that; - }()); - - that.parent_init = that.init; - that.init = function(){ - that.parent_init(); - var dialog = IPA.add_dialog({ - name: 'add', - title: 'Add Self Service Definition' - }); - that.add_dialog(dialog); - dialog.add_field(IPA.text_widget({ name: 'aciname', undo: false})); - dialog.add_field(IPA.attribute_table_widget({ - object_type:'user', - name:'attrs' - })); - dialog.init(); - }; - return that; + }). + facet(IPA.search_facet(). + column({name:'aciname'})). + facet( + IPA.details_facet({'name':'details'}). + section( + IPA.stanza({name:'general', label:'General'}). + input({name:'aciname'}). + custom_input(IPA.attribute_table_widget({ + object_type:'user', + name:'attrs' + })))). + add_dialog( + IPA.add_dialog({ + name: 'add', + title: 'Add Self Service Definition' + }). + field(IPA.text_widget({ name: 'aciname', undo: false})). + field(IPA.attribute_table_widget({ + object_type:'user', + name:'attrs' + }))); }; IPA.entity_factories.delegation = function() { var that = IPA.entity({ 'name': 'delegation' - }); - - that.add_facet(function () { - var spec = { - name: 'search', - label: 'Search' - }; - var that = IPA.search_facet(spec); - that.init = function() { - that.create_column({name:'aciname'}); - that.search_facet_init(); - }; - return that; - }()); - that.add_facet(function(){ - var that = IPA.details_facet({'name':'details'}); - var section = - IPA.stanza({name:'general', label:'General'}). - input({name:'aciname'}). - custom_input(IPA.entity_select_widget( - {name:'group', entity:'group'})). - custom_input(IPA.entity_select_widget( - {name:'memberof', entity:'group'})). - custom_input( - IPA.rights_widget({ - id:'delegation_rights'})). - custom_input( - IPA.attribute_table_widget({ - name:'attrs'})); - that.add_section(section); - return that; - }()); - - that.super_init = that.init; - that.init = function(){ - that.super_init(); - var dialog = IPA.add_dialog({ + }).facet( + IPA.search_facet(). + column({name:'aciname'})). + facet( + IPA.details_facet(). + section( + IPA.stanza({name:'general', label:'General'}). + input({name:'aciname'}). + custom_input(IPA.entity_select_widget( + {name:'group', entity:'group'})). + custom_input(IPA.entity_select_widget( + {name:'memberof', entity:'group'})). + custom_input( + IPA.rights_widget({ + id:'delegation_rights'})). + custom_input( + IPA.attribute_table_widget({ + name:'attrs'})))). + add_dialog(IPA.add_dialog({ name: 'add', - title: 'Add Delegation', - entity_name: that.entity - }); - that.add_dialog(dialog); - dialog.add_field(IPA.text_widget({ name: 'aciname', undo: false})); - dialog.add_field(IPA.entity_select_widget({name:'group', - entity:'group'})); - dialog.add_field(IPA.entity_select_widget({name:'memberof', - entity:'group'})); - dialog.add_field(IPA.attribute_table_widget({ name: 'attrs'})); - - dialog.init(); - that.create_association_facets(); - }; - + title: 'Add Delegation' + }). + field(IPA.text_widget({ name: 'aciname', undo: false})). + field(IPA.entity_select_widget({name:'group', + entity:'group'})). + field(IPA.entity_select_widget({name:'memberof', + entity:'group'})). + field(IPA.attribute_table_widget({ name: 'attrs'}))). + standard_associations(); return that; }; \ No newline at end of file diff --git a/install/ui/serverconfig.js b/install/ui/serverconfig.js index dbf46df43cff88e99c7e832d2c1ba97990532832..46e2e48564ded34bde0539fab6d62e9aa73414db 100644 --- a/install/ui/serverconfig.js +++ b/install/ui/serverconfig.js @@ -31,24 +31,20 @@ IPA.entity_factories.config = function(){ var that = IPA.entity({ name: 'config' - }); - - var details = IPA.details_facet(); - - details.add_section( - IPA.stanza({name:'ipaserver', label:'Configuration'}). - input({name:'cn', label:'Name'}). - input({name:'ipacertificatesubjectbase'}). - input({name:'ipadefaultloginshell'}). - input({name:'ipadefaultprimarygroup'}). - input({name:'ipagroupsearchfields'}). - input({name:'ipahomesrootdir'}). - input({name:'ipamaxusernamelength'}). - input({name:'ipamigrationenabled'}). - input({name:'ipasearchrecordslimit'}). - input({name:'ipasearchtimelimit'}). - input({name:'ipausersearchfields'})); - - that.add_facet(details); + }).facet( + IPA.details_facet(). + section( + IPA.stanza({name:'ipaserver', label:'Configuration'}). + input({name:'cn', label:'Name'}). + input({name:'ipacertificatesubjectbase'}). + input({name:'ipadefaultloginshell'}). + input({name:'ipadefaultprimarygroup'}). + input({name:'ipagroupsearchfields'}). + input({name:'ipahomesrootdir'}). + input({name:'ipamaxusernamelength'}). + input({name:'ipamigrationenabled'}). + input({name:'ipasearchrecordslimit'}). + input({name:'ipasearchtimelimit'}). + input({name:'ipausersearchfields'}))); return that; }; \ No newline at end of file diff --git a/install/ui/test/details_tests.js b/install/ui/test/details_tests.js index 38609072fc0ecd5fcdee460635412041aafa7ae6..fb33808c7faf60bbeda9090ebd20fa5a64b94113 100644 --- a/install/ui/test/details_tests.js +++ b/install/ui/test/details_tests.js @@ -22,11 +22,11 @@ module('details', { setup: function() { var obj_name = 'user'; - IPA.register_entity( + IPA.entity_factories.user= function(){ return IPA.entity({name:obj_name}); - }); - IPA.start_entities(); + }; + IPA.start_entities(); }, teardown: function() { } diff --git a/install/ui/test/entity_tests.js b/install/ui/test/entity_tests.js index a5878a6ce00c770fc98aa0a3e01c60d6758e3688..1178b99faf36ede0abfc8c8f5f5ea4904d79a913 100644 --- a/install/ui/test/entity_tests.js +++ b/install/ui/test/entity_tests.js @@ -20,7 +20,8 @@ module('entity',{ setup: function() { - IPA.register_entity(function(){return IPA.entity({name:'user'})}); + IPA.entity_factories.user = function(){ + return IPA.entity({name:'user'})}; IPA.start_entities(); }, teardown: function() { @@ -87,14 +88,6 @@ test('Testing ipa_facet_setup_views().', function() { ); - IPA.register_entity(function(){ - var entity = IPA.entity({ - 'name': 'user' - }); - - return entity; - }); - IPA.start_entities(); var entity = IPA.get_entity('user'); diff --git a/install/ui/test/navigation_tests.js b/install/ui/test/navigation_tests.js index 916259b4115a1bb631aa284c3f7a617c373c3d99..9db0bb1cc3b0aa71d5dc705b873adf06188fb34f 100644 --- a/install/ui/test/navigation_tests.js +++ b/install/ui/test/navigation_tests.js @@ -31,7 +31,7 @@ test("Testing nav_create().", function() { var entity; - IPA.register_entity( function() { + IPA.entity_factories.user = function() { var that = IPA.entity({name: 'user'}); that.setup = function(container){ user_mock_called = true; @@ -39,10 +39,8 @@ test("Testing nav_create().", function() { same(container[0].nodeName,'DIV','user div'); } return that; - }); - - IPA.register_entity( function(){ - + }; + IPA.entity_factories.group = function(){ var that = IPA.entity({name: 'group'}); that.setup = function(container){ group_mock_called = true; @@ -50,7 +48,7 @@ test("Testing nav_create().", function() { same(container[0].nodeName,'DIV','group Div'); }; return that; - }); + }; IPA.start_entities(); -- 1.7.3.5
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel