Ignore:
Timestamp:
02/14/12 18:22:25 (13 years ago)
Author:
hendrikvanantwerpen
Message:
  • Clear LoginDialog? on show (in case of re-show).
  • Allow to link nodes/widgets to rft.ui.Page members with data-rft-attach-point attribute.
  • Allow arguments to a page to be passed with data-rft-props argument. Content loader rft.content sets this argument on the top node of a loaded page.
  • Have longer cookie-lifetime and update cookie when session is restored. Allow session restore in API and client code.
  • Moved startup Javascript to rft/run.js.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/rft/auth.js

    r256 r260  
    1 define(['dojo/_base/Deferred','./api'],function(Deferred,api){
    2     return new (function() {
    3         var self = this;
    4         var currentUser = null;
     1define(['dojo/_base/Deferred','dojo/_base/xhr','dojo/_base/json'],
     2    function(Deferred,xhr,json){
     3        return new (function() {
     4            var self = this;
     5            var currentUser = null;
    56
    6         self.login = function(username,password) {
    7             var d = new Deferred();
    8             api.post("login",
    9             {
    10                 username:username,
    11                 password:password
    12             })
    13             .then(function(data) {
    14                 currentUser = data;
    15                 d.resolve(data);
    16             },function(){
    17                 d.reject();
    18             });
    19             return d.promise;
    20         };
     7            function post(path,args) {
     8                return xhr.post({
     9                    url: "../server/api.php"+path,
     10                    handleAs: "json",
     11                    headers: {
     12                        "Content-Type": "application/json"
     13                    },
     14                    rawBody: json.toJson(args)
     15                });
     16            }
     17
     18            self.login = function(username,password) {
     19                var d = new Deferred();
     20                post("/login",
     21                {
     22                    username:username,
     23                    password:password
     24                })
     25                .then(function(data) {
     26                    currentUser = data;
     27                    d.resolve(data);
     28                },function(){
     29                    d.reject();
     30                });
     31                return d.promise;
     32            };
     33
     34            self.restore = function() {
     35                var d = new Deferred();
     36                post("/login",{})
     37                .then(function(data) {
     38                    currentUser = data;
     39                    d.resolve(data);
     40                },function(){
     41                    d.reject();
     42                });
     43                return d.promise;
    2144           
    22         self.register = function(username,password) {
    23             var d = new Deferred();
    24             api.post("register",
    25             {
    26                 username:username,
    27                 password:password
    28             })
    29             .then(function(data) {
    30                 currentUser = data;
    31                 d.resolve(data);
    32             },function(){
    33                 d.reject();
    34             });
    35             return d.promise;
    36         };
     45            };
     46
     47            self.register = function(username,password) {
     48                var d = new Deferred();
     49                post("/register",
     50                {
     51                    username:username,
     52                    password:password
     53                })
     54                .then(function(data) {
     55                    currentUser = data;
     56                    d.resolve(data);
     57                },function(){
     58                    d.reject();
     59                });
     60                return d.promise;
     61            };
    3762           
    38         self.getUser = function(){
    39             return currentUser;
    40         };
    41     })();
    42 });
     63            self.getUser = function(){
     64                return currentUser;
     65            };
     66        })();
     67    });
Note: See TracChangeset for help on using the changeset viewer.