From 602bdca7e3ba6d0f583b68046dee08c5b408736f Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Wed, 15 Jun 2011 18:31:53 -0500 Subject: [PATCH] Minor fixes needed for last_timeline to work. * Added route back for PUT /ts_api/user/ * Fixed typo in ``ts_api:put_user/2``. * Fixed incorrect expected return from ``ts_ext_data:set_property/3``. * Added missing assignment for ``ts_user.email`` in the appropriate ``ts_json:construct_record/3`` clause. * Fixed model attribute assignment in ``ts.js``. --- db/test/DECISION_TAB.LOG | Bin 156 -> 156 bytes db/test/LATEST.LOG | Bin 92 -> 1078 bytes src/ts_api.erl | 3 ++- src/ts_common.erl | 2 +- src/ts_ext_data.erl | 4 ++-- src/ts_json.erl | 1 + www/js/ts.js | 2 +- 7 files changed, 7 insertions(+), 5 deletions(-) diff --git a/db/test/DECISION_TAB.LOG b/db/test/DECISION_TAB.LOG index f15ab56697dd251fb738bafb507abb29f591aa5e..7c8ee32f5533dccf5356055233fa9058675bc98b 100644 GIT binary patch delta 20 ccmbQkIEQgU1pC1mNenERyC=q5GkIhI07}CK>;M1& delta 20 bcmbQkIEQgU1pD;ZBnDo-wG-p5nH;kKLgoe_ diff --git a/db/test/LATEST.LOG b/db/test/LATEST.LOG index deeac89d094fa4da19ac7edace88a7eb71e54925..f3762f19c63ccaa4a327957618cb0225aa2571f6 100644 GIT binary patch literal 1078 zcmeHFJ1j&&6utZ2er;C7ii%_ljlw3_f^LaKA{z~&5T1EEW9R*5*39g(jYguPQAyM) zrI4sZB}$!;C?rZmBPua$2qHo&ro8u_Ip>~pLxvfS#^MP8DA<#Qfn^%S(BSiuMG3-0 zU`Qx|n6z}s12dQH^&pzd=Ca*A7*dQgj!B+z%B7;F4G?Lw!8qKoAw1s<5W1@W8OIPU z@*r^3XAp+QvLLb&5UW1m`dW%fO=@6>DQQ(C5gsI5Y!ktdz%=%CJrM#g*C-Kn=Syu1BSbH|Uby@$Jr_T803Xf-PXGV_ diff --git a/src/ts_api.erl b/src/ts_api.erl index c802f9c..bf7238f 100644 --- a/src/ts_api.erl +++ b/src/ts_api.erl @@ -84,6 +84,7 @@ dispatch_user(YArg, Session, [Username]) -> case {HTTPMethod, Session#ts_api_session.username} of {'GET', Username} -> get_user(YArg, Username); + {'PUT', Username} -> put_user(YArg, Username); {_BadMethod, Username} -> make_json_405(YArg, [{see_docs, "/ts_api_doc/users.html"}]); @@ -253,7 +254,7 @@ put_user(YArg, Username) -> EJSON = parse_json_body(YArg), {UR, ExtData} = - try ts_user:ejson_to_record_strict(#ts_user{username=Username}, EJSON) + try ts_json:ejson_to_record_strict(#ts_user{username=Username}, EJSON) catch throw:{InputError, StackTrace} -> error_logger:error_report("Bad input in put_user/2: ~p", [InputError]), diff --git a/src/ts_common.erl b/src/ts_common.erl index 93c9a9e..a6201dc 100644 --- a/src/ts_common.erl +++ b/src/ts_common.erl @@ -102,7 +102,7 @@ list(Query, Start, Length) -> do_set_ext_data(Record, ExtData) when is_list(ExtData) -> lists:foreach( fun({Key, Val}) -> - {atomic, ok} = ts_ext_data:set_property(Record, Key, Val) + ok = ts_ext_data:set_property(Record, Key, Val) end, ExtData), ok. diff --git a/src/ts_ext_data.erl b/src/ts_ext_data.erl index 1fa967e..d020542 100644 --- a/src/ts_ext_data.erl +++ b/src/ts_ext_data.erl @@ -44,7 +44,7 @@ get_properties(Rec) -> {Key, ExtData#ts_ext_data.value} end, Result). do_set_property(Ref, PropKey, Val) -> - {atomic, Result} = mnesia:transaction(fun() -> + {atomic, _Result} = mnesia:transaction(fun() -> mnesia:write(#ts_ext_data{ref = {Ref, PropKey}, value = Val}) end), - Result. + ok. diff --git a/src/ts_json.erl b/src/ts_json.erl index 56039c0..24ebf49 100644 --- a/src/ts_json.erl +++ b/src/ts_json.erl @@ -122,6 +122,7 @@ construct_record(User=#ts_user{}, [{Key, Value}|Fields], ExtData) -> id -> construct_record(User#ts_user{username = Value}, Fields, ExtData); name -> construct_record(User#ts_user{name = Value}, Fields, ExtData); + email -> construct_record(User#ts_user{email = Value}, Fields, ExtData); join_date -> construct_record( User#ts_user{join_date = decode_datetime(Value)}, Fields, ExtData); diff --git a/www/js/ts.js b/www/js/ts.js index 37fa7fb..b2a16c8 100644 --- a/www/js/ts.js +++ b/www/js/ts.js @@ -559,7 +559,7 @@ $(document).ready(function(){ this.entries.collection.timeline = tl; // update the last_timeline field of the user model - this.user.model.set('last_timeline', tl.get('id'); + this.user.model.set({last_timeline: tl.get('id')}); this.user.model.save(); // refresh TimelineListView