2015-03-19 16:25:18 +08:00
|
|
|
<div class="project_r_h">
|
|
|
|
<h2 class="project_h2"><%= l(:label_issue_plural) %></h2>
|
|
|
|
</div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="pro_page_box" >
|
2015-04-10 17:49:16 +08:00
|
|
|
<div class="pro_page_top">
|
|
|
|
<a href="javascript:void(0)"><%= @issue.project.name %></a> >
|
|
|
|
<a href="javascript:void(0)"><%= "#" + @issue.project_index %></a>
|
|
|
|
</div>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="problem_main">
|
|
|
|
<div class="ping_dispic">
|
|
|
|
<%= link_to image_tag(url_to_avatar(@issue.author),:width => 46,:height => 46), user_path(@issue.author), :class => "ping_dispic" %>
|
|
|
|
</div>
|
|
|
|
<div class="talk_txt fl">
|
|
|
|
<p class="pro_page_tit" >
|
2015-04-10 17:49:16 +08:00
|
|
|
<%= @issue.subject %><span class='<%= "#{get_issue_type(@issue.tracker_id)}" %>'><%= get_issue_typevalue(@issue.tracker_id) %></span></p><br />
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
|
|
|
<p>由<a href="javascript:void(0)" class="problem_name"><%= @issue.author %></a>
|
|
|
|
<% if @issue.created_on != @issue.updated_on %>
|
2015-04-10 17:49:16 +08:00
|
|
|
更新于 <%= format_time(@issue.created_on).html_safe %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<% else %>
|
2015-04-10 17:49:16 +08:00
|
|
|
添加于 <%= format_time(@issue.updated_on).html_safe %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<% end %>
|
|
|
|
</div><!--talk_txt end-->
|
2015-04-10 17:49:16 +08:00
|
|
|
<a href="javascript:void(0)" class="talk_edit fr"<%= render :partial => 'action_menu' %></a>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<div class="talk_info mb10">
|
|
|
|
<% if @issue.description? || @issue.attachments.any? -%>
|
|
|
|
<% if @issue.description? %>
|
|
|
|
<%#= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
|
|
|
<%= textilizable @issue, :description, :attachments => @issue.attachments %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="pro_pic_box mb10">
|
2015-04-15 11:15:25 +08:00
|
|
|
<a href="javascript:void(0)" class="link_img fl">
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--显示附件、图片-->
|
2015-04-15 11:15:25 +08:00
|
|
|
<%= link_to_attachment_project @issue, :thumbnails => true %></a><br />
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end -%>
|
|
|
|
<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
|
|
|
|
</div><!--pro_pic_box end-->
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--属性-->
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="pro_info_box mb10">
|
2015-04-10 17:49:16 +08:00
|
|
|
<%= issue_fields_rows do |rows| %>
|
|
|
|
<ul class="fl" >
|
|
|
|
|
|
|
|
<li><p class="label" ><span class="c_red f12">*</span> 状态 : </p><p class="pro_info_p"><%= @issue.status.name %></p>
|
2015-04-09 20:47:09 +08:00
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<li><p class="label" ><span class="c_red f12">*</span> 优先级 : </p><span class="pro_info_p"><%= @issue.priority.name %></span>
|
2015-04-09 20:47:09 +08:00
|
|
|
</li>
|
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% unless @issue.disabled_core_fields.include?('assigned_to_id') %>
|
|
|
|
<li><p class="label" > 指派给 : </p><span class="pro_info_p"><%= @issue.assigned_to ? link_to_user(@issue.assigned_to, :class => "pro_info_p") : "-" %></span></li>
|
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% unless @issue.disabled_core_fields.include?('fixed_version_id') %>
|
|
|
|
<li><p class="label" > 目标版本 : </p><span class="pro_info_p"><%= (@issue.fixed_version ? link_to_version(@issue.fixed_version, :class => "pro_info_p") : "-") %></span></li>
|
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
|
|
|
</ul>
|
2015-04-10 17:49:16 +08:00
|
|
|
<ul class="fl ml90" >
|
|
|
|
<% unless @issue.disabled_core_fields.include?('start_date') %>
|
|
|
|
<li><p class="label02" > 开始日期 : </p><p class="pro_info_p"><%= format_date(@issue.start_date) %></p></li>
|
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% unless @issue.disabled_core_fields.include?('due_date') %>
|
|
|
|
<li><p class="label02" > 计划完成日期 : </p><span class="pro_info_p"><%= format_date(@issue.due_date) %></span>
|
2015-04-09 20:47:09 +08:00
|
|
|
</li>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% unless @issue.disabled_core_fields.include?('estimated_hours') %>
|
2015-04-09 20:47:09 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<li><p class="label02" > 预期时间 : </p><span class="pro_info_p"><%= l_hours(@issue.estimated_hours) %></span>
|
|
|
|
</li>
|
2015-04-09 20:47:09 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% unless @issue.disabled_core_fields.include?('done_ratio') %>
|
2015-04-15 11:15:25 +08:00
|
|
|
<li><p class="label02" > % 完成 : </p><span class="pro_info_p"><%= progress_bar(@issue.done_ratio, :width => '0px', :legend => "#{@issue.done_ratio}%") %></span>
|
2015-04-09 20:47:09 +08:00
|
|
|
</li>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
|
|
|
</ul>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
|
|
|
<%#= render_custom_fields_rows(@issue) %>
|
|
|
|
<%#= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
|
|
|
|
</div><!--pro_info_box 属性 end-->
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'talk_edit fr' if authorize_for('issues', 'edit') %></a>
|
2015-04-09 20:47:09 +08:00
|
|
|
<div class="cl"></div>
|
2015-04-10 17:49:16 +08:00
|
|
|
</div><!--problem_main end-->
|
|
|
|
<!--留言-->
|
|
|
|
<% if @journals.present? %>
|
|
|
|
<div id="history">
|
|
|
|
<h3><%=l(:label_history)%></h3>
|
|
|
|
<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
|
2015-04-09 20:47:09 +08:00
|
|
|
</div>
|
2015-04-10 17:49:16 +08:00
|
|
|
<% end %>
|
2015-04-09 20:47:09 +08:00
|
|
|
</div><!--pro_page_box end-->
|
2015-03-19 16:25:18 +08:00
|
|
|
<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
|
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<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)}",
|
|
|
|
# (@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
|
2015-03-19 16:25:18 +08:00
|
|
|
:title => "##{@prev_issue_id}" %> |
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<%# if @issue_position && @issue_count %>-->
|
|
|
|
<!--<span class="position"><%#= l(:label_item_position, :position => @issue_position, :count => @issue_count) %></span> |-->
|
|
|
|
<!--<%# end %>-->
|
|
|
|
<%#= link_to_if @next_issue_id,
|
|
|
|
# "#{l(:label_next)} \xc2\xbb",
|
|
|
|
# (@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
|
2015-03-19 16:25:18 +08:00
|
|
|
:title => "##{@next_issue_id}" %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--</div>-->
|
|
|
|
<!--<%# end %>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
<!-- 顶和踩 在这里添加 -->
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<span id="praise_tread" style="float: right">-->
|
|
|
|
<!--<%#= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>-->
|
|
|
|
<!--</span>-->
|
|
|
|
|
|
|
|
<!--<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>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
<!-- added by william -for tag -->
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<div id="tags">-->
|
|
|
|
<!--<%#= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>-->
|
|
|
|
<!--</div>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<%# if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>-->
|
|
|
|
<!--<hr />-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<div id="issue_tree">-->
|
|
|
|
<!--<div class="contextual">-->
|
|
|
|
<!--<%#= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>-->
|
|
|
|
<!--</div>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<p><strong><%#=l(:label_subtask_plural)%></strong></p>-->
|
|
|
|
<!--<%#= render_descendants_tree(@issue) unless @issue.leaf? %>-->
|
|
|
|
<!--</div>-->
|
|
|
|
<!--<%# end %>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<%# if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>-->
|
|
|
|
<!--<hr />-->
|
|
|
|
<!--<div id="relations">-->
|
|
|
|
<!--<%#= render :partial => 'relations' %>-->
|
|
|
|
<!--</div>-->
|
|
|
|
<!--<%# end %>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--</div>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
|
|
|
<% if @changesets.present? %>
|
|
|
|
<div id="issue-changesets">
|
|
|
|
<h3><%=l(:label_associated_revisions)%></h3>
|
|
|
|
<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--留言-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
|
|
|
|
2015-04-10 17:49:16 +08:00
|
|
|
<!--<div style="clear: both;"></div>-->
|
|
|
|
<!--<%#= render :partial => 'action_menu' %>-->
|
2015-03-19 16:25:18 +08:00
|
|
|
|
|
|
|
<div style="clear: both;"></div>
|
|
|
|
<% if @issue.editable? %>
|
|
|
|
<div id="update">
|
2015-04-10 17:49:16 +08:00
|
|
|
<%= render :partial => 'edit' %>
|
2015-03-19 16:25:18 +08:00
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% other_formats_links do |f| %>
|
|
|
|
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
|
|
|
<%= f.link_to 'PDF' %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
|
|
|
|
<% 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}") %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= context_menu issues_context_menu_path %>
|