parent
287c767c86
commit
33abbaffe1
|
@ -70,11 +70,11 @@ module IssuesHelper
|
|||
#获取跟踪类型
|
||||
#REDO:时间紧需要优化,两个方法可以综合成一个
|
||||
def get_issue_type(value)
|
||||
if value == "缺陷"
|
||||
if value == "缺陷" || value == 1
|
||||
class_type = "red_btn_cir ml10"
|
||||
elsif value == "功能"
|
||||
elsif value == "功能" || value == 2
|
||||
class_type = "blue_btn_cir ml10"
|
||||
elsif value == "支持"
|
||||
elsif value == "支持" || value == 3
|
||||
class_type = "green_btn_cir ml10"
|
||||
else
|
||||
class_type = "orange_btn_cir ml10"
|
||||
|
@ -82,11 +82,11 @@ module IssuesHelper
|
|||
end
|
||||
|
||||
def get_issue_typevalue(value)
|
||||
if value == "缺陷"
|
||||
if value == "缺陷" || value == 1
|
||||
assign = "缺陷"
|
||||
elsif value == "功能"
|
||||
elsif value == "功能" || value == 2
|
||||
assign = "功能"
|
||||
elsif value == "支持"
|
||||
elsif value == "支持" || value == 3
|
||||
assign = "支持"
|
||||
else
|
||||
assign = "任务"
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
<% if defined?(thumbnails) && thumbnails %>
|
||||
<% images = attachments.select(&:thumbnailable?) %>
|
||||
<% if images.any? %>
|
||||
<div class="thumbnails">
|
||||
<div class="pro_pic mb10" width="100" height="73">
|
||||
<% images.each do |attachment| %>
|
||||
<div><%= thumbnail_tag(attachment) %></div>
|
||||
<% end %>
|
||||
|
|
|
@ -1,18 +1,11 @@
|
|||
<div class="contextual">
|
||||
<!--added by huang-->
|
||||
<!--added by huang-->
|
||||
|
||||
<% if (@issue.author == User.current) || (User.current.admin?) %>
|
||||
|
||||
<!--end-->
|
||||
<%= link_to l(:button_update), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'icon icon-edit', :accesskey => accesskey(:edit) if @issue.editable? %>
|
||||
<%#= watcher_link(@issue, User.current) %>
|
||||
<%#= link_to l(:button_copy), project_copy_issue_path(@project, @issue), :class => 'icon icon-copy' if User.current.allowed_to?(:add_issues, @project) %>
|
||||
<%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'talk_edit fr' if User.current.allowed_to?(:delete_issues, @project) %>
|
||||
|
||||
<% if (@issue.author == User.current) || (User.current.admin?) %>
|
||||
<%= link_to l(:button_edit), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? %>
|
||||
<% else %>
|
||||
|
||||
<%= link_to l(:label_user_newfeedback), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'icon icon-edit', :accesskey => accesskey(:edit) if @issue.editable? %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= watcher_link(@issue, User.current) %>
|
||||
<%= link_to l(:button_copy), project_copy_issue_path(@project, @issue), :class => 'icon icon-copy' if User.current.allowed_to?(:add_issues, @project) %>
|
||||
<%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'icon icon-del' if User.current.allowed_to?(:delete_issues, @project) %>
|
||||
</div>
|
||||
<%= link_to l(:label_user_newfeedback), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? %>
|
||||
<% end %>
|
|
@ -1,50 +1,77 @@
|
|||
<%= labelled_fields_for :issue, @issue do |f| %>
|
||||
<div class="newpro_box">
|
||||
<fieldset class="collapsible" >
|
||||
<legend onclick="toggleFieldset(this);" ><strong><%= l(:label_change_properties) %></strong></legend>
|
||||
<ul class="fl" >
|
||||
<li>
|
||||
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
|
||||
<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true}, :onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %></p>
|
||||
<% else %>
|
||||
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 优先级 : </label>
|
||||
<% if @issue.safe_attribute? 'priority_id' %>
|
||||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><% if @issue.safe_attribute? 'assigned_to_id' %>
|
||||
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
||||
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
||||
new_project_version_path(@issue.project),
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:label_version_new),
|
||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||
</p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
|
||||
<fieldset class="collapsible collapsed" style="padding-left: 50px;">
|
||||
<legend onclick="toggleFieldset(this);" style="font-size:12px;"><strong><%= l(:label_change_properties) %></strong></legend>
|
||||
<div class="splitcontent" style="display: block;">
|
||||
<div class="splitcontentleft">
|
||||
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
|
||||
<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true}, :onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %></p>
|
||||
</ul>
|
||||
<ul class="fl ml90">
|
||||
<li><% if @issue.safe_attribute? 'start_date' %>
|
||||
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date','start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><% if @issue.safe_attribute? 'due_date' %>
|
||||
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date','start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><% if @issue.safe_attribute? 'estimated_hours' %>
|
||||
<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label02" > % 完成 : </label>
|
||||
<select id="" name="" class="w150" >
|
||||
<option value="0" >0 %</option>
|
||||
<option value="10">10 %</option>
|
||||
<option value="20">20 %</option>
|
||||
<option value="30">30 %</option>
|
||||
<option value="40">40 %</option>
|
||||
<option value="50">50 %</option>
|
||||
<option value="60">60 %</option>
|
||||
<option value="70">70 %</option>
|
||||
<option value="80">80 %</option>
|
||||
<option value="90">90 %</option>
|
||||
<option value="100">100 %</option>
|
||||
</select>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</div><!--newpro_box end-->
|
||||
|
||||
<% else %>
|
||||
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'priority_id' %>
|
||||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'assigned_to_id' %>
|
||||
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %></p>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
||||
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
||||
new_project_version_path(@issue.project),
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:label_version_new),
|
||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="splitcontentright">
|
||||
|
||||
<% if @issue.safe_attribute? 'start_date' %>
|
||||
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date','start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'due_date' %>
|
||||
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date','start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'estimated_hours' %>
|
||||
<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
// window.onload=function(){
|
||||
// var img=$("#issue_due_date").next("img");
|
||||
|
@ -109,7 +136,6 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<% if @issue.safe_attribute? 'custom_field_values' %>
|
||||
<%= render :partial => 'issues/form_custom_fields' %>
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
<%= labelled_form_for @issue, :html => {:id => 'issue-form', :multipart => true} do |f| %>
|
||||
<%= error_messages_for 'issue', 'time_entry' %>
|
||||
<%= render :partial => 'conflict' if @conflict %>
|
||||
<div class="box">
|
||||
<% if @edit_allowed || !@allowed_statuses.empty? %>
|
||||
<fieldset class="tabular"><legend><%= l(:label_change_properties) %></legend>
|
||||
<div id="all_attributes">
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
</div>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
<fieldset><legend><%= l(:field_notes) %></legend>
|
||||
|
|
|
@ -7,8 +7,59 @@
|
|||
}
|
||||
</script>
|
||||
|
||||
<%= labelled_fields_for :issue, @issue do |f| %>
|
||||
<%= call_hook(:view_issues_form_details_top, { :issue => @issue, :form => f }) %>
|
||||
<div class="newpro_box">
|
||||
<ul >
|
||||
<li ><label class="label" ><span class="c_red f12">*</span> 跟踪 : </label>
|
||||
<select name="" class="w150">
|
||||
<option value="0">缺陷</option>
|
||||
<option value="0">功能</option>
|
||||
<option value="0">支持</option>
|
||||
<option value="0">任务</option>
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li ><input class="ml30" type="checkbox" /><label class="fl ml5 mt3" >私有</label></li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label"><span class="c_red f12">*</span> 主题 : </label>
|
||||
<input type="text" name="" class=" w583 " >
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 描述 : </label>
|
||||
<textarea name="" placeholder="最多3000个汉字(或6000个英文字符)" class=" w583 " ></textarea>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 文件 : </label>
|
||||
<input type="file" class="c_grey w150 no_border"/>
|
||||
<label class="c_grey">(最大文件大小: 50 MB)</label>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</div><!--newpro_box end-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="newpro_box">
|
||||
<%= labelled_fields_for :issue, @issue do |f| %>
|
||||
<%= call_hook(:view_issues_form_details_top, { :issue => @issue, :form => f }) %>
|
||||
<ul>
|
||||
<li>
|
||||
<% if @issue.safe_attribute? 'tracker_id' %>
|
||||
|
@ -21,27 +72,23 @@
|
|||
%>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<% if @issue.safe_attribute? 'is_private' %>
|
||||
<%= f.check_box :is_private, :no_label => true ,:class=> "ml30"%><label class="fl ml5 mt3" for="issue_is_private" id="issue_is_private_label"><%= l(:field_is_private) %></label>
|
||||
|
||||
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li>
|
||||
<% if @issue.safe_attribute? 'project_id' %>
|
||||
<p><%= f.select :project_id, project_tree_options_for_select(@issue.allowed_target_projects, :selected => @issue.project), {:required => true},
|
||||
:onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %></p>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<!--<li>-->
|
||||
<!--<%# if @issue.safe_attribute? 'project_id' %>-->
|
||||
<%#= f.select :project_id, project_tree_options_for_select(@issue.allowed_target_projects, :selected => @issue.project), {:required => true},
|
||||
:onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %>
|
||||
<!--<%# end %>-->
|
||||
<!--</li>-->
|
||||
<li>
|
||||
<% if @issue.safe_attribute? 'subject' %>
|
||||
<label class="label"><span class="c_red f12">*</span> 主题 : </label>
|
||||
<%= f.text_field :subject,
|
||||
:size => 80,
|
||||
:class => "w583",
|
||||
:maxlength => 255,
|
||||
:required => true,
|
||||
:style => "font-size:small",
|
||||
|
@ -67,23 +114,22 @@
|
|||
<%= link_to_function image_tag('edit.png'), '$(this).hide(); $("#issue_description_and_toolbar").show()' unless @issue.new_record? %>
|
||||
<%= content_tag 'span', :id => "issue_description_and_toolbar", :style => (@issue.new_record? ? nil : 'display:none') do %>
|
||||
<%= f.text_area :description,
|
||||
:cols => 60,
|
||||
:rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min),
|
||||
:accesskey => accesskey(:edit),
|
||||
:class => "w583",
|
||||
:no_label => true %>
|
||||
|
||||
:rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min),
|
||||
:accesskey => accesskey(:edit),
|
||||
:class => "w583",
|
||||
:no_label => true %>
|
||||
<% end %>
|
||||
|
||||
<%= wikitoolbar_for 'issue_description' %>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="attributes" class="attributes">
|
||||
<%= render :partial => 'issues/attributes' %>
|
||||
<div id="attributes">
|
||||
<%= render :partial => 'issues/attributes' %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= call_hook(:view_issues_form_details_bottom, { :issue => @issue, :form => f }) %>
|
||||
<% end %>
|
||||
</ul>
|
|
@ -1,41 +1,38 @@
|
|||
<% reply_links = authorize_for('issues', 'edit') -%>
|
||||
<% for journal in journals %>
|
||||
|
||||
<!-- modified by bai -->
|
||||
<div id="change-<%= journal.id %>" class="<%= journal.css_classes %>" style=" word-wrap: break-word; word-break: break-all">
|
||||
<!-- end -->
|
||||
<table width="660px" border="0" align="center">
|
||||
<tr>
|
||||
<td colspan="2" valign="top" width="50" ><%= image_tag(url_to_avatar(journal.user), :class => "avatar") %></td>
|
||||
<td>
|
||||
<table width="580px" border="0">
|
||||
<tr>
|
||||
<!-- add by huang -->
|
||||
<td colspan="1" valign="top"> <%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %> <div id="note-<%= journal.indice %>"></div></td>
|
||||
<td><%= render_links(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %></td>
|
||||
<!--end-->
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580px" >
|
||||
<p class="font_description">
|
||||
<% if journal.details.any? %>
|
||||
<span class="details"> <% details_to_strings(journal.details).each do |string| %>
|
||||
|
||||
<%= string %>
|
||||
<% end %> </span>
|
||||
<% end %>
|
||||
<%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><span class="font_lighter"> <%= format_time journal.created_on %></span></td>
|
||||
<td width="200" align="right" class="a"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="ping_C mb10">
|
||||
<div class="ping_dispic"><a href="#" target="_blank"><%= image_tag(url_to_avatar(journal.user), :class => "ping_dispic",:width => 46,:height => 46) %></a></div>
|
||||
<div class="ping_discon">
|
||||
<div class="ping_distop">
|
||||
<a href="#" target="_blank" class="c_blue fb fl mb10 "><%= journal.user %></a><span class="c_grey fr"><%= format_time journal.created_on %></span>
|
||||
<div class="cl"></div>
|
||||
<p>
|
||||
<% if journal.details.any? %>
|
||||
<% details_to_strings(journal.details).each do |string| %>
|
||||
<%= string %>
|
||||
<% end %> </span>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="ping_disfoot"><%= render_links(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %></div>
|
||||
<div class="cl"></div>
|
||||
<div class="recall" >
|
||||
<div class="recall_head"><a href="#" target="_blank"><img src="images/project/pic_01.jpg" width="30" height="30" /></a></div>
|
||||
<div class="recall_con">
|
||||
<p><%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %></p>
|
||||
<span class="c_grey fl"><%= format_time journal.created_on %></span>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!---recall end-->
|
||||
<!---recall end-->
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line_under"></div>
|
||||
|
||||
|
||||
<%= call_hook(:view_issues_history_journal_bottom, { :journal => journal }) %>
|
||||
<% end %>
|
||||
|
|
|
@ -1,378 +1,160 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_issue_plural) %></h2>
|
||||
</div>
|
||||
<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
|
||||
<div class="pro_page_box" >
|
||||
<div class="pro_page_top"><a href="javascript:void(0)" class="pro_page_top"><%= issue_heading(@issue)%></a></div>
|
||||
<div class="pro_page_top">
|
||||
<a href="javascript:void(0)"><%= @issue.project.name %></a> >
|
||||
<a href="javascript:void(0)"><%= "#" + @issue.project_index %></a>
|
||||
</div>
|
||||
<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" >
|
||||
<%= @issue.subject %><span class="red_btn_cir ml10">缺陷</span></p><br />
|
||||
<%= @issue.subject %><span class='<%= "#{get_issue_type(@issue.tracker_id)}" %>'><%= get_issue_typevalue(@issue.tracker_id) %></span></p><br />
|
||||
<div class="cl"></div>
|
||||
<p>由<a href="javascript:void(0)" class="problem_name"><%= @issue.author %></a>
|
||||
<% if @issue.created_on != @issue.updated_on %>
|
||||
更新于 <%= format_date(@issue.created_on).html_safe %>
|
||||
更新于 <%= format_time(@issue.created_on).html_safe %>
|
||||
<% else %>
|
||||
添加于 <%= format_date(@issue.updated_on).html_safe %>
|
||||
添加于 <%= format_time(@issue.updated_on).html_safe %>
|
||||
<% end %>
|
||||
</div><!--talk_txt end-->
|
||||
<a href="javascript:void(0)" class="talk_edit fr">删除</a><a href="javascript:void(0)" class="talk_edit fr" onclick="show_pro_new();">编辑</a><a class="talk_edit fr">跟踪</a>
|
||||
<a href="javascript:void(0)" class="talk_edit fr"<%= render :partial => 'action_menu' %></a>
|
||||
<div class="cl"></div>
|
||||
<div class="talk_info mb10">如图,点击课程动态中某空白处,也会跳转到相关页面的如图,点击课程动态中某空白处,也会跳转到相关页面的如图,点击课程动态中某空白处,也会跳转到相关页面的如图,点击课程动态中某空白处,也会跳转到相关页面的如图,点击课程动态中某空白处,也会跳转到相关页面的</div>
|
||||
<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>
|
||||
<div class="pro_pic_box mb10">
|
||||
<a href="javascript:void(0)" class="link_img fl"><span class="pic_img fl"></span>1.jpg(27.5kB)</a><br />
|
||||
<div class="pro_pic mb10"><img src="images/project/1.jpg" width="100" height="73" /></div>
|
||||
</div><!--pro_pic_box end-->
|
||||
<a href="javascript:void(0)" class="link_img fl"><span class="pic_img fl"></span>
|
||||
<!--显示附件、图片-->
|
||||
<%= link_to_attachments @issue, :thumbnails => true %></a><br />
|
||||
<% end -%>
|
||||
<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
|
||||
</div><!--pro_pic_box end-->
|
||||
<div class="cl"></div>
|
||||
<!--属性-->
|
||||
<div class="pro_info_box mb10">
|
||||
<ul class="fl" >
|
||||
<li><p class="label" ><span class="c_red f12">*</span> 状态 : </p><p class="pro_info_p">新增</p>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label" ><span class="c_red f12">*</span> 优先级 : </p><span class="pro_info_p">正常</span>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label" > 指派给 : </p><span class="pro_info_p">suntao</span>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label" > 目标版本 : </p><span class="pro_info_p">暑期版(Summer Beta) V0.8</span>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<%= issue_fields_rows do |rows| %>
|
||||
<ul class="fl" >
|
||||
|
||||
<ul class="fl ml90" >
|
||||
<li><p class="label02" > 开始日期 : </p><p class="pro_info_p">2015-03-31</p>
|
||||
<li><p class="label" ><span class="c_red f12">*</span> 状态 : </p><p class="pro_info_p"><%= @issue.status.name %></p>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label02" > 计划完成日期 : </p><span class="pro_info_p">2015-03-31</span>
|
||||
<li><p class="label" ><span class="c_red f12">*</span> 优先级 : </p><span class="pro_info_p"><%= @issue.priority.name %></span>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label02" > 预期时间 : </p><span class="pro_info_p">2015-03-31</span>
|
||||
</li>
|
||||
<% 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 %>
|
||||
<div class="cl"></div>
|
||||
<li><p class="label02" > % 完成 : </p><span class="pro_info_p">10 %</span>
|
||||
</li>
|
||||
<% 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 %>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</div><!--pro_info_box end-->
|
||||
<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 %>
|
||||
<div class="cl"></div>
|
||||
<% unless @issue.disabled_core_fields.include?('due_date') %>
|
||||
<li><p class="label02" > 计划完成日期 : </p><span class="pro_info_p"><%= format_date(@issue.due_date) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
<% unless @issue.disabled_core_fields.include?('estimated_hours') %>
|
||||
|
||||
<li><p class="label02" > 预期时间 : </p><span class="pro_info_p"><%= l_hours(@issue.estimated_hours) %></span>
|
||||
</li>
|
||||
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
<% unless @issue.disabled_core_fields.include?('done_ratio') %>
|
||||
<li><p class="label02" > % 完成 : </p><span class="pro_info_p"><%= progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%") %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<% end %>
|
||||
<%#= render_custom_fields_rows(@issue) %>
|
||||
<%#= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
|
||||
</div><!--pro_info_box 属性 end-->
|
||||
<div class="cl"></div>
|
||||
<a href="javascript:void(0)" class="talk_edit fr">引用回复</a>
|
||||
<%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'talk_edit fr' if authorize_for('issues', 'edit') %></a>
|
||||
<div class="cl"></div>
|
||||
</div><!--problem_main end-->
|
||||
|
||||
<div id="edit_pro_box" class="edit_pro_box" >
|
||||
<div class="newpro_box">
|
||||
<ul >
|
||||
<li ><label class="label" ><span class="c_red f12">*</span> 跟踪 : </label>
|
||||
<select name="" class="w150">
|
||||
<option value="0">缺陷</option>
|
||||
<option value="0">功能</option>
|
||||
<option value="0">支持</option>
|
||||
<option value="0">任务</option>
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li ><input class="ml30" type="checkbox" /><label class="fl ml5 mt3" >私有</label></li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label"><span class="c_red f12">*</span> 主题 : </label>
|
||||
<input type="text" name="" class=" w583 " >
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 描述 : </label>
|
||||
<textarea name="" placeholder="最多3000个汉字(或6000个英文字符)" class=" w583 " ></textarea>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 文件 : </label>
|
||||
<input type="file" class="c_grey w150 no_border"/>
|
||||
<label class="c_grey">(最大文件大小: 50 MB)</label>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</div><!--newpro_box end-->
|
||||
<div class="cl"></div>
|
||||
|
||||
<div class="newpro_box">
|
||||
<fieldset class="collapsible" >
|
||||
<legend onclick="toggleFieldset(this);" ><strong>修改属性</strong></legend>
|
||||
<ul class="fl" >
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 状态 : </label>
|
||||
<select id="" name="" class="w150" >
|
||||
<option value="1" selected="selected">新增</option>
|
||||
<option value="2">正在解决</option>
|
||||
<option value="3">已解决</option>
|
||||
<option value="4">反馈</option>
|
||||
<option value="5">关闭</option>
|
||||
<option value="6">拒绝</option>
|
||||
</select>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" ><span class="c_red f12">*</span> 优先级 : </label>
|
||||
<select id="" name="" class="w150">
|
||||
<option value="1">低</option>
|
||||
<option value="2" selected="selected">正常</option>
|
||||
<option value="3">高</option>
|
||||
<option value="4">紧急</option>
|
||||
<option value="5">立刻</option>
|
||||
</select>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" > 指派给 : </label>
|
||||
<select name="" class="w150">
|
||||
<option value=""><< 我 >></option>
|
||||
</select>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label" > 目标版本 : </label>
|
||||
<select id="" name="" class="w150">
|
||||
<option value="1">暑期版(Summer Beta) V0.8</option>
|
||||
<option value="2">正式版(First Release) V1.0</option>
|
||||
<option value="13">商业版(Second Release) V2.0</option>
|
||||
<option value="49">JACK SUMMER V0.8</option>
|
||||
<option value="51">LongJun Contest - V1.0</option>
|
||||
<option value="26">SZZH V1.1 (Supported by BJSZZH)</option>
|
||||
</select>
|
||||
<a href="javascript:viod(0)" class="pic_add mt5 ml5" ></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
|
||||
</ul>
|
||||
<ul class="fl ml90">
|
||||
<li><label class="label02" > 开始日期 : </label>
|
||||
<input id="" name="" size="22" type="text" value="2015-03-31" >
|
||||
<a href="javascript:viod(0)" class="pic_date mt5 ml5" ></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label02" > 计划完成日期 : </label>
|
||||
<input id="" name="" size="22" type="text" value="2015-03-31" class="">
|
||||
<a href="javascript:viod(0)" class="pic_date mt5 ml5" ></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label02" > 预期时间 : </label>
|
||||
<input id="" name="" size="22" type="text" value="2015-03-31" class="">
|
||||
<span class="mt3 ml5">小时</span>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li><label class="label02" > % 完成 : </label>
|
||||
<select id="" name="" class="w150" >
|
||||
<option value="0" >0 %</option>
|
||||
<option value="10">10 %</option>
|
||||
<option value="20">20 %</option>
|
||||
<option value="30">30 %</option>
|
||||
<option value="40">40 %</option>
|
||||
<option value="50">50 %</option>
|
||||
<option value="60">60 %</option>
|
||||
<option value="70">70 %</option>
|
||||
<option value="80">80 %</option>
|
||||
<option value="90">90 %</option>
|
||||
<option value="100">100 %</option>
|
||||
</select>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</div><!--newpro_box end-->
|
||||
|
||||
<div class="newpro_box02 ">
|
||||
<div><label class="label" > 跟踪者 : </label>
|
||||
<input id="" name="" size="22" class="fl mb10 h26" type="text" value="搜索添加跟踪者" >
|
||||
<a href="javascript:viod(0)" class="pic_sch mt5 ml5" ></a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<ul class="mb10 ml80">
|
||||
<li><input type="checkbox" name="" checked=""> <label >suntao</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >suntaoalibb</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >用户名称</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >suntao</label> </li>
|
||||
<li><input type="checkbox" name="" checked=""> <label >suntao</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >suntaoalibb</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >用户名称</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >suntao</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >用户名称</label> </li>
|
||||
<li><input type="checkbox" name="" > <label >suntao</label> </li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<a href="javascript:viod(0)" class="blue_btn fl ml80">提交</a><a href="javascript:viod(0)" class="blue_btn fl ml10">预览</a>
|
||||
</div><!--newpro_box end-->
|
||||
<div class="cl"></div>
|
||||
</div><!--edit_pro_box end-->
|
||||
|
||||
|
||||
<div class="ping_C mb10">
|
||||
<div class="ping_dispic"><a href="#" target="_blank"><img src="images/project/pic_01.jpg" width="46" height="46" /></a></div>
|
||||
<div class="ping_discon">
|
||||
<div class="ping_distop">
|
||||
<a href="#" target="_blank" class="c_blue fb fl mb10 ">gugu01</a><span class="c_grey fr">2014-10-24</span>
|
||||
<div class="cl"></div>
|
||||
<p >我写了一个验证身份证号码的程序,它是以一定内存空间(大概100M)换取cpu消耗,然后它的运算量就降低了,前十四位的验证就相当于转换类型再查表一样,所以它的验证号码速度比一般的方式快。如果还不明白就说明你写框架写多了,或者</p>
|
||||
</div>
|
||||
<div class="ping_disfoot"><a href="#">删除</a><a href="#">回复</a></div>
|
||||
<div class="cl"></div>
|
||||
<div class="recall" >
|
||||
<div class="recall_head"><a href="#" target="_blank"><img src="images/project/pic_01.jpg" width="30" height="30" /></a></div>
|
||||
<div class="recall_con">
|
||||
<a href="#" class="c_blue">jack</a> 回复 <a href="#" class="c_blue">jack</a>:
|
||||
<p>我们尽快修复,此问题已发现原因,测试后我们尽快上线。谢谢反馈!,此问题已发现原因,测试后我们尽快上线。谢谢反馈!</p>
|
||||
<span class="c_grey fl">2014-10-31</span>
|
||||
<div class="ping_disfoot"><a href="#">删除</a><a href="#">回复</a></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!---recall end-->
|
||||
<div class="recall" >
|
||||
<div class="recall_head"><a href="#" target="_blank"><img src="images/project/pic_01.jpg" width="30" height="30" /></a></div>
|
||||
<div class="recall_con">
|
||||
<a href="#" class="c_blue">jack</a> 回复 <a href="#" class="c_blue">jack</a>:
|
||||
<p>我们尽快修复,此问题已发现原因,测试后我们尽快上线。谢谢反馈!,此问题已发现原因,测试后我们尽快上线。谢谢反馈!</p>
|
||||
<span class="c_grey fl">2014-10-31</span>
|
||||
<div class="ping_disfoot"><a href="#">删除</a><a href="#">回复</a></div>
|
||||
<div class="cl"></div>
|
||||
<textarea id="" name="" class="w520 h50 mb5" placeholder="最多250个字" ></textarea>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!---recall end-->
|
||||
<!--留言-->
|
||||
<% if @journals.present? %>
|
||||
<div id="history">
|
||||
<h3><%=l(:label_history)%></h3>
|
||||
<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!---ping_C end-->
|
||||
|
||||
<% end %>
|
||||
</div><!--pro_page_box end-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
|
||||
<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
|
||||
<!--删除、编辑-->
|
||||
<%= render :partial => 'action_menu' %>
|
||||
|
||||
<h3>
|
||||
<%= issue_heading(@issue) %>
|
||||
</h3>
|
||||
|
||||
|
||||
<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),
|
||||
<!--<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),
|
||||
:title => "##{@prev_issue_id}" %> |
|
||||
<% 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),
|
||||
<!--<%# 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),
|
||||
:title => "##{@next_issue_id}" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<!--</div>-->
|
||||
<!--<%# end %>-->
|
||||
|
||||
<!-- <%#= avatar(@issue.author, :size => "50") %> -->
|
||||
<!--主题-->
|
||||
<div class="subject" style="word-wrap: break-word;">
|
||||
<%= render_issue_subject_with_tree(@issue) %>
|
||||
</div>
|
||||
|
||||
<!-- 顶和踩 在这里添加 -->
|
||||
<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>
|
||||
<!--<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>
|
||||
<!--<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>-->
|
||||
<!-- added by william -for tag -->
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
|
||||
</div>
|
||||
<table class="attributes">
|
||||
<%= issue_fields_rows do |rows|
|
||||
rows.left l(:field_status), h(@issue.status.name), :class => 'status'
|
||||
rows.left l(:field_priority), h(@issue.priority.name), :class => 'priority'
|
||||
<!--<div id="tags">-->
|
||||
<!--<%#= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>-->
|
||||
<!--</div>-->
|
||||
|
||||
unless @issue.disabled_core_fields.include?('assigned_to_id')
|
||||
#modified by nie
|
||||
#modified by huang
|
||||
rows.left l(:field_assigned_to), (image_tag url_to_avatar(@issue.assigned_to(@user)), :class => 'avatar').to_s.html_safe + (@issue.assigned_to ? link_to_user(@issue.assigned_to) : "-"), :class => 'assigned-to'
|
||||
end
|
||||
# end huang
|
||||
unless @issue.disabled_core_fields.include?('category_id')
|
||||
rows.left l(:field_category), h(@issue.category ? @issue.category.name : "-"), :class => 'category'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('fixed_version_id')
|
||||
rows.left l(:field_fixed_version), (@issue.fixed_version ? link_to_version(@issue.fixed_version) : "-"), :class => 'fixed-version'
|
||||
end
|
||||
<!--<%# if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>-->
|
||||
<!--<hr />-->
|
||||
|
||||
unless @issue.disabled_core_fields.include?('start_date')
|
||||
rows.right l(:field_start_date), format_date(@issue.start_date), :class => 'start-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('due_date')
|
||||
rows.right l(:field_due_date), format_date(@issue.due_date), :class => 'due-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('done_ratio')
|
||||
rows.right l(:field_done_ratio), progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%"), :class => 'progress'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('estimated_hours')
|
||||
unless @issue.estimated_hours.nil?
|
||||
rows.right l(:field_estimated_hours), l_hours(@issue.estimated_hours), :class => 'estimated-hours'
|
||||
end
|
||||
end
|
||||
if User.current.allowed_to?(:view_time_entries, @project)
|
||||
rows.right l(:label_spent_time), (@issue.total_spent_hours > 0 ? link_to(l_hours(@issue.total_spent_hours), project_issue_time_entries_path(@project, @issue)) : "-"), :class => 'spent-time'
|
||||
end
|
||||
end %>
|
||||
<%= render_custom_fields_rows(@issue) %>
|
||||
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
|
||||
</table>
|
||||
<!--<div id="issue_tree">-->
|
||||
<!--<div class="contextual">-->
|
||||
<!--<%#= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>-->
|
||||
<!--</div>-->
|
||||
|
||||
<% if @issue.description? || @issue.attachments.any? -%>
|
||||
<hr />
|
||||
<% if @issue.description? %>
|
||||
<div class="description">
|
||||
<div class="contextual">
|
||||
<%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
||||
</div>
|
||||
<!--<p><strong><%#=l(:label_subtask_plural)%></strong></p>-->
|
||||
<!--<%#= render_descendants_tree(@issue) unless @issue.leaf? %>-->
|
||||
<!--</div>-->
|
||||
<!--<%# end %>-->
|
||||
|
||||
<p><strong><%=l(:field_description)%></strong></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @issue, :description, :attachments => @issue.attachments %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= link_to_attachments @issue, :thumbnails => true %>
|
||||
<% end -%>
|
||||
<!--<%# if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>-->
|
||||
<!--<hr />-->
|
||||
<!--<div id="relations">-->
|
||||
<!--<%#= render :partial => 'relations' %>-->
|
||||
<!--</div>-->
|
||||
<!--<%# end %>-->
|
||||
|
||||
<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
|
||||
|
||||
<% if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||
<hr />
|
||||
|
||||
<div id="issue_tree">
|
||||
<div class="contextual">
|
||||
<%= link_to_new_subtask(@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>
|
||||
<!--</div>-->
|
||||
|
||||
<% if @changesets.present? %>
|
||||
<div id="issue-changesets">
|
||||
|
@ -380,23 +162,16 @@ end %>
|
|||
<%= 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>-->
|
||||
<!--<%#= render :partial => 'action_menu' %>-->
|
||||
|
||||
<div style="clear: both;"></div>
|
||||
<% if @issue.editable? %>
|
||||
<div id="update">
|
||||
<h3><%= l(:button_update) %></h3>
|
||||
<%= render :partial => 'edit' %>
|
||||
<%= render :partial => 'edit' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{
|
||||
$('#light').css('display','none');
|
||||
$('#fade').css('display','none');
|
||||
//三种类型之所以分三个页面写,防备后面会有新的功能增加,便于扩展
|
||||
//
|
||||
if($("#development_group").attr("checked") == "checked"){
|
||||
$("#setting_project_type").replaceWith("<%= escape_javascript(project_type_link(l(:label_development_team)))%>")
|
||||
$("#project_memu").html('<%= escape_javascript(render(:partial => 'layouts/base_development_group')) %>');
|
||||
|
|
|
@ -911,6 +911,7 @@ zh:
|
|||
button_copy_and_follow: 复制并转到新问题
|
||||
button_annotate: 追溯
|
||||
button_update: 更新
|
||||
button_edit: 编辑
|
||||
button_configure: 配置
|
||||
button_quote: 引用
|
||||
button_duplicate: 副本
|
||||
|
|
|
@ -81,7 +81,7 @@ a.pro_mes_w{ height:20px; float:left;display:block; color:#999999;}
|
|||
.pro_info_box{ margin-left:60px; background:#f0fbff; height:80px; padding:10px 0;}
|
||||
.pro_info_box ul{}
|
||||
.pro_info_box ul li{ margin-bottom:10px;}
|
||||
.pro_info_p{ color:#0781b4; float:left; }
|
||||
.pro_info_p{ color:#0781b4; float:left; width:160px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
|
||||
.edit_pro_box{overflow:hidden;display:none; margin-bottom:30px; border-bottom:1px dashed #CCC; padding-bottom:10px;}
|
||||
/****翻页***/
|
||||
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
||||
|
|
Loading…
Reference in New Issue