Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js') (more/less context) (show whitespace changes)
-rw-r--r-- | frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js index 7db6888..b70aa17 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js | |||
@@ -1,123 +1,120 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2013 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz Community Edition. | 5 | This file is part of Clipperz, the online password manager. |
6 | Clipperz Community Edition is an online password manager. | ||
7 | For further information about its features and functionalities please | 6 | For further information about its features and functionalities please |
8 | refer to http://www.clipperz.com. | 7 | refer to http://www.clipperz.com. |
9 | 8 | ||
10 | * Clipperz Community Edition is free software: you can redistribute | 9 | * Clipperz is free software: you can redistribute it and/or modify it |
11 | it and/or modify it under the terms of the GNU Affero General Public | 10 | under the terms of the GNU Affero General Public License as published |
12 | License as published by the Free Software Foundation, either version | 11 | by the Free Software Foundation, either version 3 of the License, or |
13 | 3 of the License, or (at your option) any later version. | 12 | (at your option) any later version. |
14 | 13 | ||
15 | * Clipperz Community Edition is distributed in the hope that it will | 14 | * Clipperz is distributed in the hope that it will be useful, but |
16 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. | 17 | See the GNU Affero General Public License for more details. |
19 | 18 | ||
20 | * You should have received a copy of the GNU Affero General Public | 19 | * You should have received a copy of the GNU Affero General Public |
21 | License along with Clipperz Community Edition. If not, see | 20 | License along with Clipperz. If not, see http://www.gnu.org/licenses/. |
22 | <http://www.gnu.org/licenses/>. | ||
23 | 21 | ||
24 | */ | 22 | */ |
25 | 23 | ||
26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 24 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
27 | 25 | ||
28 | Clipperz.PM.UI.Web.Controllers.NewUserWizardController = function(args) { | 26 | Clipperz.PM.UI.Web.Controllers.NewUserWizardController = function(args) { |
29 | this._newUserCreationComponent = args.newUserCreationComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); | 27 | this._newUserCreationComponent = args.newUserCreationComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); |
30 | 28 | ||
31 | MochiKit.Signal.connect(this._newUserCreationComponent, 'changedValue',this, 'handleChangedValue'); | 29 | MochiKit.Signal.connect(this._newUserCreationComponent, 'changedValue',this, 'handleChangedValue'); |
32 | MochiKit.Signal.connect(this._newUserCreationComponent, 'moveForward',this, 'handleMoveForward'); | 30 | MochiKit.Signal.connect(this._newUserCreationComponent, 'moveForward',this, 'handleMoveForward'); |
33 | MochiKit.Signal.connect(this._newUserCreationComponent, 'keyPressed',this, 'handleNewUserCreationComponentKeyPressed'); | 31 | MochiKit.Signal.connect(this._newUserCreationComponent, 'keyPressed',this, 'handleNewUserCreationComponentKeyPressed'); |
34 | 32 | ||
35 | this._rulerComponent = null; | 33 | this._rulerComponent = null; |
36 | 34 | ||
37 | this._steps = null; | 35 | this._steps = null; |
38 | this._currentStepIndex = 0; | 36 | this._currentStepIndex = 0; |
39 | this._isNextEnabled = false; | 37 | this._isNextEnabled = false; |
40 | 38 | ||
41 | this._userCreationState = 'IDLE'; //'IN PROGRESS', 'DONE', 'FAILED' | 39 | this._userCreationState = 'IDLE'; //'IN PROGRESS', 'DONE', 'FAILED' |
42 | this._user = null; | 40 | this._user = null; |
43 | return this; | 41 | return this; |
44 | } | 42 | } |
45 | 43 | ||
46 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prototype, { | 44 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prototype, { |
47 | 45 | ||
48 | 'toString': function() { | 46 | 'toString': function() { |
49 | return "Clipperz.PM.UI.Web.Controllers.NewUserWizardController"; | 47 | return "Clipperz.PM.UI.Web.Controllers.NewUserWizardController"; |
50 | }, | 48 | }, |
51 | 49 | ||
52 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
53 | 51 | ||
54 | 'newUserCreationComponent': function () { | 52 | 'newUserCreationComponent': function () { |
55 | return this._newUserCreationComponent; | 53 | return this._newUserCreationComponent; |
56 | }, | 54 | }, |
57 | 55 | ||
58 | //============================================================================= | 56 | //============================================================================= |
59 | 57 | ||
60 | 'user': function () { | 58 | 'user': function () { |
61 | return this._user; | 59 | return this._user; |
62 | }, | 60 | }, |
63 | 61 | ||
64 | 'setUser': function (aValue) { | 62 | 'setUser': function (aValue) { |
65 | this._user = aValue; | 63 | this._user = aValue; |
66 | }, | 64 | }, |
67 | 65 | ||
68 | //----------------------------------------------------------------------------- | 66 | //----------------------------------------------------------------------------- |
69 | 67 | ||
70 | 'userCreationState': function () { | 68 | 'userCreationState': function () { |
71 | return this._userCreationState; | 69 | return this._userCreationState; |
72 | }, | 70 | }, |
73 | 71 | ||
74 | 'setUserCreationState': function (aValue) { | 72 | 'setUserCreationState': function (aValue) { |
75 | //console.log("+++ NewUserWizardController.setUserCreationState", aValue); | ||
76 | this._userCreationState = aValue; | 73 | this._userCreationState = aValue; |
77 | this.checkState(); | 74 | this.checkState(); |
78 | }, | 75 | }, |
79 | 76 | ||
80 | //============================================================================= | 77 | //============================================================================= |
81 | 78 | ||
82 | 'resetCurrentStepIndex': function () { | 79 | 'resetCurrentStepIndex': function () { |
83 | this._currentStepIndex = 0; | 80 | this._currentStepIndex = 0; |
84 | this.rulerComponent().resetStatus({animateTransition:true}); | 81 | this.rulerComponent().resetStatus({animateTransition:true}); |
85 | }, | 82 | }, |
86 | 83 | ||
87 | //----------------------------------------------------------------------------- | 84 | //----------------------------------------------------------------------------- |
88 | 85 | ||
89 | 'enableNext': function (aValue) { | 86 | 'enableNext': function (aValue) { |
90 | this.rulerComponent().enableNext(aValue); | 87 | this.rulerComponent().enableNext(aValue); |
91 | this._isNextEnabled = aValue; | 88 | this._isNextEnabled = aValue; |
92 | }, | 89 | }, |
93 | 90 | ||
94 | 'isNextEnabled': function () { | 91 | 'isNextEnabled': function () { |
95 | return this._isNextEnabled; | 92 | return this._isNextEnabled; |
96 | }, | 93 | }, |
97 | 94 | ||
98 | //----------------------------------------------------------------------------- | 95 | //----------------------------------------------------------------------------- |
99 | 96 | ||
100 | 'enablePrevious': function (aValue) { | 97 | 'enablePrevious': function (aValue) { |
101 | this.rulerComponent().enablePrevious(aValue); | 98 | this.rulerComponent().enablePrevious(aValue); |
102 | }, | 99 | }, |
103 | 100 | ||
104 | //============================================================================= | 101 | //============================================================================= |
105 | 102 | ||
106 | 'rulerComponent': function () { | 103 | 'rulerComponent': function () { |
107 | if (this._rulerComponent == null) { | 104 | if (this._rulerComponent == null) { |
108 | this._rulerComponent = new Clipperz.PM.UI.Web.Components.RulerComponent({ | 105 | this._rulerComponent = new Clipperz.PM.UI.Web.Components.RulerComponent({ |
109 | translationContext:'Wizards.NewUserWizard' | 106 | translationContext:'Wizards.NewUserWizard' |
110 | }); | 107 | }); |
111 | this._rulerComponent.render(); | 108 | this._rulerComponent.render(); |
112 | 109 | ||
113 | MochiKit.Signal.connect(this._rulerComponent, 'exit', this, 'handleExit'); | 110 | MochiKit.Signal.connect(this._rulerComponent, 'exit', this, 'handleExit'); |
114 | MochiKit.Signal.connect(this._rulerComponent, 'done', this, 'done'); | 111 | MochiKit.Signal.connect(this._rulerComponent, 'done', this, 'done'); |
115 | MochiKit.Signal.connect(this._rulerComponent, 'moveForward',this, 'handleMoveForward'); | 112 | MochiKit.Signal.connect(this._rulerComponent, 'moveForward',this, 'handleMoveForward'); |
116 | MochiKit.Signal.connect(this._rulerComponent, 'moveBackward',this, 'handleMoveBackward'); | 113 | MochiKit.Signal.connect(this._rulerComponent, 'moveBackward',this, 'handleMoveBackward'); |
117 | MochiKit.Signal.connect(this._rulerComponent, 'cursorMoved',this, 'handleCursorMoved'); | 114 | MochiKit.Signal.connect(this._rulerComponent, 'cursorMoved',this, 'handleCursorMoved'); |
118 | } | 115 | } |
119 | 116 | ||
120 | return this._rulerComponent; | 117 | return this._rulerComponent; |
121 | }, | 118 | }, |
122 | 119 | ||
123 | 'resetRuler': function () { | 120 | 'resetRuler': function () { |
@@ -177,106 +174,103 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prot | |||
177 | }, | 174 | }, |
178 | 175 | ||
179 | //============================================================================= | 176 | //============================================================================= |
180 | 177 | ||
181 | 'createNewUserRulerSteps': function () { | 178 | 'createNewUserRulerSteps': function () { |
182 | return [ 'CREDENTIALS', 'CHECK_CREDENTIALS', 'TERMS_OF_SERVICE', 'CREATE_USER'/*, 'LOGIN' */]; | 179 | return [ 'CREDENTIALS', 'CHECK_CREDENTIALS', 'TERMS_OF_SERVICE', 'CREATE_USER'/*, 'LOGIN' */]; |
183 | }, | 180 | }, |
184 | 181 | ||
185 | //------------------------------------------------------------------------- | 182 | //------------------------------------------------------------------------- |
186 | 183 | ||
187 | 'run': function () { | 184 | 'run': function () { |
188 | return Clipperz.Async.callbacks("NewUserWizardController.run", [ | 185 | return Clipperz.Async.callbacks("NewUserWizardController.run", [ |
189 | MochiKit.Base.method(this, 'createNewUserRulerSteps'), | 186 | MochiKit.Base.method(this, 'createNewUserRulerSteps'), |
190 | MochiKit.Base.method(this, 'showRuler') | 187 | MochiKit.Base.method(this, 'showRuler') |
191 | ], {trace:false}); | 188 | ], {trace:false}); |
192 | }, | 189 | }, |
193 | 190 | ||
194 | //----------------------------------------------------------------------------- | 191 | //----------------------------------------------------------------------------- |
195 | 192 | ||
196 | 'checkState': function () { | 193 | 'checkState': function () { |
197 | var enablePrevious; | 194 | var enablePrevious; |
198 | var enableNext; | 195 | var enableNext; |
199 | 196 | ||
200 | enablePrevious = true; | 197 | enablePrevious = true; |
201 | enableNext = false; | 198 | enableNext = false; |
202 | 199 | ||
203 | this.newUserCreationComponent().disableAllPanels(); | 200 | this.newUserCreationComponent().disableAllPanels(); |
204 | 201 | ||
205 | switch(this.currentStep()) { | 202 | switch(this.currentStep()) { |
206 | case 'CREDENTIALS': | 203 | case 'CREDENTIALS': |
207 | this.newUserCreationComponent().enableCredentialsPanel(); | 204 | this.newUserCreationComponent().enableCredentialsPanel(); |
208 | 205 | ||
209 | enableNext = ( | 206 | enableNext = ( |
210 | (this.newUserCreationComponent().username() != '') | 207 | (this.newUserCreationComponent().username() != '') |
211 | && | 208 | && |
212 | (this.newUserCreationComponent().passphrase() != '') | 209 | (this.newUserCreationComponent().passphrase() != '') |
213 | ); | 210 | ); |
214 | // enablePrevious = false; | 211 | // enablePrevious = false; |
215 | break; | 212 | break; |
216 | case 'CHECK_CREDENTIALS': | 213 | case 'CHECK_CREDENTIALS': |
217 | this.newUserCreationComponent().enableCheckCredentialsPanel(); | 214 | this.newUserCreationComponent().enableCheckCredentialsPanel(); |
218 | 215 | ||
219 | enableNext = (this.newUserCreationComponent().passphrase() == this.newUserCreationComponent().rePassphrase()); | 216 | enableNext = (this.newUserCreationComponent().passphrase() == this.newUserCreationComponent().rePassphrase()); |
220 | // enablePrevious = true; | 217 | // enablePrevious = true; |
221 | break | 218 | break |
222 | case 'TERMS_OF_SERVICE': | 219 | case 'TERMS_OF_SERVICE': |
223 | this.newUserCreationComponent().enableTermsOfServicePanel(); | 220 | this.newUserCreationComponent().enableTermsOfServicePanel(); |
224 | 221 | ||
225 | //console.log("awareOfUnrecoverablePassphrase", this.newUserCreationComponent().awareOfUnrecoverablePassphrase()); | ||
226 | //console.log("readTermsOfService", this.newUserCreationComponent().readTermsOfService()); | ||
227 | enableNext = ( | 222 | enableNext = ( |
228 | (this.newUserCreationComponent().awareOfUnrecoverablePassphrase() == 'on') | 223 | (this.newUserCreationComponent().awareOfUnrecoverablePassphrase() == 'on') |
229 | && | 224 | && |
230 | (this.newUserCreationComponent().readTermsOfService() == 'on') | 225 | (this.newUserCreationComponent().readTermsOfService() == 'on') |
231 | ) | 226 | ) |
232 | break; | 227 | break; |
233 | case 'CREATE_USER': | 228 | case 'CREATE_USER': |
234 | //console.log(">>> CREATE_USER", this.userCreationState()); | ||
235 | this.newUserCreationComponent().enableCreateUserPanel(); | 229 | this.newUserCreationComponent().enableCreateUserPanel(); |
236 | 230 | ||
237 | switch (this.userCreationState()) { | 231 | switch (this.userCreationState()) { |
238 | case 'IDLE': | 232 | case 'IDLE': |
239 | this.setUserCreationState('IN PROGRESS'); | 233 | this.setUserCreationState('IN PROGRESS'); |
240 | this.preformActualUserRegistration(); | 234 | this.preformActualUserRegistration(); |
241 | 235 | ||
242 | enablePrevious = false; | 236 | enablePrevious = false; |
243 | enableNext = false; | 237 | enableNext = false; |
244 | break; | 238 | break; |
245 | case 'IN PROGRESS': | 239 | case 'IN PROGRESS': |
246 | enablePrevious = false; | 240 | enablePrevious = false; |
247 | enableNext = false; | 241 | enableNext = false; |
248 | break; | 242 | break; |
249 | case 'DONE': | 243 | case 'DONE': |
250 | enablePrevious = false; | 244 | enablePrevious = false; |
251 | enableNext = true; | 245 | enableNext = true; |
252 | break; | 246 | break; |
253 | case 'FAILED': | 247 | case 'FAILED': |
254 | enablePrevious = true; | 248 | enablePrevious = true; |
255 | enableNext = false; | 249 | enableNext = false; |
256 | break; | 250 | break; |
257 | }; | 251 | }; |
258 | break; | 252 | break; |
259 | // case 'LOGIN': | 253 | // case 'LOGIN': |
260 | // this.newUserCreationComponent().enableLoginPanel(); | 254 | // this.newUserCreationComponent().enableLoginPanel(); |
261 | // break; | 255 | // break; |
262 | } | 256 | } |
263 | 257 | ||
264 | if (this.currentStepIndex() > 0) { | 258 | if (this.currentStepIndex() > 0) { |
265 | this.enablePrevious(enablePrevious); | 259 | this.enablePrevious(enablePrevious); |
266 | } else { | 260 | } else { |
267 | this.enablePrevious(false); | 261 | this.enablePrevious(false); |
268 | } | 262 | } |
269 | this.enableNext(enableNext); | 263 | this.enableNext(enableNext); |
270 | }, | 264 | }, |
271 | 265 | ||
272 | //----------------------------------------------------------------------------- | 266 | //----------------------------------------------------------------------------- |
273 | 267 | ||
274 | 'setFocus': function () { | 268 | 'setFocus': function () { |
275 | switch(this.currentStep()) { | 269 | switch(this.currentStep()) { |
276 | case 'CREDENTIALS': | 270 | case 'CREDENTIALS': |
277 | this.newUserCreationComponent().focusOnUsernameElement(); | 271 | this.newUserCreationComponent().focusOnUsernameElement(); |
278 | break; | 272 | break; |
279 | case 'CHECK_CREDENTIALS': | 273 | case 'CHECK_CREDENTIALS': |
280 | this.newUserCreationComponent().focusOnRePassphraseElement(); | 274 | this.newUserCreationComponent().focusOnRePassphraseElement(); |
281 | break | 275 | break |
282 | case 'TERMS_OF_SERVICE': | 276 | case 'TERMS_OF_SERVICE': |
@@ -292,166 +286,164 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prot | |||
292 | 286 | ||
293 | 'steps': function () { | 287 | 'steps': function () { |
294 | return this._steps; | 288 | return this._steps; |
295 | }, | 289 | }, |
296 | 290 | ||
297 | 'setSteps': function (aValue) { | 291 | 'setSteps': function (aValue) { |
298 | this._steps = aValue; | 292 | this._steps = aValue; |
299 | 293 | ||
300 | this.rulerComponent().setSteps(aValue); | 294 | this.rulerComponent().setSteps(aValue); |
301 | this.resetCurrentStepIndex(); | 295 | this.resetCurrentStepIndex(); |
302 | }, | 296 | }, |
303 | 297 | ||
304 | 'currentStepIndex': function () { | 298 | 'currentStepIndex': function () { |
305 | return this._currentStepIndex; | 299 | return this._currentStepIndex; |
306 | }, | 300 | }, |
307 | 301 | ||
308 | 'currentStep': function () { | 302 | 'currentStep': function () { |
309 | return this.steps()[this.currentStepIndex()]; | 303 | return this.steps()[this.currentStepIndex()]; |
310 | }, | 304 | }, |
311 | 305 | ||
312 | //============================================================================= | 306 | //============================================================================= |
313 | 307 | ||
314 | 'handleExit': function () { | 308 | 'handleExit': function () { |
315 | return Clipperz.Async.callbacks("NewUserWizardController.handleExit", [ | 309 | return Clipperz.Async.callbacks("NewUserWizardController.handleExit", [ |
316 | // MochiKit.Base.method(this.newUserCreationComponent(), 'resetContent'), | 310 | // MochiKit.Base.method(this.newUserCreationComponent(), 'resetContent'), |
317 | Clipperz.Async.forkAndJoin("NewUserWizardController.handleExit - fork and join", [ | 311 | Clipperz.Async.forkAndJoin("NewUserWizardController.handleExit - fork and join", [ |
318 | MochiKit.Base.method(this, 'hideRuler'), | 312 | MochiKit.Base.method(this, 'hideRuler'), |
319 | MochiKit.Base.method(this.newUserCreationComponent(), 'deferredHideModal') | 313 | MochiKit.Base.method(this.newUserCreationComponent(), 'deferredHideModal') |
320 | ], {trace:false}), | 314 | ], {trace:false}), |
321 | MochiKit.Base.method(this, 'resetRuler'), | 315 | MochiKit.Base.method(this, 'resetRuler'), |
322 | // MochiKit.Base.method(this.newUserCreationComponent(), 'reset'), | 316 | // MochiKit.Base.method(this.newUserCreationComponent(), 'reset'), |
323 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'exit') | 317 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'exit') |
324 | ], {trace:false}) | 318 | ], {trace:false}) |
325 | }, | 319 | }, |
326 | 320 | ||
327 | 'done': function () { | 321 | 'done': function () { |
328 | this.doneWithRuler(); | 322 | this.doneWithRuler(); |
329 | MochiKit.Signal.signal(this, 'done', {'user': this.user()}); | 323 | MochiKit.Signal.signal(this, 'done', {'user': this.user()}); |
330 | }, | 324 | }, |
331 | 325 | ||
332 | //============================================================================= | 326 | //============================================================================= |
333 | 327 | ||
334 | 'handleMoveBackward': function () { | 328 | 'handleMoveBackward': function () { |
335 | if (this._currentStepIndex > 0) { | 329 | if (this._currentStepIndex > 0) { |
336 | varafterMoveAction; | 330 | varafterMoveAction; |
337 | 331 | ||
338 | afterMoveAction = MochiKit.Base.noop; | 332 | afterMoveAction = MochiKit.Base.noop; |
339 | 333 | ||
340 | //console.log("<-- backward", this.currentStep()); | ||
341 | switch(this.currentStep()) { | 334 | switch(this.currentStep()) { |
342 | case 'CREDENTIALS': | 335 | case 'CREDENTIALS': |
343 | case 'CHECK_CREDENTIALS': | 336 | case 'CHECK_CREDENTIALS': |
344 | case 'TERMS_OF_SERVICE': | 337 | case 'TERMS_OF_SERVICE': |
345 | this._currentStepIndex --; | 338 | this._currentStepIndex --; |
346 | this.rulerComponent().moveBackward(afterMoveAction); | 339 | this.rulerComponent().moveBackward(afterMoveAction); |
347 | break; | 340 | break; |
348 | case 'CREATE_USER': | 341 | case 'CREATE_USER': |
349 | this.setUser(null); | 342 | this.setUser(null); |
350 | this.newUserCreationComponent().hideAllProgeressStates(); | 343 | this.newUserCreationComponent().hideAllProgeressStates(); |
351 | this.resetCurrentStepIndex(); | 344 | this.resetCurrentStepIndex(); |
352 | this.setUserCreationState('IDLE'); | 345 | this.setUserCreationState('IDLE'); |
353 | break; | 346 | break; |
354 | // case 'LOGIN': | 347 | // case 'LOGIN': |
355 | // break; | 348 | // break; |
356 | }; | 349 | }; |
357 | 350 | ||
358 | } | 351 | } |
359 | 352 | ||
360 | if (this._currentStepIndex == 0) { | 353 | if (this._currentStepIndex == 0) { |
361 | this.enablePrevious(false); | 354 | this.enablePrevious(false); |
362 | } | 355 | } |
363 | }, | 356 | }, |
364 | 357 | ||
365 | 'handleMoveForward': function () { | 358 | 'handleMoveForward': function () { |
366 | if (this.isNextEnabled()) { | 359 | if (this.isNextEnabled()) { |
367 | varafterMoveAction; | 360 | varafterMoveAction; |
368 | 361 | ||
369 | this._currentStepIndex ++; | 362 | this._currentStepIndex ++; |
370 | afterMoveAction = MochiKit.Base.noop; | 363 | afterMoveAction = MochiKit.Base.noop; |
371 | 364 | ||
372 | switch(this.currentStep()) { | 365 | switch(this.currentStep()) { |
373 | case 'CREDENTIALS': | 366 | case 'CREDENTIALS': |
374 | break; | 367 | break; |
375 | case 'CHECK_CREDENTIALS': | 368 | case 'CHECK_CREDENTIALS': |
376 | break | 369 | break |
377 | case 'TERMS_OF_SERVICE': | 370 | case 'TERMS_OF_SERVICE': |
378 | break; | 371 | break; |
379 | case 'CREATE_USER': | 372 | case 'CREATE_USER': |
380 | break; | 373 | break; |
381 | // case 'LOGIN': | 374 | // case 'LOGIN': |
382 | // break; | 375 | // break; |
383 | }; | 376 | }; |
384 | 377 | ||
385 | this.rulerComponent().moveForward(afterMoveAction); | 378 | this.rulerComponent().moveForward(afterMoveAction); |
386 | }; | 379 | }; |
387 | }, | 380 | }, |
388 | 381 | ||
389 | 'handleCursorMoved': function () { | 382 | 'handleCursorMoved': function () { |
390 | // this.checkState(); | 383 | // this.checkState(); |
391 | // this.setFocus(); | 384 | // this.setFocus(); |
392 | 385 | ||
393 | return Clipperz.Async.callbacks("NewUserWizardController.handleCursorMoved", [ | 386 | return Clipperz.Async.callbacks("NewUserWizardController.handleCursorMoved", [ |
394 | MochiKit.Base.method(this.newUserCreationComponent(), 'waitUntilFullyRendered'), | 387 | MochiKit.Base.method(this.newUserCreationComponent(), 'waitUntilFullyRendered'), |
395 | MochiKit.Base.method(this, 'checkState'), | 388 | MochiKit.Base.method(this, 'checkState'), |
396 | MochiKit.Base.method(this, 'setFocus') | 389 | MochiKit.Base.method(this, 'setFocus') |
397 | ], {trace:false}); | 390 | ], {trace:false}); |
398 | }, | 391 | }, |
399 | 392 | ||
400 | //------------------------------------------------------------------------- | 393 | //------------------------------------------------------------------------- |
401 | 394 | ||
402 | 'handleChangedValue': function (anEvent) { | 395 | 'handleChangedValue': function (anEvent) { |
403 | this.checkState(); | 396 | this.checkState(); |
404 | }, | 397 | }, |
405 | 398 | ||
406 | //------------------------------------------------------------------------- | 399 | //------------------------------------------------------------------------- |
407 | 400 | ||
408 | 'handleNewUserCreationComponentKeyPressed': function (anEvent) { | 401 | 'handleNewUserCreationComponentKeyPressed': function (anEvent) { |
409 | //console.log(">>> handleNewUserCreationComponentKeyPressed", anEvent.key().string); | ||
410 | if (anEvent.key().string == 'KEY_ENTER') { | 402 | if (anEvent.key().string == 'KEY_ENTER') { |
411 | if (anEvent.target().nodeName != 'TEXTAREA') { | 403 | if (anEvent.target().nodeName != 'TEXTAREA') { |
412 | anEvent.preventDefault(); | 404 | anEvent.preventDefault(); |
413 | this.handleMoveForward(); | 405 | this.handleMoveForward(); |
414 | } | 406 | } |
415 | } else if (anEvent.key().string == 'KEY_TAB') { | 407 | } else if (anEvent.key().string == 'KEY_TAB') { |
416 | if (anEvent.target() == this.newUserCreationComponent().usernameElement()) { | 408 | if (anEvent.target() == this.newUserCreationComponent().usernameElement()) { |
417 | } else { | 409 | } else { |
418 | this.handleMoveForward(); | 410 | this.handleMoveForward(); |
419 | if ((anEvent.target().nodeName == 'INPUT') || (anEvent.target().nodeName == 'TEXTAREA')) { | 411 | if ((anEvent.target().nodeName == 'INPUT') || (anEvent.target().nodeName == 'TEXTAREA')) { |
420 | anEvent.preventDefault(); | 412 | anEvent.preventDefault(); |
421 | } | 413 | } |
422 | } | 414 | } |
423 | } else if ((anEvent.key().string == 'KEY_ARROW_RIGHT') && (anEvent.modifier().meta == true)) { | 415 | } else if ((anEvent.key().string == 'KEY_ARROW_RIGHT') && (anEvent.modifier().meta == true)) { |
424 | this.handleMoveForward(); | 416 | this.handleMoveForward(); |
425 | } else if ((anEvent.key().string == 'KEY_ARROW_LEFT') && (anEvent.modifier().meta == true)) { | 417 | } else if ((anEvent.key().string == 'KEY_ARROW_LEFT') && (anEvent.modifier().meta == true)) { |
426 | this.handleMoveBackward(); | 418 | this.handleMoveBackward(); |
427 | } else if (anEvent.key().string == 'KEY_ESCAPE') { | 419 | } else if (anEvent.key().string == 'KEY_ESCAPE') { |
428 | anEvent.stop(); | 420 | anEvent.stop(); |
429 | this.handleExit(); | 421 | this.handleExit(); |
430 | } else { | 422 | } else { |
431 | MochiKit.Async.callLater(0.1, MochiKit.Base.method(this, 'checkState')); | 423 | MochiKit.Async.callLater(0.1, MochiKit.Base.method(this, 'checkState')); |
432 | } | 424 | } |
433 | }, | 425 | }, |
434 | 426 | ||
435 | //============================================================================= | 427 | //============================================================================= |
436 | 428 | ||
437 | 'preformActualUserRegistration': function () { | 429 | 'preformActualUserRegistration': function () { |
438 | vardeferredResult; | 430 | vardeferredResult; |
439 | 431 | ||
440 | deferredResult = new Clipperz.Async.Deferred("NewUSerWizardController.preformActualUserRegistration", {trace:false}); | 432 | deferredResult = new Clipperz.Async.Deferred("NewUSerWizardController.preformActualUserRegistration", {trace:false}); |
441 | deferredResult.addMethod(this.newUserCreationComponent(), 'showProgressOnUserCreation'); | 433 | deferredResult.addMethod(this.newUserCreationComponent(), 'showProgressOnUserCreation'); |
442 | deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', MochiKit.Base.method(this.newUserCreationComponent(), 'passphrase')); | 434 | deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', MochiKit.Base.method(this.newUserCreationComponent(), 'passphrase')); |
443 | deferredResult.addCallback(Clipperz.PM.DataModel.User.registerNewAccount, | 435 | deferredResult.addCallback(Clipperz.PM.DataModel.User.registerNewAccount, |
444 | this.newUserCreationComponent().username(), | 436 | this.newUserCreationComponent().username(), |
445 | MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase') | 437 | MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase') |
446 | ); | 438 | ); |
447 | deferredResult.addMethod(this, 'setUser'); | 439 | deferredResult.addMethod(this, 'setUser'); |
448 | deferredResult.addMethod(this.newUserCreationComponent(), 'showUserCreationDone'); | 440 | deferredResult.addMethod(this.newUserCreationComponent(), 'showUserCreationDone'); |
449 | deferredResult.addMethod(this, 'setUserCreationState', 'DONE'); | 441 | deferredResult.addMethod(this, 'setUserCreationState', 'DONE'); |
450 | 442 | ||
451 | // deferredResult.addErrback(MochiKit.Base.method(this.newUserCreationComponent(), 'showUserCreationFailed')); | 443 | // deferredResult.addErrback(MochiKit.Base.method(this.newUserCreationComponent(), 'showUserCreationFailed')); |
452 | // deferredResult.addErrback(MochiKit.Base.method(this, 'setUser', null)); | 444 | // deferredResult.addErrback(MochiKit.Base.method(this, 'setUser', null)); |
453 | // deferredResult.addErrback(MochiKit.Base.method(this, 'setUserCreationState', 'FAILED')); | 445 | // deferredResult.addErrback(MochiKit.Base.method(this, 'setUserCreationState', 'FAILED')); |
454 | deferredResult.addErrback(MochiKit.Base.bind(function (aValue) { | 446 | deferredResult.addErrback(MochiKit.Base.bind(function (aValue) { |
455 | this.newUserCreationComponent().showUserCreationFailed(); | 447 | this.newUserCreationComponent().showUserCreationFailed(); |
456 | this.setUser(null); | 448 | this.setUser(null); |
457 | this.setUserCreationState('FAILED'); | 449 | this.setUserCreationState('FAILED'); |