The realm name is necessary to create the correct service.

--
Endi S. Dewata
From bac9a338355533d1bda3cf708c0c2d5baf63bf33 Mon Sep 17 00:00:00 2001
From: Endi S. Dewata <edew...@redhat.com>
Date: Wed, 9 Feb 2011 10:56:25 -0600
Subject: [PATCH] Append realm name to service principal name.

The realm name is necessary to create the correct service.
---
 install/ui/dialog.js  |    1 +
 install/ui/service.js |   54 +++++++++++++++++++++++++-----------------------
 install/ui/widget.js  |    1 +
 3 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/install/ui/dialog.js b/install/ui/dialog.js
index b1f84a98bbd11a827415664d1357cdf90cb90fb3..9783c7b4cf8d2abb6c14f8635c99e83e3a5897fc 100644
--- a/install/ui/dialog.js
+++ b/install/ui/dialog.js
@@ -117,6 +117,7 @@ IPA.dialog = function(spec) {
 
         for (var i=0; i<that.fields.length; i++) {
             var field = that.fields[i];
+            if (field.hidden) continue;
 
             var tr = $('<tr/>').appendTo(table);
 
diff --git a/install/ui/service.js b/install/ui/service.js
index 409aa5dfaede03ef85b9c6cec57fd258967cec01..4a6c13ff707a0102e9627881e9095dffd110da0f 100644
--- a/install/ui/service.js
+++ b/install/ui/service.js
@@ -23,35 +23,36 @@
 
 /* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */
 
-IPA.entity_factories.service = function () {
+IPA.entity_factories.service = function() {
 
     return  IPA.entity({
-        'name': 'service'
+        name: 'service'
     }).
         association({
-            'name': 'host',
-            'add_method': 'add_host',
-            'remove_method': 'remove_host'
+            name: 'host',
+            add_method: 'add_host',
+            remove_method: 'remove_host'
         }).
         facet(
             IPA.search_facet().
                 column({name: 'krbprincipalname'}).
                 dialog(
                     IPA.service_add_dialog({
-                        'name': 'add',
-                        'title': 'Add New Service'
+                        name: 'add',
+                        title: 'Add New Service',
+                        width: '450px'
                     }))).
-        facet( IPA.service_details_facet()).
-        facet( IPA.service_managedby_host_facet({
-            'name': 'managedby_host',
-            'label': IPA.messages.association.managedby +
+        facet(IPA.service_details_facet()).
+        facet(IPA.service_managedby_host_facet({
+            name: 'managedby_host',
+            label: IPA.messages.association.managedby +
                 ' '+IPA.metadata['host'].label,
-            'other_entity': 'host'
+            other_entity: 'host'
         }));
 };
 
 
-IPA.service_select_widget = function (spec){
+IPA.service_select_widget = function(spec) {
 
     var that = IPA.text_widget(spec);
     var known_services = ["", "cifs", "DNS", "ftp", "HTTP","imap", "ldap",
@@ -81,25 +82,26 @@ IPA.service_select_widget = function (spec){
 
 /*TODO: the following labels etc. all need to be replaced with I18N strings */
 
-IPA.service_add_dialog = function (spec) {
+IPA.service_add_dialog = function(spec) {
 
     spec = spec || {};
 
     var that = IPA.add_dialog(spec).
         field(IPA.widget({
-            name: 'krbprincipalname'
+            name: 'krbprincipalname',
+            hidden: true
         })).
         field(IPA.service_select_widget({
-            'name': 'service',
-            'label': 'Service',
-            'size': 20,
-            'undo': false
+            name: 'service',
+            label: 'Service',
+            size: 20,
+            undo: false
         })).
         field(IPA.text_widget({
-            'name': 'host',
-            'label': 'Host Name',
-            'size': 40,
-            'undo': false
+            name: 'host',
+            label: 'Host Name',
+            size: 40,
+            undo: false
         })).
         field(IPA.checkbox_widget({
             name: 'force',
@@ -117,7 +119,7 @@ IPA.service_add_dialog = function (spec) {
         field = that.get_field('host');
         var host = field.save()[0];
 
-        record['krbprincipalname'] = service+'/'+host;
+        record['krbprincipalname'] = service+'/'+host+'@'+IPA.env.realm;
 
         field = that.get_field('force');
         record['force'] = field.save()[0];
@@ -127,7 +129,7 @@ IPA.service_add_dialog = function (spec) {
 };
 
 
-IPA.service_details_facet = function (spec) {
+IPA.service_details_facet = function(spec) {
 
     spec = spec || {};
 
@@ -360,7 +362,7 @@ function service_certificate_status_widget(spec) {
     return that;
 }
 
-IPA.service_managedby_host_facet = function (spec) {
+IPA.service_managedby_host_facet = function(spec) {
 
     spec = spec || {};
 
diff --git a/install/ui/widget.js b/install/ui/widget.js
index eb2f70cfc0407d36fa6dd04ef7a4e9acb2f82853..2c1bdb039b582b348dc97cc99762c6aa66d50d2f 100644
--- a/install/ui/widget.js
+++ b/install/ui/widget.js
@@ -35,6 +35,7 @@ IPA.widget = function(spec) {
     that.tooltip = spec.tooltip;
 
     that.disabled = spec.disabled;
+    that.hidden = spec.hidden;
 
     // read_only is set during initialization
     that.read_only = spec.read_only;
-- 
1.6.6.1

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to