@@ -24,15 +24,33 @@ Class.create("OTP_LoginForm", {
24
24
} ,
25
25
observer : function ( ) {
26
26
// string
27
- var otpEnabled = '<span id="add_otp_notion" style=" font-size: 16px;"> * OTP enabled</span>' ;
27
+ var enableModifyGUI = pydio . getPluginConfigs ( "authfront.otp" ) . get ( "MODIFY_LOGIN_SCREEN" ) ;
28
+ if ( enableModifyGUI ) {
29
+ var f = modal . getForm ( ) ;
28
30
29
- var obj_loginform = $ ( "login_form" ) ;
30
- if ( ! obj_loginform . down ( ( "#add_otp_notion" ) ) ) {
31
- obj_loginform . insert ( { bottom :otpEnabled } ) ;
31
+ if ( ! f . down ( 'input[name="otp_code"]' ) ) {
32
+ try {
33
+ var el = f . down ( 'input[name="password"]' ) . up ( "div.SF_element" ) ;
34
+ var clone = el . cloneNode ( true ) ;
35
+ el . insert ( { after :clone } ) ;
36
+ var newField = clone . down ( 'input[name="password"]' ) ;
37
+ newField . writeAttribute ( 'name' , 'otp_code' ) ;
38
+ newField . writeAttribute ( 'data-ajxpLoginAdditionalParameter' , 'true' ) ;
39
+ clone . down ( 'div.SF_label' ) . update ( 'Unique Code (6 digits)' ) ;
40
+ } catch ( e ) {
41
+ if ( console ) console . log ( 'Error while replacing OTP field' , e ) ;
42
+ } }
43
+ }
44
+ else {
45
+ var f = modal . getForm ( ) ;
46
+ if ( f . down ( 'input[name="otp_code"]' ) ) {
47
+ f . remove ( f . down ( 'input[name="otp_code"]' ) ) ;
48
+ }
49
+ var otpEnabled = '<span id="add_otp_notion" style=" font-size: 16px;"> * OTP enabled</span>' ;
50
+ if ( ! f . down ( ( "#add_otp_notion" ) ) ) {
51
+ f . insert ( { bottom :otpEnabled } ) ;
52
+ }
32
53
}
33
54
}
34
55
} ) ;
35
- var enableModifyGUI = pydio . getPluginConfigs ( "authfront.otp" ) . get ( "MODIFY_LOGIN_SCREEN" ) ;
36
- if ( ! enableModifyGUI ) {
37
- window . OTPFORM = new OTP_LoginForm ( ) ;
38
- }
56
+ window . OTPFORM = new OTP_LoginForm ( ) ;
0 commit comments