Use GET for make_friend when the user is not logged in
authorTom Hughes <tom@compton.nu>
Sun, 2 Jun 2013 18:08:32 +0000 (19:08 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 2 Jun 2013 18:08:32 +0000 (19:08 +0100)
The POST is only used to avoid cross site attacks against logged
in users, and the login form will defeat that for users that are not
logged in, so use GET when not logged in so that the redirect to the
login form will be done.

app/views/user/view.html.erb

index cf74fc0..fc7b599 100644 (file)
           <li>
             <% if @user and @user.is_friends_with?(@this_user) %>
               <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => @this_user.display_name), :method => :post %>
-            <% else %>
+            <% elsif @user %>
               <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => @this_user.display_name), :method => :post %>
+            <% else %>
+              <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => @this_user.display_name) %>
             <% end %>
           </li>