Reviewers: ,


Please review this at http://codereview.tryton.org/20005/

Affected files:
  M proteus.js
  M test.html
  M test.js


Index: proteus.js
===================================================================
--- a/proteus.js
+++ b/proteus.js
@@ -11,16 +11,13 @@


 function TrytonProxy(database, login, password) {
-    this.setting =  {
-        limit: 1000
-    };
     this.database = database;
     this.login = login;
     this.password = password;
 };

 TrytonProxy.prototype.warning = function(title, message){
-    alert(title + '\n' + message);
+    alert(title + '\n' + (message || ''));
 };

 TrytonProxy.prototype.rpc = function(args, parent_dfd) {
@@ -44,15 +41,15 @@

     var ajax_success = function(data) {
         if (data == null) {
-            alert('Unable to reach server');
+            proxy.warning('Unable to reach server');
             dfd.reject();
         } else if (data.error && args.method == 'common.login'){
-            alert('Unable to log in !');
+            proxy.warning('Unable to log in !');
             dfd.reject();
} else if (data.error && data.error.substring(0, 9) == 'NotLogged') {
             if (parent_dfd){
                 dfd.reject();
-                alert('Invalid login / password');
+                proxy.warning('Invalid login / password');
                 return;
             }
             var cred_prm = proxy.get_credentials();
@@ -85,7 +82,7 @@

 TrytonProxy.prototype.get_credentials = function() {
     if (!this.login || !this.password) {
-        alert('Missing credentials');
+        this.warning('Missing credentials');
         return;//throw?
     }
     return this.rpc_login(this.login, this.password);
@@ -106,7 +103,7 @@
         proxy.user_name = login;
     };
     var error = function(){
-        alert('Invalid login');
+        proxy.warning('Invalid login');
     };

     prm.done(success);
@@ -115,7 +112,6 @@

 };

-
 TrytonProxy.prototype.rpc_method =  function(model, method, params) {
     var args = {
         'method': 'model.' + model + '.' + method,
Index: test.html
===================================================================
--- a/test.html
+++ b/test.html
@@ -4,7 +4,7 @@
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

     <title>Test.js</title>
- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js";></script> + <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js";></script>
     <script type="text/javascript" src="proteus.js"></script>
     <script type="text/javascript" src="test.js"></script>

Index: test.js
===================================================================
--- a/test.js
+++ b/test.js
@@ -2,37 +2,40 @@
 $(function() {

     var results = $('#results');
+    var p;

     $('#test').click(function(ev){
         ev.preventDefault();
         results.empty();

-        var login = $('#login').val();
-        var password = $('#password').val();
         var database = $('#database').val();
-        print(database, login, password);
+        if (p) {
+            p.database = database;
+        } else {
+            p = new TrytonProxy(database);
+        }

-        var p = new TrytonProxy(database, login, password);
-        var search_params = [[], 0, 1000, null, null];
-        var search_prm = p.rpc_method('res.user', 'search', search_params);
+        p.get_credentials = function(){
+            var login = $('#login').val();
+            var password = $('#password').val();
+            return p.rpc_login(login, password);
+        }

-        search_prm.done(function(res){
-            var read_params = [res, ['id', 'name'], null];
-            var read_prm = p.rpc_method('res.user', 'read', read_params);
+        var search_params = [[], 0, 1000, null, {}];
+        var search_req = p.rpc_method('res.user', 'search', search_params);

-            read_prm.done(function(res){
-                for (var i=0, u; u = res[i]; i++) {
-                    print('found', u);
-                    results.append('<li>' + u.name + '</li>');
-                }
+        read_req = search_req.pipe(function(res) {
+            var read_params = [res, ['id', 'name'], {}];
+            return p.rpc_method('res.user', 'read', read_params);
+            });

-            });
-            read_prm.fail(function(){print('FAILED READ')});
-
-
-            });
-        search_prm.fail(function(){print('FAILED SEARCH')});
-
+        read_req.done(function(res) {
+            for (var i=0, u; u = res[i]; i++) {
+                results.append('<li>' + u.name + '</li>');
+            }
         });

+        read_req.fail(function() {print('FAILED')});
+
+    });
 });


--
[email protected] mailing list

Reply via email to