diff --git a/install/static/details.js b/install/static/details.js index a3f1b2a5c..5e3cd8d62 100644 --- a/install/static/details.js +++ b/install/static/details.js @@ -338,7 +338,7 @@ function ipa_details_list_section(spec){ } }; - // Deprecated: Used for backward compatibility only. + // This is to allow declarative style programming for details function input(spec){ that.create_field(spec); return that; @@ -349,7 +349,7 @@ function ipa_details_list_section(spec){ return that; } -// Deprecated: Used for backward compatibility only. +// shorthand notation used for declarative definitions of details pages function ipa_stanza(spec) { return ipa_details_list_section(spec); } diff --git a/install/static/group.js b/install/static/group.js index b44463439..8c2087f66 100644 --- a/install/static/group.js +++ b/install/static/group.js @@ -89,10 +89,14 @@ function ipa_group_add_dialog(spec) { that.add_dialog_init(); - that.add_field(ipa_text_widget({name:'cn', label:'Name', undo: false})); - that.add_field(ipa_text_widget({name:'description', label:'Description', undo: false})); - that.add_field(ipa_checkbox_widget({name:'posix', label:'Is this a POSIX group?', undo: false})); - that.add_field(ipa_text_widget({name:'gidnumber', label:'GID', undo: false})); + that.add_field(ipa_text_widget({name:'cn', entity_name:'group', + undo: false})); + that.add_field(ipa_text_widget({name:'description', + entity_name:'group', undo: false})); + that.add_field(ipa_checkbox_widget({name:'posix', entity_name:'group', + undo: false})); + that.add_field(ipa_text_widget({name:'gidnumber', entity_name:'group', + undo: false})); }; return that; @@ -105,11 +109,9 @@ function ipa_group_search_facet(spec) { var that = ipa_search_facet(spec); that.init = function() { - - that.create_column({name:'cn', label:'Name'}); - that.create_column({name:'gidnumber', label:'GID'}); - that.create_column({name:'description', label:'Description'}); - + that.create_column({name:'cn'}); + that.create_column({name:'gidnumber'}); + that.create_column({name:'description'}); that.search_facet_init(); }; @@ -130,20 +132,9 @@ function ipa_group_details_facet(spec) { }); that.add_section(section); - section.create_field({ - name: 'cn', - label: 'Group Name' - }); - - section.create_field({ - name: 'description', - label: 'Description' - }); - - section.create_field({ - name: 'gidnumber', - label: 'Group ID' - }); + section.create_field({name: 'cn' }); + section.create_field({name: 'description'}); + section.create_field({name: 'gidnumber' }); that.details_facet_init(); }; diff --git a/install/static/host.js b/install/static/host.js index 484b64771..4a60bbccd 100644 --- a/install/static/host.js +++ b/install/static/host.js @@ -87,7 +87,7 @@ function ipa_host_add_dialog(spec) { that.add_field(ipa_text_widget({ 'name': 'fqdn', - 'label': 'Name', + entity_name:'host', 'size': 40, 'undo': false })); @@ -104,10 +104,11 @@ function ipa_host_search_facet(spec) { that.init = function() { - that.create_column({name:'fqdn', label:'Name'}); - that.create_column({name:'description', label:'Description'}); - that.create_column({name:'enrolled', label:'Enrolled?'}); - that.create_column({name:'manages', label:'Manages?'}); + that.create_column({name:'fqdn'}); + that.create_column({name:'description'}); + //TODO use the value of this field to set enrollment status + that.create_column({name:'krblastpwdchange', label:'Enrolled?'}); + that.create_column({name:'nshostlocation'}); that.search_facet_init(); }; @@ -129,25 +130,16 @@ function ipa_host_details_facet(spec) { }); that.add_section(section); - section.create_field({ - 'name': 'fqdn', - 'label': 'Fully Qualified Domain Name' - }); - - section.create_field({ - 'name': 'krbprincipalname', - 'label': 'Kerberos Principal' - }); + section.create_field({'name': 'fqdn'}); + section.create_field({'name': 'krbprincipalname'}); + //TODO add this to the host plugin section.create_field({ 'name': 'serverhostname', 'label': 'Server Host Name' }); - section.create_field({ - 'name': 'description', - 'label': 'Description' - }); + section.create_field({'name': 'description'}); section = ipa_details_list_section({ 'name': 'enrollment', @@ -155,6 +147,7 @@ function ipa_host_details_facet(spec) { }); that.add_section(section); + //TODO add label to messages section.add_field(host_provisioning_status_widget({ 'name': 'provisioning_status', 'label': 'Status', diff --git a/install/static/hostgroup.js b/install/static/hostgroup.js index eb7f8b5c0..99be72599 100644 --- a/install/static/hostgroup.js +++ b/install/static/hostgroup.js @@ -20,23 +20,48 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */ -ipa_entity_set_search_definition('hostgroup', [ - ['cn', 'Name', null], - ['description', 'Description', null] -]); -ipa_entity_set_add_definition('hostgroup', [ - 'dialog-add-hostgroup', 'Add New Hostgroup', [ - ['cn', 'Name', null], - ['description', 'Description', null] - ] -]); +IPA.add_entity( function() { + var that = ipa_entity({ + 'name': 'hostgroup' + }); + 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',label:'Details'}); + that.add_section( + ipa_stanza({name:'identity', label:'Hostgroup Details'}). + input({name:'cn'}). + input({name: 'description'})); + return that; + }()); + + + var dialog = ipa_add_dialog({ + name: 'add', + title: 'Add Hostgroup', + entity_name:'hostgroup' + }); + + that.add_dialog(dialog); + dialog.init(); + dialog.add_field(ipa_text_widget({ name: 'cn', + entity_name:'hostgroup'})); + dialog.add_field(ipa_text_widget({ name: 'description', + entity_name:'hostgroup' })); + that.create_association_facets(); + that.entity_init(); + } + return that; +}()); + -ipa_entity_set_details_definition('hostgroup', [ - ipa_stanza({name:'identity', label:'Hostgroup Details'}). - input({name:'cn', label:'Name'}). - input({name: 'description', label:'Description'}) -]); -ipa_entity_set_association_definition('hostgroup', { -}); diff --git a/install/static/netgroup.js b/install/static/netgroup.js index 0341ed78a..b0b2ede33 100644 --- a/install/static/netgroup.js +++ b/install/static/netgroup.js @@ -20,24 +20,48 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */ -ipa_entity_set_search_definition('netgroup', [ - ['cn', 'Name', null], - ['description', 'Description', null] -]); +IPA.add_entity( function() { + var that = ipa_entity({ + 'name': 'netgroup' + }); + 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',label:'Details'}); + that.add_section( + ipa_stanza({name:'identity', label:'Netgroup Details'}). + input({name:'cn'}). + input({name: 'description'}). + input({name:'nisdomainname'})); + return that; + }()); + + + var dialog = ipa_add_dialog({ + name: 'add', + title: 'Add Netgroup', + entity_name:'netgroup' + }); + + that.add_dialog(dialog); + dialog.init(); + dialog.add_field(ipa_text_widget({ name: 'cn', + entity_name:'netgroup'})); + dialog.add_field(ipa_text_widget({ name: 'description', + entity_name:'netgroup' })); + that.create_association_facets(); + that.entity_init(); + } + return that; +}()); -ipa_entity_set_add_definition('netgroup', [ - 'dialog-add-netgroup', 'Add New Netgroup', [ - ['cn', 'Name', null], - ['description', 'Description', null] - ] -]); -ipa_entity_set_details_definition('netgroup', [ - ipa_stanza({name:'identity', label:'Netgroup Details'}). - input({name:'cn', label:'Name'}). - input({name:'description', label:'Description'}). - input({name:'nisdomainname', label:'NIS Domain'}) -]); -ipa_entity_set_association_definition('netgroup', { -}); diff --git a/install/static/policy.js b/install/static/policy.js index 18c4ef550..9b62a18f4 100644 --- a/install/static/policy.js +++ b/install/static/policy.js @@ -21,46 +21,72 @@ /* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */ /* DNS */ -ipa_entity_set_search_definition('dnszone', [ - ['idnsname', 'Zone Name', null] -]); + +IPA.add_entity(function (){ + var that = ipa_entity({ + name: 'dnszone' + }); + + that.init = function() { + var search_facet = ipa_search_facet({ + name: 'search', + label: 'Search', + entity_name: that.name + }); + search_facet.create_column({name:'idnsname'}); + that.add_facet(search_facet); + + that.add_facet(function() { + var that = ipa_details_facet({name:'details',label:'Details'}); + that.add_section( + ipa_stanza({name:'identity', label:'DNS Zone Details'}). + input({name:'idnsname'}). + input({name:'idnszoneactive'}). + input({name:'idnssoamname'}). + input({name:'idnssoarname'}). + input({name:'idnssoaserial'}). + input({name:'idnssoarefresh'}). + input({name:'idnssoaretry'}). + input({name:'idnssoaexpire'}). + input({name:'idnssoaminimum'}). + input({name:'dnsttl'}). + input({name:'dnsclass'}). + input({name:'idnsallowdynupdate'}). + input({name:'idnsupdatepolicy'})); + + return that; + }()); + + that.add_facet( ipa_records_facet({ + 'name': 'records', + 'label': IPA.metadata.dnsrecord.label + })); + + var dialog = ipa_add_dialog({ + name: 'add', + title: 'Add DNS Zone', + entity_name:'dnszone' + }); + + that.add_dialog(dialog); + dialog.init(); + + dialog.add_field(ipa_text_widget({ name: 'idnsname', + entity_name:'dnszone'})); + dialog.add_field(ipa_text_widget({ name: 'idnssoamname', + entity_name:'dnszone'})); + dialog.add_field(ipa_text_widget({ name: 'idnssoarname', + entity_name:'dnszone'})); + + that.create_association_facets(); + that.entity_init(); + } -ipa_entity_set_add_definition('dnszone', [ - 'dialog-add-dns', 'Add New Zone', [ - ['idnsname', 'Name', null], - ['idnssoamname', 'Authoritative name server'], - ['idnssoarname','administrator e-mail address'] - ] -]); - -ipa_entity_set_details_definition('dnszone', [ - ipa_stanza({name:'identity', label:'DNS Zone Details'}). - input({name:'idnsname', label:'DNS Name'}). - input({name:'idnszoneactive', label:'Zone Active'}). - input({name:'idnssoamname', label:'Authoritative name server'}). - input({name:'idnssoarname', label:'administrator e-mail address'}). - input({name:'idnssoaserial', label:'SOA serial'}). - input({name:'idnssoarefresh', label:'SOA refresh'}). - input({name:'idnssoaretry', label:'SOA retry'}). - input({name:'idnssoaexpire', label:'SOA expire'}). - input({name:'idnssoaminimum', label:'SOA minimum'}). - input({name:'dnsttl', label:'SOA time to live'}). - input({name:'dnsclass', label:'SOA class'}). - input({name:'idnsallowdynupdate', label:'allow dynamic update?'}). - input({name:'idnsupdatepolicy', label:'BIND update policy'}) -]); - -ipa_entity_set_association_definition('dnszone', { -}); + return that; +}()); -ipa_entity_set_facet_definition('dnszone', [ - ipa_records_facet({ - 'name': 'records', - 'label': 'Records' - })] -); function ipa_records_facet(spec){ @@ -256,7 +282,6 @@ function ipa_records_facet(spec){ }; function create(container) { -// that.setup_views(container); } function setup(container){ @@ -322,9 +347,6 @@ function ipa_records_facet(spec){ 'click': function(){delete_records(records_table);} }).appendTo(action_controls); - - - div.append(''); var records_results = $('
', { @@ -349,8 +371,9 @@ function ipa_records_facet(spec){ } }) )); - tr.append($('