source: Dev/trunk/src/client/qed-client/ui/LoginDialogWrapper.coffee @ 492

Last change on this file since 492 was 492, checked in by hendrikvanantwerpen, 11 years ago
  • Enable/disable buttons on content change.
  • One place to do date formatting, because it was going wrong again.
  • Serialize questions in survey properly.
  • _ComplexValueMixin consumes submit events, but does trigger outer forms if present.
  • Trigger dialog show/hide for login only after previous effect is finished.
  • Check that documents are actually valid, not just that validator returned a result.
  • Validate email and timestamp formats.
  • Prepared for live runs.
File size: 1.4 KB
Line 
1define [
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/when",
12    "dojo/text!./templates/LoginDialogWrapper.html"
13], (session, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin,
14    registry, declare, event, lang, _on, _when, template) ->
15    declare [_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],
16        templateString: template
17        _fx: null
18        startup: () ->
19            if @_started then return
20            @inherited arguments
21            _on session, 'change', (lang.hitch @, 'onUserChange')
22            @onUserChange session.get()
23        onLogin: (evt) ->
24            if @loginForm.validate()
25                value = @loginForm.get 'value'
26                session.login value.username,
27                              value.password
28                .then () =>
29                    @_fx = _when(@_fx)
30                    .then () =>
31                        @loginDialog.hide()
32                , () =>
33                    alert "Login failed!"
34            event.stop evt if evt
35            false
36        onUserChange: (user) ->
37            @_fx = _when(@_fx)
38            .then () =>
39                if user
40                    @loginDialog.hide()
41                else
42                    @loginDialog.show()
43            null
Note: See TracBrowser for help on using the repository browser.