summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/PM/UI/Web
Unidiff
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web') (more/less context) (show whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js50
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js6
2 files changed, 14 insertions, 42 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
index 389d876..a10ba4f 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
@@ -44,66 +44,51 @@ Clipperz.PM.UI.Web.Components.LoginForm = function(args) {
44Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, { 44Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, {
45 45
46 //------------------------------------------------------------------------- 46 //-------------------------------------------------------------------------
47 47
48 'toString': function () { 48 'toString': function () {
49 return "Clipperz.PM.UI.Web.Components.LoginForm component"; 49 return "Clipperz.PM.UI.Web.Components.LoginForm component";
50 }, 50 },
51 51
52 'autocomplete': function () { 52 'autocomplete': function () {
53 return this._autocomplete; 53 return this._autocomplete;
54 }, 54 },
55 55
56 //------------------------------------------------------------------------- 56 //-------------------------------------------------------------------------
57 57
58 'renderSelf': function() { 58 'renderSelf': function() {
59 this.append(this.element(), {tag:'div', id:'loginBox', children:[ 59 this.append(this.element(), {tag:'div', id:'loginBox', children:[
60 {tag:'div', cls:'header'}, 60 {tag:'div', cls:'header'},
61 {tag:'div', cls:'body', id:this.getId('body'), children:[ 61 {tag:'div', cls:'body', id:this.getId('body'), children:[
62 {tag:'div', id:this.getId('loginForm'), children:[ 62 {tag:'div', id:this.getId('loginForm'), children:[
63 {tag:'div', children:[ 63 {tag:'div', children:[
64 {tag:'h4', html:'Login'}, 64 {tag:'h4', html:'Login'},
65 // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[ 65 // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[
66 {tag:'form', id:this.getId('form'), cls:'loginForm', children:[ 66 {tag:'form', id:this.getId('form'), cls:'loginForm', children:[
67 {tag:'label', html:'username', 'for':this.getId('usernameField')}, 67 {tag:'label', html:'username', 'for':this.getId('usernameField')},
68 {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'/*, value:'joe'*/}, 68 {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'},
69 {tag:'ul', id:this.getId('passwordOptions'), children:[
70 {tag:'li', id:this.getId('passphraseOption'), children:[
71 {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')}, 69 {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')},
72 {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'/*, value:'clipperz'*/} 70 {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'},
73 ]} //,
74/*
75 {tag:'li', id:this.getId('otpOption'), children:[
76 {tag:'label', html:'one-time password', 'for':this.getId('otpField_1')},
77 {tag:'input', id:this.getId('otpField_1'), type:'text', cls:'otp', value:'abcd-efgh'},
78 {tag:'input', id:this.getId('otpField_2'), type:'text', cls:'otp', value:'abcd-efgh'},
79 {tag:'input', id:this.getId('otpField_3'), type:'text', cls:'otp', value:'abcd-efgh'},
80 {tag:'input', id:this.getId('otpField_4'), type:'text', cls:'otp', value:'abcd-efgh'}
81 ]}
82*/
83 ]},
84 // {tag:'input', id:this.getId('otpCheckbox'), type:'checkbox', cls:'checkbox'},
85 // {tag:'label', html:'use a one-time passphrase', 'for':this.getId('otpCheckbox'), cls:'checkbox'},
86 71
87 {tag:'div', cls:'translations', children:[ 72 {tag:'div', cls:'translations', children:[
88 {tag:'h4', html:'choose your language'}, 73 {tag:'h4', html:'choose your language'},
89 {tag:'ul', children:[ 74 {tag:'ul', children:[
90 {tag:'li', cls:'selected', html:'english'}, 75 {tag:'li', cls:'selected', html:'english'},
91 {tag:'li', html:'italiano'}, 76 {tag:'li', html:'italiano'},
92 {tag:'li', html:'dutch'}, 77 {tag:'li', html:'dutch'},
93 {tag:'li', html:'french'}, 78 {tag:'li', html:'french'},
94 {tag:'li', html:'spanish'}, 79 {tag:'li', html:'spanish'},
95 {tag:'li', html:'chinese'}, 80 {tag:'li', html:'chinese'},
96 {tag:'li', html:'japanese'}, 81 {tag:'li', html:'japanese'},
97 {tag:'li', html:'portugal'}, 82 {tag:'li', html:'portugal'},
98 {tag:'li', html:'arabic'} 83 {tag:'li', html:'arabic'}
99 ]} 84 ]}
100 ]}, 85 ]},
101 86
102 {tag:'input', id:this.getId('submitButton'), type:'submit', value:'login', cls:'submit'} 87 {tag:'input', id:this.getId('submitButton'), type:'submit', value:'login', cls:'submit'}
103 ]} 88 ]}
104 ]} 89 ]}
105 ]} 90 ]}
106 ]}, 91 ]},
107 {tag:'div', cls:'footer'} 92 {tag:'div', cls:'footer'}
108 ]}); 93 ]});
109 94
@@ -140,61 +125,54 @@ Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Com
140 //----------------------------------------------------------------------------- 125 //-----------------------------------------------------------------------------
141/* 126/*
142 'showPassphraseField': function() { 127 'showPassphraseField': function() {
143 this.showElement('passphraseOption'); 128 this.showElement('passphraseOption');
144 this.hideElement('otpOption'); 129 this.hideElement('otpOption');
145 }, 130 },
146*/ 131*/
147 //----------------------------------------------------------------------------- 132 //-----------------------------------------------------------------------------
148 133
149 'focusOnPassphraseField': function () { 134 'focusOnPassphraseField': function () {
150 this.getElement('passphraseField').focus(); 135 this.getElement('passphraseField').focus();
151 this.getElement('passphraseField').select(); 136 this.getElement('passphraseField').select();
152 }, 137 },
153 138
154 //----------------------------------------------------------------------------- 139 //-----------------------------------------------------------------------------
155/* 140/*
156 'showOTPFields': function() { 141 'showOTPFields': function() {
157 this.hideElement('passphraseOption'); 142 this.hideElement('passphraseOption');
158 this.showElement('otpOption'); 143 this.showElement('otpOption');
159 }, 144 },
160*/ 145*/
161 //------------------------------------------------------------------------- 146 //-------------------------------------------------------------------------
162 147
163 'loginEventHandler': function(anEvent) { 148 'loginEventHandler': function(anEvent) {
164 varusername; 149 // varusername;
165 var passphrase; 150 // var passphrase;
166 // var shouldUseOTP;
167 // var otp;
168 var signalArguments; 151 var signalArguments;
169 152
170 anEvent.preventDefault(); 153 anEvent.preventDefault();
171 154
172 username = this.getElement('usernameField').value; 155 // username = this.getElement('usernameField').value;
173 passphrase = this.getElement('passphraseField').value; 156 // passphrase = this.getElement('passphraseField').value;
174 // otp =this.getElement('otpField_1').value + 157
175 // this.getElement('otpField_2').value + 158 // signalArguments = {username:username};
176 // this.getElement('otpField_3').value + 159 // signalArguments.passphrase = passphrase;
177 // this.getElement('otpField_4').value; 160
178 // shouldUseOTP = this.getElement('otpCheckbox').checked; 161 signalArguments = {
179 162 'username': this.getElement('usernameField').value,
180 signalArguments = {username:username}; 163 'passphrase':this.getElement('passphraseField').value
181 164 };
182 // if (shouldUseOTP) {
183 // signalArguments.otp = otp;
184 // } else {
185 signalArguments.passphrase = passphrase;
186 // }
187 165
188 MochiKit.Signal.signal(this, 'doLogin', signalArguments); 166 MochiKit.Signal.signal(this, 'doLogin', signalArguments);
189 }, 167 },
190 168
191 //------------------------------------------------------------------------- 169 //-------------------------------------------------------------------------
192 170
193 'submitButtonElement': function() { 171 'submitButtonElement': function() {
194 return this.getElement('submitButton'); 172 return this.getElement('submitButton');
195 }, 173 },
196 174
197 //------------------------------------------------------------------------- 175 //-------------------------------------------------------------------------
198 176
199 __syntaxFix__: "syntax fix" 177 __syntaxFix__: "syntax fix"
200}); 178});
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
index d0b378c..a57152d 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
@@ -60,71 +60,65 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.LoginController.prototype, {
60 60
61 //----------------------------------------------------------------------------- 61 //-----------------------------------------------------------------------------
62 62
63 'run': function(args) { 63 'run': function(args) {
64 varslot; 64 varslot;
65 varloginPage; 65 varloginPage;
66 varloginForm; 66 varloginForm;
67 67
68 slot = args.slot; 68 slot = args.slot;
69 69
70 loginForm =new Clipperz.PM.UI.Web.Components.LoginForm({'autocomplete': this.args()['autocomplete']}); 70 loginForm =new Clipperz.PM.UI.Web.Components.LoginForm({'autocomplete': this.args()['autocomplete']});
71 71
72 slot.setContent(this.loginPage()); 72 slot.setContent(this.loginPage());
73 this.loginPage().slotNamed('loginForm').setContent(loginForm); 73 this.loginPage().slotNamed('loginForm').setContent(loginForm);
74 74
75 MochiKit.Signal.connect(loginForm, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); 75 MochiKit.Signal.connect(loginForm, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm));
76 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); 76 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm));
77 }, 77 },
78 78
79 //----------------------------------------------------------------------------- 79 //-----------------------------------------------------------------------------
80 80
81 'doLogin': function(aLoginForm, anEvent) { 81 'doLogin': function(aLoginForm, anEvent) {
82 var deferredResult; 82 var deferredResult;
83 varparameters; 83 varparameters;
84 // varshouldUseOTP;
85 var loginProgress; 84 var loginProgress;
86 varuser; 85 varuser;
87 var getPassphraseDelegate; 86 var getPassphraseDelegate;
88 87
89 parameters = anEvent; 88 parameters = anEvent;
90 // shouldUseOTP = (typeof(parameters.passphrase) == 'undefined');
91 89
92 getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase); 90 getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase);
93 user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')}); 91 user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')});
94 92
95 loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress(); 93 loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress();
96 94
97 deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false}); 95 deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false});
98 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4}); 96 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4});
99 deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate); 97 deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate);
100 deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()}); 98 deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()});
101 deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection'); 99 deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection');
102 // if (shouldUseOTP == false) {
103 deferredResult.addMethod(user, 'login'); 100 deferredResult.addMethod(user, 'login');
104 // } else {
105 // deferredResult.addMethod(user, 'loginUsingOTP', parameters.username, parameters.otp);
106 // }
107 deferredResult.addCallback(function(aLoginProgress, res) { 101 deferredResult.addCallback(function(aLoginProgress, res) {
108 aLoginProgress.disableCancel(); 102 aLoginProgress.disableCancel();
109 return res; 103 return res;
110 }, loginProgress); 104 }, loginProgress);
111 deferredResult.addCallback(function () { 105 deferredResult.addCallback(function () {
112 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body})); 106 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body}));
113 }) 107 })
114 deferredResult.addMethod(this, 'userLoggedIn', user, loginProgress, aLoginForm); 108 deferredResult.addMethod(this, 'userLoggedIn', user, loginProgress, aLoginForm);
115 deferredResult.addErrback (MochiKit.Base.method(this, 'handleFailedLogin', loginProgress)); 109 deferredResult.addErrback (MochiKit.Base.method(this, 'handleFailedLogin', loginProgress));
116 110
117 deferredResult.addErrback (MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:aLoginForm.submitButtonElement()})); 111 deferredResult.addErrback (MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:aLoginForm.submitButtonElement()}));
118 deferredResult.addErrbackPass (MochiKit.Base.method(aLoginForm, 'focusOnPassphraseField')); 112 deferredResult.addErrbackPass (MochiKit.Base.method(aLoginForm, 'focusOnPassphraseField'));
119 deferredResult.addBoth(MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'removePassphraseDelegate', getPassphraseDelegate)); 113 deferredResult.addBoth(MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'removePassphraseDelegate', getPassphraseDelegate));
120 deferredResult.callback(); 114 deferredResult.callback();
121 115
122 MochiKit.Signal.connect(loginProgress, 'cancelEvent', deferredResult, 'cancel'); 116 MochiKit.Signal.connect(loginProgress, 'cancelEvent', deferredResult, 'cancel');
123 117
124 return deferredResult; 118 return deferredResult;
125 }, 119 },
126 120
127 //----------------------------------------------------------------------------- 121 //-----------------------------------------------------------------------------
128 122
129 'userLoggedIn': function(aUser) { 123 'userLoggedIn': function(aUser) {
130//Clipperz.log(">>> LoginController.userLoggedIn"); 124//Clipperz.log(">>> LoginController.userLoggedIn");