]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/user/view.rhtml
add individual user preference read/write, and default all new users to having public...
[rails.git] / app / views / user / view.rhtml
index 15176f3757ecdd64788b287cd8eaf4f100fc2292..f27ce6f0ae949b10c37cc7f3f0dcf3d7319166d9 100644 (file)
@@ -1,45 +1,91 @@
-<h2><%= @this_user.display_name %></h2>
-<div id="description"><%= simple_format(@this_user.description) %></div>
-
+<% @this_user = User.find_by_display_name(@this_user.display_name) %>
+<h2><%= h(@this_user.display_name) %></h2>
+<div id="userinformation">
 <% if @user and @this_user.id == @user.id %>
-<h3>Your diary</h3>
-<%= link_to 'View your diary', :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %><br/>
-<%= link_to 'New diary post', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+<%= link_to 'my diary', :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
+| <%= link_to 'new diary post', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+| <%= link_to 'my traces', :controller => 'trace', :action=>'mine' %>
+| <%= link_to 'my settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+<% else %>
+<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @this_user.id %>
+| <%= link_to 'diary', :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
+| <%= link_to 'traces', :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
+| <% if @user and @user.is_friends_with?(@this_user) %>
+  <%= link_to 'remove as friend', :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
+<% else %>
+  <%= link_to 'add as friend', :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
+<% end %>
+<% end %>
+</div>
 
-<h3>Your traces</h3>
-<%= link_to 'View your traces', :controller => 'trace', :action=>'mine' %>
+<h3>User image</h3>
+<% if @this_user.image %>
+ <%= image_tag url_for_file_column(@this_user, "image") %>
+<% end %>
+<br />
 
-<h3>Your account</h3>
-<%= link_to 'Edit your settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+<% if @user and @this_user.id == @user.id %>
+  Upload an image<br />
+  <%= form_tag({:action=>'upload_image'}, :multipart => true)%>
+    <%= file_column_field 'user', 'image' %>
+    <input type="submit" name="Upload" />
+  </form>
+<% end %>
 
+<h3>Description</h3>
+<div id="description"><%= simple_format(@this_user.description) %></div>
 
-<% else %>
-<%= link_to 'Send message', :controller => 'message', :action => 'new', :user_id => @this_user.id %><br /> 
-<%= link_to 'Add as friend', :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %><br />
-<%= link_to 'View diary', :controller => 'diary_entry', :action => 'user', :display_name => @this_user.display_name %><br />
-<%= link_to 'View traces', :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
+<% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
+<h3>User location</h3>
 
-<% end %>
+  No home location has been set.
+  <% if @user and @this_user.id == @user.id %>
+  If you set your location, a pretty map and stuff will appear below. You can set your home location on your <%= link_to 'settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %> page.
+  <% end %>
+<% else %>
 
-<h3>Nearby users</h3>
-<% if @this_user.home_lat and @this_user.home_lon %>
-  <% if @this_user.nearby.empty? %>
-    There are no users who admit to mapping nearby.
-  <% else %>
-    <table id="nearbyusers">
-    <% @this_user.nearby.each do |nearby| %>
-    <tr>
-    <td class="username"><%= link_to nearby.display_name, :controller => 'user', :action => 'view',  :display_name => nearby.display_name %></td>
-    <td><%= @this_user.distance(nearby).round %>km away</td>
-    <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
-    </tr>
+  <% if @user and @this_user.id == @user.id %>
+    <h3>Your friends</h3>
+    <% if @this_user.friends.empty? %>
+      You have not added any friends yet.
+    <% else %>
+      <table id="friends">
+      <% @this_user.friends.each do |friend| %>
+      <% @friend = User.find_by_id(friend.friend_user_id) %>
+      <tr>
+      <td class="image">
+      <% if @friend.image %>
+        <%= image_tag url_for_file_column(@friend, "image") %>
+      <% end %>
+      </td>
+      <td class="username"><%= link_to h(@friend.display_name), :controller => 'user', :action => 'view',  :display_name => @friend.display_name %></td>
+      <td><% if @friend.home_lon and @friend.home_lat %><%= @this_user.distance(@friend).round %>km away<% end %></td>
+      <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @friend.id %>)</td>
+      </tr>
+      <%end%>
+      </table>
     <%end%>
-    </table>
-
+    <br/>
   <%end%>
-<% else %>
-  No home location has been set.
+
+
   <% if @user and @this_user.id == @user.id %>
-  You can set your home location on your <%= link_to 'settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %> page.
+    <h3>Nearby users:</h3>
+    <% if @this_user.nearby.empty? %>
+      There are no users who admit to mapping nearby yet.
+    <% else %>
+
+    <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px;"></div>
+    <%= render :partial => 'friend_map' %>
+      <table id="nearbyusers">
+      <% @this_user.nearby.each do |nearby| %>
+      <tr>
+      <td class="username"><%= link_to h(nearby.display_name), :controller => 'user', :action => 'view',  :display_name => nearby.display_name %></td>
+      <td><%= @this_user.distance(nearby).round %>km away</td>
+      <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
+      </tr>
+      <% end %>
+      </table>
+    <% end %>
   <% end %>
 <% end %>