<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -19,7 +19,7 @@
 %% @copyright Yariv Sadan, 2008
 
 -module(api_controller).
--export([send/1, follow/1]).
+-export([send/1, follow/1, toggle_twitter/1]).
 -include(&quot;twoorl.hrl&quot;).
 
 send(A) -&gt;
@@ -157,3 +157,22 @@ follow(A) -&gt;
 		      exit(Errs2)
 	      end
       end).
+
+toggle_twitter(A) -&gt;
+    twoorl_util:auth(
+      A,
+      fun(Usr) -&gt;
+	      Params = yaws_api:parse_post(A),
+	      Enabled =
+		  case proplists:get_value(&quot;value&quot;, Params) of
+		      &quot;true&quot; -&gt; 1;
+		      &quot;false&quot; -&gt; 0;
+		      %% TODO need better error handling
+		      Val -&gt; exit({unexpected_value, Val})
+		  end,
+	      Usr1 = usr:twitter_enabled(Usr, Enabled),
+	      twoorl_util:update_session(A, Usr1),
+	      usr:update([{twitter_enabled, Enabled}], {id,'=',Usr:id()}),
+	      {response, [{html, &lt;&lt;&quot;ok&quot;&gt;&gt;}]}
+      end).
+	      </diff>
      <filename>src/components/api_controller.erl</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 &lt;%@ send(Data) %&gt;&lt;% Data %&gt;
-
 &lt;%@ follow(Data) %&gt;&lt;% Data %&gt;
+&lt;%@ toggle_twitter(Data) %&gt;&lt;% Data %&gt;</diff>
      <filename>src/components/api_view.et</filename>
    </modified>
    <modified>
      <diff>@@ -27,6 +27,10 @@ index(A) -&gt;
       A,
       fun(Usr) -&gt;
 	      Ids = usr:get_timeline_usr_ids(Usr),
-	      [?Data(A, {Usr:username(), Usr:twitter_enabled() == 1}),
+	      HasTwitter = (
+		Usr:twitter_username() =/= undefined andalso
+		Usr:twitter_password() =/= undefined),
+	      [?Data(A, {Usr:username(), HasTwitter,
+			 Usr:twitter_enabled() == 1}),
 	       {ewc, timeline, show, [A, Ids]}]
       end).</diff>
      <filename>src/components/home_controller.erl</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-&lt;%@ index([{B, {Username,TwitterEnabled}}, Timeline]) %&gt;
+&lt;%@ index([{B, {Username, HasTwitter, TwitterEnabled}}, Timeline]) %&gt;
 &lt;table id=&quot;txt_table&quot;&gt;
   &lt;tr&gt;
     &lt;td&gt;&lt;div class=&quot;t1&quot;&gt;&lt;% B(upto) %&gt;&lt;/div&gt;&lt;/td&gt;
@@ -9,7 +9,7 @@
       &lt;form action=&quot;/api/send&quot; method=&quot;post&quot; id=&quot;txt_form&quot;&gt;
 	&lt;fieldset&gt;
 	  &lt;textarea rows=&quot;3&quot; cols=&quot;70&quot; id=&quot;txt&quot; name=&quot;msg&quot;&gt;&lt;/textarea&gt;
-	  &lt;% if TwitterEnabled -&gt; twitter_msg(B); true -&gt;[] end %&gt;
+	  &lt;% if HasTwitter -&gt; twitter_msg(B, TwitterEnabled); true -&gt;[] end %&gt;
 	&lt;/fieldset&gt;
       &lt;/form&gt;
       &lt;input type=&quot;button&quot; id=&quot;submit&quot; value=&quot;&lt;% B(send) %&gt;&quot; onclick=&quot;send()&quot;/&gt;
@@ -20,5 +20,7 @@
 
 &lt;% Timeline %&gt;
 
-&lt;%@ twitter_msg(B) %&gt;&lt;div id=&quot;twitter_msg&quot;&gt;&lt;% B(twitter_msg) %&gt;&lt;/div&gt;
+&lt;%@ twitter_msg(B, TwitterEnabled) %&gt;
+&lt;div id=&quot;twitter_msg&quot;&gt;&lt;input onchange=&quot;toggle_twitter(this);&quot; type=&quot;checkbox&quot; &lt;% if TwitterEnabled -&gt; &lt;&lt;&quot;checked=\&quot;checked\&quot;&quot;&gt;&gt;;
+       true -&gt; [] end %&gt;/&gt;&lt;% B(twitter_msg) %&gt;&lt;/div&gt;
 </diff>
      <filename>src/components/home_view.et</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ function follow(username, val) {
     $.post(&quot;/api/follow&quot;,
 	   {&quot;username&quot;: username,
 	    &quot;value&quot;: val},
-	   function(Res) {
+	   function(res) {
 	       if (val == &quot;1&quot;) {
 		   $(&quot;#follow&quot;).hide();
 		   $(&quot;#unfollow&quot;).show();
@@ -53,3 +53,14 @@ function follow(username, val) {
 	   });
 	   
 }
+
+function toggle_twitter(input) {
+    $.post(&quot;/api/toggle_twitter&quot;,
+	   {&quot;value&quot;: input.value == &quot;on&quot;},
+	   function(res) {
+	       if (res != &quot;ok&quot;) {
+		   alert(&quot;Toggle Twitter failed&quot;);
+	       }
+	   });
+}
+</diff>
      <filename>www/static/twoorl.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d7f599ba3dbf5f617dc7ec860f7768d913239dce</id>
    </parent>
  </parents>
  <author>
    <name>Yariv Sadan</name>
    <email>yarivvv@gmail.com</email>
  </author>
  <url>http://github.com/yariv/twoorl/commit/ea9ac7a275c0f77ccda09be190546ef764cf3599</url>
  <id>ea9ac7a275c0f77ccda09be190546ef764cf3599</id>
  <committed-date>2008-06-22T16:10:24-07:00</committed-date>
  <authored-date>2008-06-22T16:10:24-07:00</authored-date>
  <message>implement toggle twitter checkbox on homepage</message>
  <tree>87f692e0b5533b5ca6b0f1abf7a0b23093ec4123</tree>
  <committer>
    <name>Yariv Sadan</name>
    <email>yarivvv@gmail.com</email>
  </committer>
</commit>
