Last change
on this file since 468 was
468,
checked in by hendrikvanantwerpen, 12 years ago
|
Improved authentication
- Authentication cannot be cancelled, removing a lot of weird race
conditions.
- We offer a request provider that has automatic retry in case of
authentication failures.
- Reduced dependency on LoginDialog? by having it act independent
based on events. Other modules can just depend on 'session'.
|
File size:
1.2 KB
|
Line | |
---|
1 | define [ |
---|
2 | "../session", |
---|
3 | "dijit/_WidgetBase", |
---|
4 | "dijit/_TemplatedMixin", |
---|
5 | "dijit/_WidgetsInTemplateMixin", |
---|
6 | "dijit/registry", |
---|
7 | "dojo/_base/declare", |
---|
8 | "dojo/_base/event", |
---|
9 | "dojo/_base/lang", |
---|
10 | "dojo/on", |
---|
11 | "dojo/text!./templates/LoginDialogWrapper.html" |
---|
12 | ], (session, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, |
---|
13 | registry, declare, event, lang, _on, template) -> |
---|
14 | declare [_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin], |
---|
15 | templateString: template |
---|
16 | startup: () -> |
---|
17 | if @_started then return |
---|
18 | @inherited arguments |
---|
19 | _on session, 'change', (lang.hitch @, @onUserChange) |
---|
20 | @onUserChange session.get() |
---|
21 | onLogin: (evt) -> |
---|
22 | if @loginForm.validate() |
---|
23 | value = @loginForm.get 'value' |
---|
24 | session.login value.username, |
---|
25 | value.password |
---|
26 | .then () => |
---|
27 | @loginDialog.hide() |
---|
28 | , () => |
---|
29 | alert "Login failed!" |
---|
30 | event.stop evt if evt |
---|
31 | false |
---|
32 | onUserChange: (user) -> |
---|
33 | if user |
---|
34 | @loginDialog.hide() |
---|
35 | else |
---|
36 | @loginDialog.show() |
---|
Note: See
TracBrowser
for help on using the repository browser.