summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-03-14 15:31:46 +0100
committerPetr Vobornik <pvoborni@redhat.com>2013-05-06 16:22:19 +0200
commita8b48a8f42e989d4c10a84584f6c0e5281c81d5e (patch)
tree1f9bd986613c37bfa49a75e202ec33d9af958ce8
parent41324cf619c3892cf76e41ff7e2132620c9c5e19 (diff)
downloadfreeipa-a8b48a8f42e989d4c10a84584f6c0e5281c81d5e.tar.gz
freeipa-a8b48a8f42e989d4c10a84584f6c0e5281c81d5e.tar.xz
freeipa-a8b48a8f42e989d4c10a84584f6c0e5281c81d5e.zip
Don't expect key for singleton objects (dnsconfig, config, realmdomains)
https://fedorahosted.org/freeipa/ticket/3236
-rw-r--r--install/ui/src/freeipa/dns.js3
-rw-r--r--install/ui/src/freeipa/entity.js2
-rw-r--r--install/ui/src/freeipa/facet.js2
-rw-r--r--install/ui/src/freeipa/navigation/Router.js2
-rw-r--r--install/ui/src/freeipa/realmdomains.js2
-rw-r--r--install/ui/src/freeipa/serverconfig.js2
6 files changed, 12 insertions, 1 deletions
diff --git a/install/ui/src/freeipa/dns.js b/install/ui/src/freeipa/dns.js
index 8131e14f5..5845bbfaa 100644
--- a/install/ui/src/freeipa/dns.js
+++ b/install/ui/src/freeipa/dns.js
@@ -29,6 +29,9 @@ IPA.dns = {
IPA.dns.config_entity = function(spec) {
+ spec = spec || {};
+ spec.defines_key = false;
+
var that = IPA.entity(spec);
that.init = function() {
diff --git a/install/ui/src/freeipa/entity.js b/install/ui/src/freeipa/entity.js
index 36fadf1ce..598a194f2 100644
--- a/install/ui/src/freeipa/entity.js
+++ b/install/ui/src/freeipa/entity.js
@@ -37,6 +37,8 @@ IPA.entity = function(spec) {
that.name = spec.name;
that.label = spec.label;
+ that.defines_key = spec.defines_key !== undefined ? spec.defines_key : true;
+
that.metadata = spec.metadata;
that.builder = spec.builder;
diff --git a/install/ui/src/freeipa/facet.js b/install/ui/src/freeipa/facet.js
index 555dfe33d..cb31f24b3 100644
--- a/install/ui/src/freeipa/facet.js
+++ b/install/ui/src/freeipa/facet.js
@@ -198,8 +198,8 @@ IPA.facet = function(spec, no_init) {
var cur_l = cur_keys.length;
var tot_c = 0;
while (current_entity) {
+ if (current_entity.defines_key) tot_c++;
current_entity = current_entity.get_containing_entity();
- tot_c++;
}
if (tot_c < arg_l || tot_c < cur_l) throw {
diff --git a/install/ui/src/freeipa/navigation/Router.js b/install/ui/src/freeipa/navigation/Router.js
index ca1417649..d51505ed8 100644
--- a/install/ui/src/freeipa/navigation/Router.js
+++ b/install/ui/src/freeipa/navigation/Router.js
@@ -312,6 +312,8 @@ define(['dojo/_base/declare',
*/
_decode_pkeys: function(str) {
+ if (!str) return [];
+
var keys = str.split('&');
for (var i=0; i<keys.length; i++) {
keys[i] = decodeURIComponent(keys[i]);
diff --git a/install/ui/src/freeipa/realmdomains.js b/install/ui/src/freeipa/realmdomains.js
index ea3997a15..0121b89c3 100644
--- a/install/ui/src/freeipa/realmdomains.js
+++ b/install/ui/src/freeipa/realmdomains.js
@@ -24,6 +24,8 @@ define(['./ipa', './jquery', './details', './entity'], function (IPA, $) {
IPA.realmdomains.entity = function (spec) {
+ spec = spec || {};
+ spec.defines_key = false;
var that = IPA.entity(spec);
that.init = function () {
diff --git a/install/ui/src/freeipa/serverconfig.js b/install/ui/src/freeipa/serverconfig.js
index 1c6dd219b..02db38cb7 100644
--- a/install/ui/src/freeipa/serverconfig.js
+++ b/install/ui/src/freeipa/serverconfig.js
@@ -26,6 +26,8 @@ IPA.serverconfig = {};
IPA.serverconfig.entity = function(spec) {
+ spec = spec || {};
+ spec.defines_key = false;
var that = IPA.entity(spec);
that.init = function() {