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