summaryrefslogtreecommitdiffstats
path: root/app/views/issues/show.html.erb
blob: 8c8c9070ab205904bbad26626a191510f78c00f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<%= render :partial => 'action_menu' %>

<h2><%= issue_heading(@issue) %></h2>

<div class="<%= @issue.css_classes %> details">
  <% if @prev_issue_id || @next_issue_id %>
    <div class="next-prev-links contextual">
      <%= link_to_if @prev_issue_id,
                     "\xc2\xab #{l(:label_previous)}",
                     issue_path(@prev_issue_id),
                     :title => "##{@prev_issue_id}" %> |
	    <% if @issue_position && @issue_count %>
			  <span class="position"><%= "#{@issue_position}/#{@issue_count}" %></span> |
			<% end %>
      <%= link_to_if @next_issue_id,
                     "#{l(:label_next)} \xc2\xbb",
                     issue_path(@next_issue_id),
                     :title => "##{@next_issue_id}" %>
    </div>
  <% end %>

  <%= avatar(@issue.author, :size => "50") %>

<div class="subject">
<%= render_issue_subject_with_tree(@issue) %>
</div>
        <p class="author">
        <%= authoring @issue.created_on, @issue.author %>.
        <% if @issue.created_on != @issue.updated_on %>
        <%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>.
        <% end %>
        </p>

<table class="attributes">
<tr>
    <th class="status"><%=l(:field_status)%>:</th><td class="status"><%= h(@issue.status.name) %></td>
    <th class="start-date"><%=l(:field_start_date)%>:</th><td class="start-date"><%= format_date(@issue.start_date) %></td>
</tr>
<tr>
    <th class="priority"><%=l(:field_priority)%>:</th><td class="priority"><%= h(@issue.priority.name) %></td>
    <th class="due-date"><%=l(:field_due_date)%>:</th><td class="due-date"><%= format_date(@issue.due_date) %></td>
</tr>
<tr>
    <th class="assigned-to"><%=l(:field_assigned_to)%>:</th><td class="assigned-to"><%= avatar(@issue.assigned_to, :size => "14") %><%= @issue.assigned_to ? link_to_user(@issue.assigned_to) : "-" %></td>
    <th class="progress"><%=l(:field_done_ratio)%>:</th><td class="progress"><%= progress_bar @issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%" %></td>
</tr>
<tr>
    <th class="category"><%=l(:field_category)%>:</th><td class="category"><%=h(@issue.category ? @issue.category.name : "-") %></td>
    <% if User.current.allowed_to?(:view_time_entries, @project) %>
    <th class="spent-time"><%=l(:label_spent_time)%>:</th>
    <td class="spent-time"><%= @issue.total_spent_hours > 0 ? (link_to l_hours(@issue.total_spent_hours), {:controller => 'timelog', :action => 'index', :project_id => @project, :issue_id => @issue}) : "-" %></td>
    <% end %>
</tr>
<tr>
    <th class="fixed-version"><%=l(:field_fixed_version)%>:</th><td class="fixed-version"><%= @issue.fixed_version ? link_to_version(@issue.fixed_version) : "-" %></td>
    <% if @issue.estimated_hours %>
    <th class="estimated-hours"><%=l(:field_estimated_hours)%>:</th><td class="estimated-hours"><%= l_hours(@issue.estimated_hours) %></td>
    <% end %>
</tr>
<%= render_custom_fields_rows(@issue) %>
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
</table>

<% if @issue.description? || @issue.attachments.any? -%>
<hr />
<% if @issue.description? %>
  <div class="contextual">
  <%= link_to_remote_if_authorized(
        l(:button_quote),
        { :url => {:controller => 'journals', :action => 'new', :id => @issue} },
        :class => 'icon icon-comment') %>
  </div>

  <p><strong><%=l(:field_description)%></strong></p>
  <div class="wiki">
  <%= textilizable @issue, :description, :attachments => @issue.attachments %>
  </div>
<% end %>
<%= link_to_attachments @issue %>
<% end -%>

<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>

<% if !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
<hr />
<div id="issue_tree">
<div class="contextual">
  <%= link_to(l(:button_add), {:controller => 'issues', :action => 'new', :project_id => @project, :issue => {:parent_issue_id => @issue}}) if User.current.allowed_to?(:manage_subtasks, @project) %>
</div>
<p><strong><%=l(:label_subtask_plural)%></strong></p>
<%= render_descendants_tree(@issue) unless @issue.leaf? %>
</div>
<% end %>

<% if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>
<hr />
<div id="relations">
<%= render :partial => 'relations' %>
</div>
<% end %>

</div>

<% if @changesets.present? %>
<div id="issue-changesets">
<h3><%=l(:label_associated_revisions)%></h3>
<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
</div>
<% end %>

<% if @journals.present? %>
<div id="history">
<h3><%=l(:label_history)%></h3>
<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
</div>
<% end %>


<div style="clear: both;"></div>
<%= render :partial => 'action_menu' %>

<div style="clear: both;"></div>
<% if authorize_for('issues', 'edit') %>
  <div id="update" style="display:none;">
  <h3><%= l(:button_update) %></h3>
  <%= render :partial => 'edit' %>
  </div>
<% end %>

<% other_formats_links do |f| %>
  <%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
  <%= f.link_to 'PDF' %>
<% end %>

<% html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>

<% content_for :sidebar do %>
  <%= render :partial => 'issues/sidebar' %>

  <% if User.current.allowed_to?(:add_issue_watchers, @project) ||
    (@issue.watchers.present? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
    <div id="watchers">
      <%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
    </div>
  <% end %>
<% end %>

<% content_for :header_tags do %>
    <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
    <%= stylesheet_link_tag 'scm' %>
<% end %>

<%= context_menu issues_context_menu_path %>