summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/service.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-04-18 12:38:38 +0200
committerPetr Vobornik <pvoborni@redhat.com>2013-05-06 16:22:29 +0200
commit14c276d21865f70e0ff939357b52a9830d32b5ea (patch)
tree9ccf09b0875ddbc43500c6c8bee08f5de8d20afe /install/ui/src/freeipa/service.js
parenta513673f043e37dc0fbad0b698f3f12a6a15a06c (diff)
downloadfreeipa.git-14c276d21865f70e0ff939357b52a9830d32b5ea.tar.gz
freeipa.git-14c276d21865f70e0ff939357b52a9830d32b5ea.tar.xz
freeipa.git-14c276d21865f70e0ff939357b52a9830d32b5ea.zip
Convert definitions of entities to spec objects
https://fedorahosted.org/freeipa/ticket/3235
Diffstat (limited to 'install/ui/src/freeipa/service.js')
-rw-r--r--install/ui/src/freeipa/service.js141
1 files changed, 69 insertions, 72 deletions
diff --git a/install/ui/src/freeipa/service.js b/install/ui/src/freeipa/service.js
index 1d604390..31867073 100644
--- a/install/ui/src/freeipa/service.js
+++ b/install/ui/src/freeipa/service.js
@@ -30,13 +30,12 @@ define([
'./entity'],
function(IPA, $, phases, reg, text) {
-IPA.service = {};
+var exp =IPA.service = {};
-IPA.service.entity = function(spec) {
-
- spec = spec || {};
-
- spec.policies = spec.policies || [
+var make_spec = function() {
+return {
+ name: 'service',
+ policies: [
IPA.search_facet_update_policy,
IPA.details_facet_update_policy,
{
@@ -51,17 +50,14 @@ IPA.service.entity = function(spec) {
dest_entity: 'cert',
dest_facet: 'search'
}
- ];
-
- var that = IPA.entity(spec);
-
- that.init = function() {
- that.entity_init();
-
- that.builder.search_facet({
+ ],
+ facets: [
+ {
+ $type: 'search',
columns: [ 'krbprincipalname' ]
- }).
- details_facet({
+ },
+ {
+ $type: 'details',
$factory: IPA.service.details_facet,
sections: [
{
@@ -168,62 +164,61 @@ IPA.service.entity = function(spec) {
policies: [
IPA.service.certificate_policy
]
- }).
- association_facet({
+ },
+ {
+ $type: 'association',
name: 'managedby_host',
add_method: 'add_host',
remove_method: 'remove_host'
- }).
- standard_association_facets().
- adder_dialog({
- $factory: IPA.service_adder_dialog,
- height: 350,
- sections: [
- {
- fields: [
- {
- $type: 'combobox',
- name: 'service',
- label: '@i18n:objects.service.service',
- options: [
- 'cifs',
- 'DNS',
- 'ftp',
- 'HTTP',
- 'imap',
- 'ldap',
- 'libvirt',
- 'nfs',
- 'smtp',
- 'qpidd'
- ],
- editable: true,
- size: 10,
- required: true,
- z_index: 2
- },
- {
- $type: 'entity_select',
- name: 'host',
- other_entity: 'host',
- other_field: 'fqdn',
- label: '@i18n:objects.service.host',
- required: true,
- z_index: 1
- },
- {
- $type: 'checkbox',
- name: 'force',
- metadata: '@mc-opt:service_add:force'
- }
- ]
- }
- ]
- });
- };
-
- return that;
-};
+ }
+ ],
+ standard_association_facets: true,
+ adder_dialog: {
+ $factory: IPA.service_adder_dialog,
+ height: 350,
+ sections: [
+ {
+ fields: [
+ {
+ $type: 'combobox',
+ name: 'service',
+ label: '@i18n:objects.service.service',
+ options: [
+ 'cifs',
+ 'DNS',
+ 'ftp',
+ 'HTTP',
+ 'imap',
+ 'ldap',
+ 'libvirt',
+ 'nfs',
+ 'smtp',
+ 'qpidd'
+ ],
+ editable: true,
+ size: 10,
+ required: true,
+ z_index: 2
+ },
+ {
+ $type: 'entity_select',
+ name: 'host',
+ other_entity: 'host',
+ other_field: 'fqdn',
+ label: '@i18n:objects.service.host',
+ required: true,
+ z_index: 1
+ },
+ {
+ $type: 'checkbox',
+ name: 'force',
+ metadata: '@mc-opt:service_add:force'
+ }
+ ]
+ }
+ ]
+ }
+};};
IPA.service.details_facet = function(spec, no_init) {
@@ -509,13 +504,15 @@ IPA.service.certificate_policy = function(spec) {
return that;
};
-IPA.register('service', IPA.service.entity);
-
+exp.entity_spec = make_spec();
phases.on('registration', function() {
+ var e = reg.entity;
var w = reg.widget;
var f = reg.field;
var a = reg.action;
+ e.register({type: 'service', spec: exp.entity_spec});
+
f.register('service_name', IPA.service_name_field);
w.register('service_name', IPA.text_widget);
f.register('service_host', IPA.service_host_field);
@@ -526,5 +523,5 @@ phases.on('registration', function() {
});
-return {};
+return exp;
});