diff options
Diffstat (limited to 'install/ui/details.js')
-rw-r--r-- | install/ui/details.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/install/ui/details.js b/install/ui/details.js index e652fa3e5..0530592d7 100644 --- a/install/ui/details.js +++ b/install/ui/details.js @@ -1068,6 +1068,33 @@ IPA.value_state_evaluator = function(spec) { return that; }; +IPA.object_class_evaluator = function(spec) { + + spec.name = spec.name || 'object_class_evaluator'; + spec.event = spec.event || 'post_load'; + + var that = IPA.state_evaluator(spec); + + + that.on_event = function(data) { + + var old_state, classes, i; + + old_state = that.state; + classes = data.result.result.objectclass; + + that.state = []; + + for (i=0; i<classes.length; i++) { + that.state.push('oc_'+classes[i]); + } + + that.notify_on_change(old_state); + }; + + return that; +}; + IPA.object_action = function(spec) { spec = spec || {}; @@ -1076,6 +1103,7 @@ IPA.object_action = function(spec) { that.method = spec.method; that.confirm_msg = spec.confirm_msg || IPA.messages.actions.confirm; + that.options = spec.options || {}; that.execute_action = function(facet, on_success, on_error) { @@ -1088,6 +1116,7 @@ IPA.object_action = function(spec) { entity: entity_name, method: that.method, args: [pkey], + options: that.options, on_success: that.get_on_success(facet, on_success), on_error: that.get_on_error(facet, on_error) }).execute(); |