ID range adder dialog was not properly addressed in field binding
refactoring.
The usage of reset caused some weird loops.
https://fedorahosted.org/freeipa/ticket/4326
--
Petr Vobornik
From 9e9e72dc795156811662b5130ad58084a898974c Mon Sep 17 00:00:00 2001
From: Petr Vobornik <[email protected]>
Date: Thu, 24 Apr 2014 16:37:38 +0200
Subject: [PATCH] webui: regression - enable fields on idrange type change
(add)
ID range adder was not properly addressed in field binding refactoring.
The usage of reset caused some weird loops.
https://fedorahosted.org/freeipa/ticket/4326
---
install/ui/src/freeipa/idrange.js | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/install/ui/src/freeipa/idrange.js b/install/ui/src/freeipa/idrange.js
index d92ba7359ad6af74f2e7df1ce72d93188f8660c5..c7dc5c6832a484060a18197ba567cfd0f7e6b42c 100644
--- a/install/ui/src/freeipa/idrange.js
+++ b/install/ui/src/freeipa/idrange.js
@@ -19,6 +19,7 @@
*/
define([
+ 'dojo/on',
'./ipa',
'./jquery',
'./phases',
@@ -27,7 +28,7 @@ define([
'./search',
'./association',
'./entity'],
- function(IPA, $, phases, reg) {
+ function(on, IPA, $, phases, reg) {
var exp = IPA.idrange = {};
@@ -171,7 +172,7 @@ IPA.idrange_adder_policy = function(spec) {
}
function disable(field) {
- field.reset();
+ field.set_value(['']); // avoid usage of reset() to break event handler loop
field.set_required(false);
field.set_enabled(false);
}
@@ -195,9 +196,9 @@ IPA.idrange_adder_policy = function(spec) {
require(secondarybaserid_f);
}
- type_f.widget.value_changed.attach(that.on_input_change);
- baserid_f.widget.value_changed.attach(that.on_input_change);
- secondarybaserid_f.widget.value_changed.attach(that.on_input_change);
+ on(type_f, 'value-change', that.on_input_change);
+ on(baserid_f, 'value-change', that.on_input_change);
+ on(secondarybaserid_f, 'value-change', that.on_input_change);
};
that.on_input_change = function() {
@@ -206,9 +207,9 @@ IPA.idrange_adder_policy = function(spec) {
var secondarybaserid_f = that.container.fields.get_field('ipasecondarybaserid');
var trusteddomainsid_f = that.container.fields.get_field('ipanttrusteddomainsid');
- var type_v = type_f.save()[0];
- var baserid_v = baserid_f.save()[0] || '';
- var secondarybaserid_v = secondarybaserid_f.save()[0] || '';
+ var type_v = type_f.get_value()[0];
+ var baserid_v = baserid_f.get_value()[0] || '';
+ var secondarybaserid_v = secondarybaserid_f.get_value()[0] || '';
var is_ad_range = (type_v === 'ipa-ad-trust' || type_v === 'ipa-ad-trust-posix');
--
1.9.0
_______________________________________________
Freeipa-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/freeipa-devel