135 lines
4.7 KiB
Text
135 lines
4.7 KiB
Text
<div class="contextual">
|
|
<%= link_to(l(:button_edit), edit_user_path(@user), :class => 'icon icon-edit') if User.current.admin? && @user.logged? %>
|
|
</div>
|
|
|
|
<h2><%= avatar @user, :size => "50" %> <%= @user.name %></h2>
|
|
|
|
<div class="splitcontent">
|
|
<div class="splitcontentleft">
|
|
<ul>
|
|
<li><%=l(:field_login)%>: <%= @user.login %></li>
|
|
<% unless @user.pref.hide_mail %>
|
|
<li><%=l(:field_mail)%>: <%= mail_to(@user.mail, nil, :encode => 'javascript') %></li>
|
|
<% end %>
|
|
<% @user.visible_custom_field_values.each do |custom_value| %>
|
|
<% if !custom_value.value.blank? %>
|
|
<li class="<%= custom_value.custom_field.css_classes %>"><%= custom_value.custom_field.name %>: <%= show_value(custom_value) %></li>
|
|
<% end %>
|
|
<% end %>
|
|
<li><%=l(:label_registered_on)%>: <%= format_date(@user.created_on) %></li>
|
|
<% unless @user.last_login_on.nil? %>
|
|
<li><%=l(:field_last_login_on)%>: <%= format_date(@user.last_login_on) %></li>
|
|
<% end %>
|
|
</ul>
|
|
|
|
<h3><%=l(:label_issue_plural)%></h3>
|
|
|
|
<table class="list issue-report">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th><%=l(:label_open_issues_plural)%></th>
|
|
<th><%=l(:label_closed_issues_plural)%></th>
|
|
<th><%=l(:label_total)%></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% assigned_to_ids = ([@user.id] + @user.group_ids).join("|") %>
|
|
<% sort_cond = 'priority:desc,updated_on:desc' %>
|
|
<tr>
|
|
<td class="name">
|
|
<%= link_to l(:label_assigned_issues),
|
|
issues_path(:set_filter => 1, :assigned_to_id => assigned_to_ids, :sort => sort_cond) %>
|
|
</td>
|
|
<td>
|
|
<%= link_to @issue_counts[:assigned][:open],
|
|
issues_path(:set_filter => 1, :assigned_to_id => assigned_to_ids, :sort => sort_cond) %>
|
|
</td>
|
|
<td>
|
|
<%= link_to @issue_counts[:assigned][:total] - @issue_counts[:assigned][:open],
|
|
issues_path(:set_filter => 1, :status_id => 'c', :assigned_to_id => assigned_to_ids, :sort => sort_cond) %>
|
|
</td>
|
|
<td class="total">
|
|
<%= link_to @issue_counts[:assigned][:total],
|
|
issues_path(:set_filter => 1, :status_id => '*', :assigned_to_id => assigned_to_ids, :sort => sort_cond) %>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name">
|
|
<%= link_to l(:label_reported_issues),
|
|
issues_path(:set_filter => 1, :author_id => @user.id, :sort => sort_cond) %>
|
|
</td>
|
|
<td>
|
|
<%= link_to @issue_counts[:reported][:open],
|
|
issues_path(:set_filter => 1, :author_id => @user.id, :sort => sort_cond) %>
|
|
</td>
|
|
<td>
|
|
<%= link_to @issue_counts[:reported][:total] - @issue_counts[:reported][:open],
|
|
issues_path(:set_filter => 1, :status_id => 'c', :author_id => @user.id, :sort => sort_cond) %>
|
|
</td>
|
|
<td class="total">
|
|
<%= link_to @issue_counts[:reported][:total],
|
|
issues_path(:set_filter => 1, :status_id => '*', :author_id => @user.id, :sort => sort_cond) %>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<% unless @memberships.empty? %>
|
|
<h3><%=l(:label_project_plural)%></h3>
|
|
<table class="list projects">
|
|
<thead>
|
|
<tr>
|
|
<th><%=l(:label_project)%></th>
|
|
<th><%=l(:label_role_plural)%></th>
|
|
<th><%=l(:label_registered_on)%></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% memberships_by_project = @memberships.group_by(&:project) %>
|
|
<% project_tree(memberships_by_project.keys, :init_level => true) do |project, level| %>
|
|
<% membership = memberships_by_project[project].first %>
|
|
<tr class="<%= project.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
|
|
<td class="name"><span><%= link_to_project(project) %></span></td>
|
|
<td class="roles"><%= membership.roles.sort.collect(&:to_s).join(', ') %></td>
|
|
<td><%= format_date(membership.created_on) %></td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
<% end %>
|
|
|
|
<% if (User.current == @user || User.current.admin?) && @user.groups.any? %>
|
|
<div id="groups">
|
|
<h3><%=l(:label_group_plural)%></h3>
|
|
<ul>
|
|
<% for group in @user.groups %>
|
|
<li><%= link_to_group(group) %>
|
|
<% end %>
|
|
</ul>
|
|
</div>
|
|
<% end %>
|
|
|
|
<%= call_hook :view_account_left_bottom, :user => @user %>
|
|
</div>
|
|
|
|
<div class="splitcontentright">
|
|
|
|
<% unless @events_by_day.empty? %>
|
|
<h3><%= link_to l(:label_activity), :controller => 'activities',
|
|
:action => 'index', :id => nil, :user_id => @user,
|
|
:from => @events_by_day.keys.first %></h3>
|
|
<%= render :partial => 'activities/activities', :locals => {:events_by_day => @events_by_day} %>
|
|
|
|
<% other_formats_links do |f| %>
|
|
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'index', :id => nil, :user_id => @user, :key => User.current.rss_key} %>
|
|
<% end %>
|
|
|
|
<% content_for :header_tags do %>
|
|
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'index', :user_id => @user, :format => :atom, :key => User.current.rss_key) %>
|
|
<% end %>
|
|
<% end %>
|
|
<%= call_hook :view_account_right_bottom, :user => @user %>
|
|
</div>
|
|
</div>
|
|
<% html_title @user.name %>
|