From f43cd0893beb9a1afca3881bd1ca75eac78ef8ab Mon Sep 17 00:00:00 2001
From: Pavel Vomacka <pvomacka@redhat.com>
Date: Wed, 6 Sep 2017 13:51:16 +0200
Subject: [PATCH] WebUI: Fix calling undefined method during reset passwords

When calling reset password the whoami command is not called in batch
command, therefore the result is different then in calling
during reset password operation. That needs to be handled to properly
set entity_show method which needs to be called after to gather
data about logged in entity.

https://pagure.io/freeipa/issue/7143
---
 install/ui/src/freeipa/ipa.js | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/install/ui/src/freeipa/ipa.js b/install/ui/src/freeipa/ipa.js
index 2538001c94..138ca031b8 100644
--- a/install/ui/src/freeipa/ipa.js
+++ b/install/ui/src/freeipa/ipa.js
@@ -191,7 +191,7 @@ var IPA = function () {
             }
         }));
 
-        batch.add_command(that.get_whoami_command(true));
+        batch.add_command(that.get_whoami_command());
 
         batch.add_command(rpc.command({
             method: 'env',
@@ -259,25 +259,24 @@ var IPA = function () {
     /**
      * Prepares `user-find --whoami` command
      * @protected
-     * @param {boolean} batch - Specifies if it will be used as single command or
-     *                          in a batch.
      */
-    that.get_whoami_command = function(batch) {
+    that.get_whoami_command = function() {
         return rpc.command({
             method: 'whoami',
             on_success: function(data, text_status, xhr) {
-                that.whoami.metadata = data;
+                that.whoami.metadata = data.result || data;
+                var wa_data = that.whoami.metadata;
 
                 rpc.command({
-                    method: data.details || data.command,
-                    args: data.arguments,
+                    method: wa_data.details || wa_data.command,
+                    args: wa_data.arguments,
                     options: function() {
-                        var options = data.options || [];
+                        var options = wa_data.options || [];
                         $.extend(options, {all: true});
                         return options;
                     }(),
                     on_success: function(data, text_status, xhr) {
-                        that.whoami.data = false ? data.result[0] : data.result.result;
+                        that.whoami.data = data.result.result;
                         var entity = that.whoami.metadata.object;
 
                         if (entity === 'user') {
