Add "blocks on" and "blocks by" links to the user page when a logged
[rails.git] / app / views / user / view.html.erb
1 <h2><%= h(@this_user.display_name) %>
2 <% UserRole::ALL_ROLES.each do |role| %>
3 <% if @user and @user.administrator? %>
4 <% if @this_user.has_role? role %>
5 <%= link_to(image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.revoke.#{role}"), :title => t("user.view.role.revoke.#{role}")), :controller => 'user_roles', :action => 'revoke', :display_name => @this_user.display_name, :role => role) %>
6 <% else %>
7 <%= link_to(image_tag("roles/blank_#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.grant.#{role}"), :title => t("user.view.role.grant.#{role}")), :controller => 'user_roles', :action => 'grant', :display_name => @this_user.display_name, :role => role) %>
8 <% end %>
9 <% elsif @this_user.has_role? role %>
10 <%= image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.#{role}"), :title => t("user.view.role.#{role}")) %>
11 <% end %>
12 <% end %></h2>
13 <div id="userinformation">
14 <% if @user and @this_user.id == @user.id %>
15 <!-- Displaying user's own profile page -->
16 <%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
17 | <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
18 | <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
19 | <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
20 | <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
21 | <%= link_to t('user.view.blocks on me'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @user.display_name %>
22 <% if @user and @user.moderator? %>
23 | <%= link_to t('user.view.blocks by me'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @user.display_name %>
24 <% end %>
25 <% else %>
26 <!-- Displaying another user's profile page -->
27 <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
28 | <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
29 | <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
30 | <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
31 | <% if @user and @user.is_friends_with?(@this_user) %>
32   <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
33 <% else %>
34   <%= link_to t('user.view.add as friend'), :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
35 <% end %>
36 | <%= link_to t('user.view.block_history'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @this_user.display_name %>
37 <% if @this_user.moderator? %>
38 | <%= link_to t('user.view.moderator_history'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @this_user.display_name %>
39 <% end %>
40 <% if @user and @user.moderator? %>
41 | <%= link_to t('user.view.create_block'), :controller => 'user_blocks', :action => 'new', :display_name => @this_user.display_name %>
42 <% end %>
43 <% end %>
44 </div>
45
46 <% if @this_user != nil %>
47 <P>
48 <b><%= t 'user.view.mapper since' %></b> <%= l @this_user.creation_time %> <%= t 'user.view.ago', :time_in_words_ago => time_ago_in_words(@this_user.creation_time) %>
49 </P>
50 <% end %>
51   
52 <h3><%= t 'user.view.user image heading' %></h3>
53 <% if @this_user.image %>
54   <%= image_tag url_for_file_column(@this_user, "image") %>
55   <% if @user and @this_user.id == @user.id %>
56     <%= button_to t('user.view.delete image'), :action => 'delete_image' %>
57   <% end %>
58 <% end %>
59 <br />
60
61 <% if @user and @this_user.id == @user.id %>
62   <%= t 'user.view.upload an image' %><br />
63   <%= form_tag({:action=>'upload_image'}, :multipart => true)%>
64     <%= file_column_field 'user', 'image' %>
65     <%= submit_tag t('user.view.add image') %>
66   </form>
67 <% end %>
68
69 <h3><%= t 'user.view.description' %></h3>
70 <div id="description"><%= htmlize(@this_user.description) %></div>
71
72 <% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
73 <h3><%= t 'user.view.user location' %></h3>
74
75   <%= t 'user.view.no home location' %>
76   <% if @user and @this_user.id == @user.id %>
77   <%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %>
78   <% end %>
79 <% else %>
80
81   <% if @user and @this_user.id == @user.id %>
82     <h3><%= t 'user.view.your friends' %></h3>
83     <% if @this_user.friends.empty? %>
84       <%= t 'user.view.no friends' %>
85     <% else %>
86       <table id="friends">
87       <% @this_user.friends.each do |friend| %>
88       <% @friend = User.find_by_id(friend.friend_user_id) %>
89       <tr>
90       <td class="image">
91       <% if @friend.image %>
92         <%= image_tag url_for_file_column(@friend, "image") %>
93       <% end %>
94       </td>
95       <td class="username"><%= link_to h(@friend.display_name), :controller => 'user', :action => 'view',  :display_name => @friend.display_name %></td>
96       <td>
97         <% if @friend.home_lon and @friend.home_lat %>
98           <% distance = @this_user.distance(@friend) %>
99           <% if distance < 1 %>
100             <%= t 'user.view.m away', :count => (distance * 1000).round %>
101           <% else %>
102             <%= t 'user.view.km away', :count => distance.round %>
103           <% end %>
104         <% end %>
105       </td>
106       <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @friend.display_name %>)</td>
107       </tr>
108       <%end%>
109       </table>
110     <%end%>
111     <br/>
112   <%end%>
113
114
115   <% if @user and @this_user.id == @user.id %>
116     <h3><%= t 'user.view.nearby users' %></h3>
117     <% if @this_user.nearby.empty? %>
118       <%= t 'user.view.no nearby users' %>
119     <% else %>
120
121     <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px;"></div>
122     <%= render :partial => 'friend_map' %>
123       <table id="nearbyusers">
124       <% @this_user.nearby.each do |nearby| %>
125       <tr>
126       <td class="username"><%= link_to h(nearby.display_name), :controller => 'user', :action => 'view',  :display_name => nearby.display_name %></td>
127       <td>
128         <% distance = @this_user.distance(nearby) %>
129         <% if distance < 1 %>
130           <%= t 'user.view.m away', :count => (distance * 1000).round %>
131         <% else %>
132           <%= t 'user.view.km away', :count => distance.round %>
133         <% end %>
134       </td>
135       <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => nearby.display_name %>)</td>
136       </tr>
137       <% end %>
138       </table>
139     <% end %>
140   <% end %>
141 <% end %>
142
143 <br/>
144 <br/>
145 <% if @user and @this_user.id == @user.id %>
146 <%= link_to t('user.view.change your settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
147 <br/><br/>
148 <%= link_to t('user.view.my_oauth_details'), :controller => 'oauth_clients', :action => 'index' %>
149 <% end %>