Ignore:
Timestamp:
06/26/13 21:17:41 (12 years ago)
Author:
hendrikvanantwerpen
Message:

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:
1 moved

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/client/qed-client/ui/LoginDialogWrapper.coffee

    r466 r468  
    11define [
    22    "../session",
     3    "dijit/_WidgetBase",
     4    "dijit/_TemplatedMixin",
    35    "dijit/_WidgetsInTemplateMixin",
    4     "dijit/Dialog",
    5     "dijit/form/ValidationTextBox",
     6    "dijit/registry",
    67    "dojo/_base/declare",
    78    "dojo/_base/event",
    8     "dojo/dom-construct",
    9     "dojo/text!./templates/LoginDialog.html"
    10 ], (session, _WidgetsInTemplateMixin, Dialog,
    11     ValidationTextBox, declare, event,
    12     domConstruct, template) ->
    13     declare [Dialog,_WidgetsInTemplateMixin],
     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],
    1415        templateString: template
    15         title: "Login to QED"
    16         show: () ->
    17             @loginForm.reset()
     16        startup: () ->
     17            if @_started then return
    1818            @inherited arguments
     19            _on session, 'change', (lang.hitch @, @onUserChange)
     20            @onUserChange session.get()
    1921        onLogin: (evt) ->
    20             if @loginForm.validate
     22            if @loginForm.validate()
    2123                value = @loginForm.get 'value'
    2224                session.login value.username,
    2325                              value.password
    24                 .then (() => @hide()),
    25                       () => alert "Login failed!"
    26             @hide()
     26                .then () =>
     27                    @loginDialog.hide()
     28                , () =>
     29                    alert "Login failed!"
    2730            event.stop evt if evt
    2831            false
    29         onCancel: (evt) ->
    30             @hide()
    31             event.stop evt if evt
    32             false
     32        onUserChange: (user) ->
     33            if user
     34                @loginDialog.hide()
     35            else
     36                @loginDialog.show()
Note: See TracChangeset for help on using the changeset viewer.