Bug 39109 - User wizard does not complete
User wizard does not complete
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Users
UCS 4.0
Other Linux
: P5 critical (vote)
: UCS 4.0-2-errata
Assigned To: Stefan Gohmann
Johannes Keiser
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-07 15:26 CEST by Stefan Gohmann
Modified: 2015-08-07 19:00 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
user-wizard.png (51.09 KB, image/png)
2015-08-07 15:26 CEST, Stefan Gohmann
Details
Patch to fix error (1.87 KB, patch)
2015-08-07 18:04 CEST, Alexander Kläser
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2015-08-07 15:26:31 CEST
Created attachment 7090 [details]
user-wizard.png

If I create a user via UMC, the wizad does not complete. See screenshot.

We've tested with firefox and chrome.

However, he user is created.
Comment 1 Stefan Gohmann univentionstaff 2015-08-07 15:27:53 CEST
Tested with 4.0-2 errata281
Comment 2 Stefan Gohmann univentionstaff 2015-08-07 15:36:24 CEST
preserveDom = undefined
13569
                    handle[destroyMethodName](preserveDom);
13570
                });
13571
​
13572
                // Callback for when handle is manually destroyed.
13573
                var hdhs = [];
13574
                function onManualDestroy(){
13575
                    odh.remove();
13576
                    array.forEach(hdhs, function(hdh){
13577
                        hdh.remove();
13578
                    });
13579
                }
13580
​
13581
                // Setup listeners for manual destroy of handle.
13582
                // Also computes destroyMethodName, used in listener above.
13583
                if(handle.then){
13584
                    // Special path for Promises.  Detect when Promise is resolved, rejected, or
13585
                    // canceled (nb: cancelling a Promise causes it to be rejected).
13586
                    destroyMethodName = "cancel";
13587
                    handle.then(onManualDestroy, onManualDestroy);
13588
                }else{
13589
                    // Path for other handles.  Just use AOP to detect when handle is manually destroyed.
13590
                    array.forEach(cleanupMethods, function(cleanupMethod){
13591
                        if(typeof handle[cleanupMethod] === "function"){
13592
                            if(!destroyMethodName){
13593
                                // Use first matching method name in above listener (prefer destroyRecursive() to destroy())
13594
                                destroyMethodName = cleanupMethod;
13595
                            }
13596
                            hdhs.push(aspect.after(handle, cleanupMethod, onManualDestroy, true));
13597
                        }
13598
                    });
13599
                }
13600
            }, this);
13601
​
13602
            return arguments;       // handle
13603
        }
13604
    });
13605
});
13606
​
13607
},
13608
'dojo/request':function(){
13609
define([
13610
    './request/default!'/*=====,
13611
    './_base/declare',
13612
    './promise/Promise' =====*/
13613
], function(request/*=====, declare, Promise =====*/){
13614
    /*=====
13615
    request = function(url, options){

Pause On Caught Exceptions
Watch
No Watch Expressions
Call Stack
Async
Scope
Local
<exception>: TypeError: handle[destroyMethodName] is not a function at null.<anonymous> (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:13569:31) at target.(anonymous function).dispatcher [as destroy] (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:73847:28) at declare.destroyRecursive (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:65738:9) at Object.dispatcher.around.advice (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:73870:23) at target.(anonymous function).dispatcher [as destroyRecursive] (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:73852:39) at http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:65826:13 at Object.array.forEach (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:2636:6) at declare.destroyDescendants (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:65824:10) at declare.destroyRecursive (http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:65737:9) at http://10.201.40.1/univention-management-console/js_$20152305140308$/dojo/dojo.js.uncompressed.js:65826:13
preserveDom: undefined
Comment 3 Stefan Gohmann univentionstaff 2015-08-07 15:47:35 CEST
It works again if I downgrade univention-management-console-frontend to 4.1.106-60.1044.201504231500. That is the UCS 4.0-2 version.
Comment 4 Stefan Gohmann univentionstaff 2015-08-07 16:11:52 CEST
Reverting to r62382 fixes the problem as well.
Comment 5 Stefan Gohmann univentionstaff 2015-08-07 16:44:12 CEST
The problem was introduced by Bug #336771 by one of the following commits:
 r62556
 r62560
 r62570

If I revert them, it works again.
Comment 6 Alexander Kläser univentionstaff 2015-08-07 17:27:16 CEST
(In reply to Stefan Gohmann from comment #5)
> The problem was introduced by Bug #336771 by one of the following commits:
>  r62556
>  r62560
>  r62570
> 
> If I revert them, it works again.

That was a typo in the commit message, it was Bug 36771.
Comment 7 Alexander Kläser univentionstaff 2015-08-07 18:04:03 CEST
Created attachment 7091 [details]
Patch to fix error

I fixed the error in the attached patch and tested its functioning via the tests/tooltip.html in umc-frontend package.
Comment 8 Alexander Kläser univentionstaff 2015-08-07 18:16:19 CEST
AFAIS, this problem occurred due registering a tooltip widget several times. The attached patch corrects this in a way such that a tooltip widget is only created once.
Comment 9 Stefan Gohmann univentionstaff 2015-08-07 18:22:09 CEST
I've applied the patch: r62809

YAML: 2015-08-07-univention-management-console-frontend.yaml: r62812
Comment 10 Johannes Keiser univentionstaff 2015-08-07 18:45:50 CEST
OK: tested on IE, Firefox, Chromium
YAML: Ok
Comment 11 Janek Walkenhorst univentionstaff 2015-08-07 19:00:57 CEST
<http://errata.univention.de/ucs/4.0/283.html>