Merge branch 'dev_newproject' of https://git.trustie.net/jacknudt/trustieforge into dev_newproject
This commit is contained in:
commit
1f0e8649b9
|
@ -563,6 +563,7 @@ class IssuesController < ApplicationController
|
|||
# 值所以用delete是因为issue和journal在act_as_attachment中是同一个类型
|
||||
# 非动态页面直接刷新,动态页面手动刷新
|
||||
def delete_journal
|
||||
@is_project = params[:is_project]
|
||||
@issue = Issue.find(params[:id])
|
||||
begin
|
||||
forge_acts = ForgeMessage.where(:forge_message_type => "Journal", :forge_message_id => params[:journal_id])
|
||||
|
|
|
@ -106,6 +106,8 @@ class UsersController < ApplicationController
|
|||
|
||||
#二级回复
|
||||
def reply_to
|
||||
@is_project = params[:is_project]
|
||||
|
||||
case params[:type]
|
||||
when 'HomeworkCommon'
|
||||
@reply = JournalsForMessage.find params[:reply_id]
|
||||
|
|
|
@ -34,43 +34,81 @@ class VersionsController < ApplicationController
|
|||
def index
|
||||
# 顶部导航
|
||||
@project_menu_type = 7
|
||||
|
||||
type = params[:type]
|
||||
version_all_count = Version.where(:project_id => @project.id)
|
||||
case type
|
||||
when nil,"1"
|
||||
@versions = @project.versions
|
||||
when "2"
|
||||
@versions = @project.versions.where(:status => 'open')
|
||||
when "3"
|
||||
@versions = @project.versions.where(:status => 'locked')
|
||||
when "4"
|
||||
@versions = @project.versions.where(:status => 'closed')
|
||||
end
|
||||
@versions_count = Version.where(:project_id => @project.id).count
|
||||
@versions_open_count = Version.where(:project_id => @project.id, :status => "open").count
|
||||
@versions_locked_count = Version.where(:project_id => @project.id, :status => "locked").count
|
||||
@versions_closed_count = Version.where(:project_id => @project.id, :status => "closed").count
|
||||
@versions_count = version_type_count(type, @versions_count, @versions_open_count, @versions_locked_count, @versions_closed_count)
|
||||
@limit = 10
|
||||
@is_remote = true
|
||||
@version_pages = Paginator.new @versions_count, @limit, params['page'] || 1
|
||||
@offset ||= @version_pages.offset
|
||||
@versions = paginateHelper @versions, @limit
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
@trackers = @project.trackers.sorted.all
|
||||
retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?})
|
||||
@with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1')
|
||||
project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id]
|
||||
|
||||
@versions = @project.shared_versions || []
|
||||
@versions += @project.rolled_up_versions.visible if @with_subprojects
|
||||
#added by young
|
||||
@versions = @versions.uniq.reverse#Modified by young
|
||||
unless params[:completed]
|
||||
@completed_versions = @versions.select {|version| version.closed? || version.completed? }
|
||||
@versions -= @completed_versions
|
||||
format.html
|
||||
format.js
|
||||
format.api
|
||||
# format.html {
|
||||
# @trackers = @project.trackers.sorted.all
|
||||
# retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?})
|
||||
# @with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1')
|
||||
# project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id]
|
||||
#
|
||||
# @versions = @project.shared_versions || []
|
||||
# @versions += @project.rolled_up_versions.visible if @with_subprojects
|
||||
# #added by young
|
||||
# @versions = @versions.uniq.reverse#Modified by young
|
||||
# unless params[:completed]
|
||||
# @completed_versions = @versions.select {|version| version.closed? || version.completed? }
|
||||
# @versions -= @completed_versions
|
||||
# end
|
||||
# @offset, @limit = api_offset_and_limit({:limit => 4})
|
||||
# @versions_count = @versions.count
|
||||
# @versions_pages = Paginator.new @versions_count, @limit, params['page']
|
||||
# @offset ||= @versions_pages.offset
|
||||
# @versions = @versions.slice(@offset, @limit)
|
||||
# #end by young
|
||||
#
|
||||
# @issues_by_version = {}
|
||||
# if @selected_tracker_ids.any? && @versions.any?
|
||||
# issues = Issue.visible.all(
|
||||
# :include => [:project, :status, :tracker, :priority, :fixed_version],
|
||||
# :conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)},
|
||||
# :order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id"
|
||||
# )
|
||||
# @issues_by_version = issues.group_by(&:fixed_version)
|
||||
# end
|
||||
# @versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}
|
||||
# }
|
||||
# format.api {
|
||||
# @versions = @project.shared_versions.all
|
||||
# }
|
||||
end
|
||||
@offset, @limit = api_offset_and_limit({:limit => 4})
|
||||
@versions_count = @versions.count
|
||||
@versions_pages = Paginator.new @versions_count, @limit, params['page']
|
||||
@offset ||= @versions_pages.offset
|
||||
@versions = @versions.slice(@offset, @limit)
|
||||
#end by young
|
||||
|
||||
@issues_by_version = {}
|
||||
if @selected_tracker_ids.any? && @versions.any?
|
||||
issues = Issue.visible.all(
|
||||
:include => [:project, :status, :tracker, :priority, :fixed_version],
|
||||
:conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)},
|
||||
:order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id"
|
||||
)
|
||||
@issues_by_version = issues.group_by(&:fixed_version)
|
||||
end
|
||||
@versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}
|
||||
}
|
||||
format.api {
|
||||
@versions = @project.shared_versions.all
|
||||
}
|
||||
|
||||
# 统计各种类型数量
|
||||
def version_type_count type, all_count, opened_count, locked_count, closed_count
|
||||
case type
|
||||
when nil, "1"
|
||||
all_count
|
||||
when "2"
|
||||
opened_count
|
||||
when "3"
|
||||
locked_count
|
||||
when "4"
|
||||
closed_count
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -54,4 +54,18 @@ module VersionsHelper
|
|||
def status_by_options_for_select(value)
|
||||
options_for_select(STATUS_BY_CRITERIAS.collect {|criteria| [l("field_#{criteria}".to_sym), criteria]}, value)
|
||||
end
|
||||
|
||||
# 通过类型显示不同的样式
|
||||
def get_version_type type
|
||||
case type
|
||||
when "open"
|
||||
"roadmap_blueicon"
|
||||
when "locked"
|
||||
"roadmap_greenicon"
|
||||
when "closed"
|
||||
"roadmap_greyicon"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
<% if @issue_id %> //issue详情中回复
|
||||
<%= render "jounal_refresh" %>
|
||||
<%else%>
|
||||
<% if params[:is_project] %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
|
||||
sd_create_editor_from_data(<%= @user_activity_id %>, null, "100%", "UserActivity");
|
||||
//init_activity_KindEditor_data(<%= @user_activity_id %>,"","87%", 'UserActivity');
|
||||
// sd_create_editor_from_data(<%#= @issue.id%>, null, "100%");
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
<% if @user_activity_id %>
|
||||
<%# 动态中 %>
|
||||
<% if params[:is_project] %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
|
||||
sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>");
|
||||
<% else %>
|
||||
<%# issue详情 %>
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<% if @user_activity_id %>
|
||||
<% if @is_project %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>");
|
||||
<% else %>
|
||||
<%= render "jounal_refresh" %>
|
||||
|
|
|
@ -35,12 +35,11 @@
|
|||
<%= render :partial => 'layouts/base_project_top' %>
|
||||
</div>
|
||||
|
||||
<div class="fl">
|
||||
<%= render_flash_messages %>
|
||||
<%= yield %>
|
||||
<%= call_hook :view_layouts_base_content %>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<% end %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
<div class="mt10" style="font-weight:normal;">
|
||||
<div class="mb10" style="font-weight:normal;">
|
||||
<%= render :partial=>"attachments/activity_attach", :locals=>{:activity => activity} %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<% count = all_replies.count %>
|
||||
<%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %>
|
||||
<%# count = fetch_user_leaveWord_reply(activity).count %>
|
||||
<div class="homepagePostReply">
|
||||
<div class="container-big-grey">
|
||||
<%= render :partial => 'projects/project_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %>
|
||||
|
||||
<% comments = all_replies[0..2] %>
|
||||
|
@ -97,9 +97,9 @@
|
|||
<% end %>
|
||||
|
||||
<% if !activity.locked? %>
|
||||
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
|
||||
<div class="reply-container ml15 borderBottomNone minHeight48">
|
||||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %></div>
|
||||
<div class="homepagePostReplyInputContainer mb10">
|
||||
<div class="reply-content mb10">
|
||||
<% if User.current.logged? %>
|
||||
<div nhname='new_message_<%= user_activity_id%>' style="display:none;">
|
||||
<%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id,:is_course => is_course, :is_board => 'true'},:method => "post", :remote => true) do |f|%>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<p class="proInfoP"><span><%= activity.status.name %></span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a></p>
|
||||
<%= select( :issue,:status, [["新增",1],["正在解决",2],["已解决",3],["反馈",4],["关闭",5],["拒绝",6]].unshift(["状态",0]),
|
||||
{:include_blank => false, :selected => @status_id ? @status_id : 0 },
|
||||
{:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w70 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"}
|
||||
{:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w130 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"}
|
||||
)
|
||||
%>
|
||||
</li>
|
||||
|
@ -62,7 +62,7 @@
|
|||
<a href="javascript:void(0)" class="pic_edit2 ml5" style="vertical-align:top;"></a></span>
|
||||
<%= select( :issue, :user_id, principals_options_for_isuue_list(activity.project),
|
||||
{ :include_blank => false,:selected => @assign_to_id ? @assign_to_id : 0},
|
||||
{:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"undis issueEdit", :style => "width:130px;"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"w130 undis issueEdit"}) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<span class="proInfoP"><span><%= activity.priority.name %></span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a> </span>
|
||||
<%= select( :issue,:prior, [["低",1],["正常",2],["高",3],["紧急",4],["立刻",5]].unshift(["优先级",0]),
|
||||
{:include_blank => false,:selected=>@priority_id ? @priority_id : 0},
|
||||
{:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w70 undis issueEdit"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w130 undis issueEdit"}) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
|
@ -85,7 +85,7 @@
|
|||
<span class="proInfoP" style="width:130px;"><span><%= activity.done_ratio %>%</span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a> </span>
|
||||
<%= select( :issue,:done_ratio, ((0..10).to_a.collect { |r| ["#{r*10} %", r*10] }),
|
||||
{:include_blank => false, :selected => @done_ratio ? @done_ratio : 0},
|
||||
{:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w70 undis issueEdit"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w130 undis issueEdit"}) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<span style="position: relative" class="fr mr20">
|
||||
<%= link_to(
|
||||
l(:button_reply),
|
||||
{:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id},
|
||||
{:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id, :is_project => true},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:button_reply)) %>
|
||||
|
@ -51,7 +51,7 @@
|
|||
</span>
|
||||
<%= link_to(
|
||||
l(:button_delete),
|
||||
{:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id},
|
||||
{:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id, :is_project => true},
|
||||
:method => 'get',
|
||||
:confirm => l(:text_are_you_sure),
|
||||
:remote=>true,
|
||||
|
@ -81,7 +81,7 @@
|
|||
<div class="reply-content mb10">
|
||||
<% if User.current.logged? %>
|
||||
<div nhname='new_message_<%= user_activity_id %>' style="display:none;">
|
||||
<%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id),:method => "post", :remote => true) do |f| %>
|
||||
<%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id, :is_project => true),:method => "post", :remote => true) do |f| %>
|
||||
<input type="hidden" name="user_activity_id" value="<%=user_activity_id%>">
|
||||
<div nhname='toolbar_container_<%= user_activity_id%>'></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= user_activity_id%>' name="notes"></textarea>
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
autoUrl('reply_content_<%= comment.id %>');
|
||||
});
|
||||
</script>
|
||||
<li class="homepagePostReplyContainer" nhname="reply_rec">
|
||||
<li class="reply-container ml15" nhname="reply_rec">
|
||||
<div class="homepagePostReplyPortrait">
|
||||
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
|
||||
</div>
|
||||
<div class="homepagePostReplyDes" onmouseover="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').show();" onmouseout="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').hide();">
|
||||
<div class="reply-content ml15" onmouseover="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').show();" onmouseout="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').hide();">
|
||||
<%= render :partial => 'projects/project_message_contents', :locals => {:comment => comment}%>
|
||||
|
||||
<% if !comment.content_detail.blank? %>
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<div class="<%= User.current.logged? ? 'orig_reply_box' : 'orig_reply_box2' %> borderBottomNone" id="reply_to_message_<%= reply.id%>">
|
||||
<% if User.current.logged? %>
|
||||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= reply.id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(User.current), :alt => "用户头像" %></div>
|
||||
<div class="orig_textarea mb10 fl">
|
||||
<div nhname='new_message_<%= reply.id%>'>
|
||||
<% if @type == 'Message' %>
|
||||
<%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id, :is_project => true}, :method => "post", :remote => true) do |f|%>
|
||||
<%= hidden_field_tag 'is_course', params[:is_course], :value => @is_course %>
|
||||
<%= hidden_field_tag 'is_board', params[:is_board], :value => @is_board %>
|
||||
<%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %>
|
||||
<%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@activity_id %>
|
||||
<%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %>
|
||||
<div nhname='toolbar_container_<%= reply.id%>'></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="content"></textarea>
|
||||
<a id="new_message_submit_btn_<%= reply.id%>" href="javascript:void(0)" onclick="this.style.display='none'" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||||
<div class="cl"></div>
|
||||
<p nhname='contentmsg_<%= reply.id%>'></p>
|
||||
<% end%>
|
||||
<% elsif @type == 'Issue' %>
|
||||
<%= form_for('new_form',:url => add_reply_issue_path(reply.issue.id, :is_project => true),:method => "post", :remote => true) do |f|%>
|
||||
<%= hidden_field_tag 'journal_id',params[:journal_id],:value =>reply.id %>
|
||||
<%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %>
|
||||
<div nhname='toolbar_container_<%= reply.id%>' ></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="content"></textarea>
|
||||
<a id="new_message_submit_btn_<%= reply.id%>" href="javascript:void(0)" onclick="this.style.display='none'" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||||
<div class="cl"></div>
|
||||
<p nhname='contentmsg_<%= reply.id%>' class="fl"></p>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= render :partial => "users/show_unlogged_reply" %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
|
@ -1,41 +1,51 @@
|
|||
<%= form_tag(url_for(:controller => 'pull_requests', :action => 'create', :project_id => @project.id, :forked_project_id => @forked_project.try(:gpid)), :id => 'pull_request_form', :method => "post", :remote => true) do %>
|
||||
<div class="new-merge-wrap">
|
||||
<div class="merge-option-name fl mt8"><span class="c_red">*</span>标题</div><input type="text" id="pr_name" name="title" class="merge-title-input fl ml30" />
|
||||
<p id ="pull_request_title" class="fl ml100 fontGrey2 mt5 c_red" style="display: none">标题不能为空</p>
|
||||
<div class="cl mb10"></div>
|
||||
<div class="merge-option-name fl">描述</div><textarea type="text" name="description" class="merge-description-input fl ml30"></textarea>
|
||||
<!--<p class="fl ml100 f12 mt5"><a href="javascript:void(0);" class="AnnexBtn fl mr10">上传附件</a></p>-->
|
||||
<div class="cl"></div>
|
||||
<div class="new_roadmap_conbox mb10" >
|
||||
<div class="new_roadmap_info_top clear ">
|
||||
<h4 class=" new_roadmap_listtitle"> 新建Pull Request </h4>
|
||||
</div>
|
||||
<div class="new-merge-wrap borderBottomNone">
|
||||
<div class="merge-option-name fl" style="padding:5px 0">源分支</div>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "source_branch", :name => "source_branch", :value => "source_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
|
||||
<div class="cl mb10"></div>
|
||||
<div class="merge-option-name fl" style="padding:5px 0">目标分支</div>
|
||||
<%= form_tag(url_for(:controller => 'pull_requests', :action => 'create', :project_id => @project.id, :forked_project_id => @forked_project.try(:gpid)), :id => 'pull_request_form', :method => "post", :remote => true) do %>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<ul class="PullReques_new_box ">
|
||||
<li class="mb10 clear">
|
||||
<label class=" fl PullReques_label"> 源分支 : </label>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "source_branch", :name => "source_branch", :value => "source_branch", :class => "fl PullReques_minselect" %>
|
||||
<label class=" fl ml10 "> 合并到目标分支 : </label>
|
||||
<% if @forked_project.nil? %>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "pull_request_branch", :name => "target_branch", :value => "target_branch",:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "pull_request_branch", :name => "target_branch", :value => "target_branch",:class => "fl PullReques_minselect ml5" %>
|
||||
<% else %>
|
||||
<select onchange="choice_branch(this.value, document.getElementById('pull_request_branch'), <%= @source_rev %>, <%= @forked_rev %>);" id="pull_request_project" name="source_project" value="source_project" class="ml30 fontGrey3 fb fl" style = "padding:5px 0 5px 5px;">
|
||||
<select onchange="choice_branch(this.value, document.getElementById('pull_request_branch'), <%= @source_rev %>, <%= @forked_rev %>);" id="pull_request_project" name="source_project" value="source_project" class="fl PullReques_minselect">
|
||||
<option name="<%= @project.id %>" value="source_project_name" ><%= @source_project_name %></option>
|
||||
<option name="<%= @forked_project.id %>" value="forked_project_name" ><%= @forked_project_name %></option>
|
||||
</select>
|
||||
<select name="target_branch" id="pull_request_branch" class = "ml30 fontGrey3 fb fl" style = "width:140px; padding:5px 0 5px 5px;">
|
||||
<select name="target_branch" id="pull_request_branch" class = "fl PullReques_minselect ml5" >
|
||||
<% @source_rev.each do |rev| %>
|
||||
<option value="<%= rev %>"><%= rev %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
<% end %>
|
||||
<p id="pull_request_project_hidden" style="display: none"><%= @forked_project.nil? ? "" : @project.id %></p>
|
||||
<div class="cl"></div>
|
||||
<p id ="pull_request_branch_error" class="ml100 fontGrey2 mt5 c_red" style="display: none">没有内容可以合并,请切换一个不同的分支</p>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<div class="alert alert-blue mb10" id ="pull_request_branch_error" style="display: none">
|
||||
<span class="c_orange">您选择的源分支和目标分支为似乎没有差异,请将新改动提交至源分支或者切换到其它目标分支</span>
|
||||
</div>
|
||||
<div class="new-merge-row b_grey" style="border-top:1px solid #ddd;">
|
||||
<a href="javascript:void(0);" class="BlueCirBtn fl ml10" onclick="pull_request_commit()">提交请求</a>
|
||||
<%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "fr linkGrey2 mt5 mr10" %>
|
||||
<div class="cl"></div>
|
||||
<li class="mb10 clear">
|
||||
<label class=" fl PullReques_label"><span class="c_red f12">*</span> 标题 : </label>
|
||||
<input type="text" id="pr_name" name="title" class="fl PullReques_maxinput" placeholder="请输入合并请求的标题" />
|
||||
</li>
|
||||
<div class="c_orange pl62 mb4" id ="pull_request_title" style="display: none">
|
||||
标题不能为空
|
||||
</div>
|
||||
<li class=" clear">
|
||||
<label class=" fl PullReques_label"> 描述 : </label>
|
||||
<textarea type="text" name="description" class="PullReques_textarea fl mb10" placeholder="在此输入合并请求的描述"></textarea>
|
||||
</li>
|
||||
<li class="mb10 clear">
|
||||
<%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "btn btn-grey fr" %>
|
||||
<a href="javascript:void(0);" class="btn btn-blue fr mr5" onclick="pull_request_commit()">确定</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function regex_pr_name()
|
||||
|
@ -74,7 +84,7 @@
|
|||
//提交pull request
|
||||
function pull_request_commit()
|
||||
{
|
||||
if(regex_pr_name() && regex_branch())
|
||||
if(regex_branch() && regex_pr_name())
|
||||
{
|
||||
$("#pull_request_form").submit();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,88 @@
|
|||
<% if @allow_to_pull_request %>
|
||||
<!--PullReques列表开始-->
|
||||
<div class="new_roadmap_conbox " >
|
||||
<div class="new_roadmap_navbox clear">
|
||||
<ul class="new_roadmap_nav fl" >
|
||||
<li class="new_roadmap_nav_hover"><%= link_to "待处理<span class='new_roadmap_nav_taghover ml5'>#{@requests_opened_count}</span>".html_safe, project_pull_requests_path(:type => "1"), :remote => true %></li>
|
||||
<li><%= link_to "已处理<span class='new_roadmap_nav_tagnomal ml5'>#{@requests_merged_count}</span>".html_safe, project_pull_requests_path(:type => "2"), :remote => true %></li>
|
||||
<li><%= link_to "已关闭<span class='new_roadmap_nav_tagnomal ml5'>#{@requests_closed_count}</span>".html_safe, project_pull_requests_path(:type => "3"), :remote => true %></li>
|
||||
<% if allow_pull_request(@project) && User.current.member_of?(@project) %>
|
||||
<%= link_to "创建Pull Request", new_project_pull_request_path, :class => "btn btn-green fr mr15 mt10" %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<li id="new_roadmap_nav_1" class="new_roadmap_nav_hover " onclick="HoverLi(1);">
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_1" class="new_roadmap_type_nomal" >待处理<span id="new_roadmap_num_1" class="new_roadmap_nav_taghover ml5">210</span></a>
|
||||
</li>
|
||||
<li id="new_roadmap_nav_2" onclick="HoverLi(2);" >
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_2" class="new_roadmap_type_nomal" >已处理<span id="new_roadmap_num_2" class="new_roadmap_nav_tagnomal ml5">25</span></a>
|
||||
</li>
|
||||
<li id="new_roadmap_nav_3" onclick="HoverLi(3);" >
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_3" class="new_roadmap_type_nomal" >关闭<span id="new_roadmap_num_3" class="new_roadmap_nav_tagnomal ml5">5</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="javascript:void(0);" class="btn btn-green fr mr15 mt10"> 新建 </a>
|
||||
</div>
|
||||
<div class="pullreques_category clear ">
|
||||
<a href="javascript:void(0);" class="sortdownbtn mt10 fr mr15"></a>
|
||||
<a href="javascript:void(0);" class="sy_cgrey fr">更新时间</a>
|
||||
<a href="javascript:void(0);" class="sortupbtn mt10 fr"></a>
|
||||
<a href="javascript:void(0);" class="sy_cgrey fr">创建时间 </a>
|
||||
</div>
|
||||
<div id="new_roadmap_content_1">
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<span class="icons_pullreques fl "></span><h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">两个分支作用不是很大</a></h4>
|
||||
<a href="javascript:void(0);" class="fr mt2">3</a>
|
||||
<a href="javascript:void(0);" class="issues_icons_mes fr mr5 ml5 "></a>
|
||||
</div>
|
||||
<div class="c_grey clear mt5">
|
||||
<p class="fl">由 <a href="javascript:void(0);" class="linkBlue2 " >胡莎莎</a> 创建于1个月前</p>
|
||||
<span class="fl ml10">大约1个月前更新</span>
|
||||
<p class="fr">凌彬/Rep_course<span class="c_grey02 ml10 mr10">合并到</span>胡莎莎/Rep_quality</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" pages ">
|
||||
<a href="javascript:void(0);" class="pages-big" >上一页</a>
|
||||
<a href="javascript:void(0);" class="active " >1</a>
|
||||
<a href="javascript:void(0);" >2</a>
|
||||
<a href="javascript:void(0);" >3</a>
|
||||
<a href="javascript:void(0);" >...</a>
|
||||
<a href="javascript:void(0);" >31</a>
|
||||
<a href="javascript:void(0);" class="pages-big" >下一页</a>
|
||||
<div class="cl"></div>
|
||||
</div><!--翻页 end-->
|
||||
<div class="cl"></div>
|
||||
</div><!--new_roadmap_content_1 end-->
|
||||
<div id="new_roadmap_content_2" class="undis">
|
||||
ddd
|
||||
</div><!--new_roadmap_content_2 end-->
|
||||
<div id="new_roadmap_content_3" class="undis">
|
||||
eee
|
||||
</div><!--new_roadmap_content_3 end-->
|
||||
</div><!--new_roadmap end-->
|
||||
<!--PullReques列表结束-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<%#= render :partial => "pull_requests/pull_request_container" %>
|
||||
<ul id="mergeBanner" class="project-merge-banner">
|
||||
<li class="active"><%= link_to "待处理<span class='project-number-dot'>#{@requests_opened_count}</span>".html_safe, project_pull_requests_path(:type => "1"), :remote => true %></li>
|
||||
|
@ -17,12 +101,12 @@
|
|||
|
||||
|
||||
<script>
|
||||
$("#mergeBanner").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
// $("#mergeBanner").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
$("#mergeBanner").parent().before("<div class='homepageRightBanner mb10'><span class='f16 fontGrey3'>Pull Request</span></div>");
|
||||
|
||||
$(".project-merge-banner li").click(function(){
|
||||
$(".project-merge-banner li").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
$(".project-merge-banner li").removeClass("new_roadmap_nav_hover");
|
||||
$(this).addClass("new_roadmap_nav_hover");
|
||||
});
|
||||
</script>
|
||||
<% else %>
|
||||
|
|
|
@ -1,3 +1,28 @@
|
|||
<%= render :partial => "pull_requests/pull_request_container" %>
|
||||
<%= render :partial => "pull_requests/new" %>
|
||||
<div id="pull_request_new_form">
|
||||
<div id="create_pull_request_error">
|
||||
<%= render :partial => "pull_requests/error_message" %>
|
||||
</div>
|
||||
|
||||
<%= render :partial => "pull_requests/form" %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// $("#pull_request_new_form").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
|
||||
$("#changed-files").toggle(function(){
|
||||
$("#changed-files-detail").show();
|
||||
},function(){
|
||||
$("#changed-files-detail").hide();
|
||||
});
|
||||
|
||||
$(".merge-record li a").click(function(){
|
||||
$(".merge-record li a").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
|
||||
var index = $(".merge-record li a").index(this);
|
||||
|
||||
$("#merge_record_0, #merge_record_1").hide();
|
||||
$("#merge_record_" + index).show();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
if($("#reply_message_<%= @reply.id%>").length > 0) {
|
||||
<% if params[:is_project] %>
|
||||
$("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/reply_to', :locals => {:reply => @reply}) %>");
|
||||
<% else %>
|
||||
$("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'users/reply_to', :locals => {:reply => @reply}) %>");
|
||||
<% end %>
|
||||
$("#reply_iconup_<%=@reply.id %>").show();
|
||||
$(function(){
|
||||
sd_create_editor_from_data(<%= @reply.id%>,null,"100%", "<%=@reply.class.to_s%>");
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<% @versions.each do |version| %>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><%= link_to_version version, :name => version_anchor(version) %></h4><span class="fl <%= get_version_type(version.status) %> mt3 ml5"></span>
|
||||
<%= link_to "导出", version_path(version, :format => 'xls'), :class => "btn_newpro_grey fr" %>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red" title="<%= version.closed_percent %>"><%= version.closed_percent.round %>% </span></li>
|
||||
<li>Issues<span class="ml5 "><%= version.issues_count %> </span></li>
|
||||
<li>已关闭<span class="ml5 "><%= version.closed_issues_count %> </span></li>
|
||||
<li>
|
||||
<% if version.completed? %>
|
||||
<span></span><%= format_date(version.effective_date) %>
|
||||
<% elsif version.effective_date %>
|
||||
<span class="muban-icons-clock"></span><%= due_date_distance_in_words(version.effective_date) %>(<%= format_date(version.effective_date) %>)
|
||||
<% end %>
|
||||
<!--<span ></span>截止日期剩余 5天(2016-10-31)</li>-->
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p><%= version.description %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<div style="text-align:center;">
|
||||
<div class="pages" style="width:auto; display:inline-block;">
|
||||
<ul id="homework_pository_ref_pages">
|
||||
<%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
|
@ -1,317 +1,34 @@
|
|||
<!--里程碑列表开始-->
|
||||
<div class="new_roadmap_conbox " >
|
||||
<div class="new_roadmap_conbox mb10" >
|
||||
<div class="new_roadmap_navbox clear">
|
||||
<ul class="new_roadmap_nav fl" >
|
||||
<li id="new_roadmap_nav_1" class="new_roadmap_nav_hover " onclick="HoverLi(1);">
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_1" class="new_roadmap_type_nomal" >所有<span id="new_roadmap_num_1" class="new_roadmap_nav_taghover ml5">210</span></a>
|
||||
<li class="new_roadmap_nav_hover">
|
||||
<%= link_to "所有<span class='new_roadmap_nav_taghover ml5'>#{@versions_count}</span>".html_safe, project_roadmap_path(@project, :type => "1"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li id="new_roadmap_nav_2" onclick="HoverLi(2);" >
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_2" class="new_roadmap_type_nomal" >打开<span id="new_roadmap_num_2" class="new_roadmap_nav_tagnomal ml5">25</span></a>
|
||||
<li>
|
||||
<%= link_to "打开<span class='new_roadmap_nav_taghover ml5'>#{@versions_open_count}</span>".html_safe, project_roadmap_path(@project, :type => "2"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li id="new_roadmap_nav_3" onclick="HoverLi(3);" >
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_3" class="new_roadmap_type_nomal" >锁定<span id="new_roadmap_num_3" class="new_roadmap_nav_tagnomal ml5">5</span></a>
|
||||
<li>
|
||||
<%= link_to "锁定<span class='new_roadmap_nav_taghover ml5'>#{@versions_locked_count}</span>".html_safe, project_roadmap_path(@project, :type => "3"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li id="new_roadmap_nav_4" onclick="HoverLi(4);" >
|
||||
<a href="javascript:void(0);" id="new_roadmap_type_4" class="new_roadmap_type_nomal" >关闭 <span id="new_roadmap_num_4" class="new_roadmap_nav_tagnomal ml5">5</span></a>
|
||||
<li>
|
||||
<%= link_to "关闭<span class='new_roadmap_nav_taghover ml5'>#{@versions_closed_count}</span>".html_safe, project_roadmap_path(@project, :type => "4"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="javascript:void(0);" class="btn btn-green fr mr15 mt10"> 新建 </a>
|
||||
</div>
|
||||
<div id="new_roadmap_content_1">
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_blueicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
|
||||
<div id="version_list">
|
||||
<%= render :partial => "versions/list" %>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greenicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_green">100% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span ><span class="c_red">延期 6 天(2016-10-31)</span></li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greyicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_blueicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greenicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_green">100% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span ><span class="c_red">延期 6 天(2016-10-31)</span></li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greyicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_blueicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greenicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_green">100% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span ><span class="c_red">延期 6 天(2016-10-31)</span></li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greyicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><a href="javascript:void(0);" class="">Version3.5 </a></h4><span class="fl roadmap_greyicon mt3 ml5"></span>
|
||||
<a href="javascript:void(0);" class="btn_newpro_grey fr " alt="导出">导出</a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red">30% </span></li>
|
||||
<li>issues<span class="ml5 ">20 </span></li>
|
||||
<li>已关闭<span class="ml5 ">6 </span></li>
|
||||
<li><span class="muban-icons-clock "></span>截止日期剩余 5天(2016-10-31)</li>
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p>里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" pages ">
|
||||
<a href="javascript:void(0);" class="pages-big" >上一页</a>
|
||||
<a href="javascript:void(0);" class="active " >1</a>
|
||||
<a href="javascript:void(0);" >2</a>
|
||||
<a href="javascript:void(0);" >3</a>
|
||||
<a href="javascript:void(0);" >...</a>
|
||||
<a href="javascript:void(0);" >31</a>
|
||||
<a href="javascript:void(0);" class="pages-big" >下一页</a>
|
||||
<div class="cl"></div>
|
||||
</div><!--翻页 end-->
|
||||
<div class="cl"></div>
|
||||
|
||||
</div><!--new_roadmap_content_1 end-->
|
||||
<div id="new_roadmap_content_2" class="undis">
|
||||
ddd
|
||||
</div><!--new_roadmap_content_2 end-->
|
||||
<div id="new_roadmap_content_3" class="undis">
|
||||
eee
|
||||
</div><!--new_roadmap_content_3 end-->
|
||||
<div id="new_roadmap_content_4" class="undis">
|
||||
fff
|
||||
</div><!--new_roadmap_content_4 end-->
|
||||
</div><!--new_roadmap end-->
|
||||
<!--里程碑列表结束-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="project_r_h" style="width:730px;">
|
||||
<h2 class="project_h2"><%= l(:label_roadmap) %></h2>
|
||||
</div>
|
||||
<div class="roadmap">
|
||||
<fieldset id="filters" class="collapsible collapsed" >
|
||||
<legend><%= l(:label_version_display_settings)%></legend>
|
||||
<%= form_tag({}, :method => :get) do %>
|
||||
<% @trackers.each do |tracker| %>
|
||||
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %>
|
||||
<%=h tracker.name %></label>
|
||||
<% end %>
|
||||
<!--label for="completed"><%#= check_box_tag "completed", 1, params[:completed] %> <%#= l(:label_show_completed_versions) %></label-->
|
||||
<% if @project.descendants.active.any? %>
|
||||
<%= hidden_field_tag 'with_subprojects', 0 %>
|
||||
<label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label>
|
||||
<% end %>
|
||||
<%= submit_tag l(:button_apply), :class => 'sub_btn ml10', :name => nil %>
|
||||
<%= link_to l(:label_version_new), new_project_version_path(@project), :class => 'green_u_btn fr' if User.current.allowed_to?(:manage_versions, @project) %>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
|
||||
<% if @versions.empty? %>
|
||||
<p class="nodata mt10"><%= l(:label_no_data) %></p>
|
||||
<% else %>
|
||||
<% @versions.each do |version| %>
|
||||
|
||||
<div class="roadmap_box" style="width:710px;">
|
||||
<p><a class=" f16 fb c_dblue ">
|
||||
<a class=" f16 fb c_dblue " ><%= version_anchor(version)%></a>
|
||||
<%#= link_to_version_show version, :name => version_anchor(version) %>
|
||||
<% if version.completed? %>
|
||||
<span style="color: #E8770D;float:right;"><%= format_date(version.effective_date) %></span>
|
||||
<% elsif version.effective_date %>
|
||||
<span style="color: #E8770D;float:right;"><strong><%= due_date_distance_in_words(version.effective_date) %></strong> (<%= format_date(version.effective_date) %>)</span>
|
||||
<% end %>
|
||||
</a>
|
||||
</p>
|
||||
<div class="roadmap_pro mb10">
|
||||
<%= render :partial => 'versions/overview', :locals => {:version => version} %>
|
||||
<%#= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
|
||||
|
||||
</div><!--roadmap_pro end-->
|
||||
<% if (issues = @issues_by_version[version]) && issues.size > 0 %>
|
||||
<div class="roadmap_list">
|
||||
<%= form_tag({}) do -%>
|
||||
<p class="f14 mb5">»<%= l(:label_related_issues) %></p>
|
||||
<ul class="roadmap_list_ul">
|
||||
<% issues.each do |issue| -%>
|
||||
<li style="overflow:hidden">
|
||||
<%= link_to_issue_version(issue, :project => (@project != issue.project)) %>
|
||||
<span class="mr5 fr" >指派给:<%= link_to "#{User.find(issue.try(:assigned_to_id)).show_name}", user_path(issue.try(:assigned_to_id)), :class => "c_blue hidden fr", :style => "width:50px;" %></span>
|
||||
</li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %><!--roadmap_list end-->
|
||||
<div class="roadmap_list">
|
||||
<p class="f14 mb5">»<%= l(:label_versions_description)%></p>
|
||||
<p><%=h version.description %></p>
|
||||
<!--p class="f14 mb5">»<%#= link_to "导出:Excel", version_path(version, :format => 'xls') %></p-->
|
||||
</div><!--roadmap_list end-->
|
||||
</div><!--roadmap_box end-->
|
||||
<% end %>
|
||||
<ul class="wlist" >
|
||||
<%= pagination_links_full @versions_pages%>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div><!--roadmap end-->
|
||||
|
||||
<% html_title(l(:label_roadmap)) %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
||||
|
||||
<script type="text/javascript" language="javascript">
|
||||
$(".new_roadmap_nav li").click(function(){
|
||||
$(".new_roadmap_nav li").removeClass("new_roadmap_nav_hover");
|
||||
$(this).addClass("new_roadmap_nav_hover");
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,2 @@
|
|||
$("#version_list").html('<%= escape_javascript(render :partial => 'list') %>');
|
||||
$("#pages").html('<%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>');
|
Binary file not shown.
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 205 KiB |
|
@ -214,6 +214,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.pl10 {padding-left:10px;}
|
||||
.pr5 {padding-right:5px;}
|
||||
.pr10{padding-right: 10px;}
|
||||
.pl62 {padding-left: 62px;}
|
||||
.pl15{ padding-left:15px;}
|
||||
.pt5{ padding-top:5px;}
|
||||
.pt10{ padding-top:10px;}
|
||||
|
|
|
@ -971,3 +971,42 @@ select.new_roadmap_select{border:1px solid #dbdbdb; color: #666;}
|
|||
.new_roadmap_table td{ padding:0 5px;}
|
||||
/*模板图标20161020byLB*/
|
||||
.muban-icons-clock{ background: url("/images/new_project/icons_issue.png") 0 -224px no-repeat; display: inline-block; width: 19px; height: 13px;}
|
||||
|
||||
/* pullreques 20161020byLB */
|
||||
.pullreques_category{ height: 35px; line-height: 35px;background: #f0f0f0; }
|
||||
.pullreques span{ float: left;}
|
||||
a.sortupbtn{ background: url(/images/sy/liststyle.png) 0 3px no-repeat;width:12px;height:17px; display:block; margin-right:10px; cursor:pointer;}
|
||||
a.sortdownbtn{background: url(/images/sy/liststyle.png) 0 -12px no-repeat; width:12px; height:17px;display:block;cursor:pointer; }
|
||||
.icons_pullreques{background: url(/images/new_project/icons_issue.png) 0 -270px no-repeat; display: inline-block; width: 25px; height: 25px;}
|
||||
.pullreques_blueicon{ background: url(/images/new_project/icons_issue.png) 0 -299px no-repeat; display: inline-block; width: 43px; height: 16px;}
|
||||
.pullreques_greyicon{ background: url(/images/new_project/icons_issue.png) 0 -322px no-repeat; display: inline-block; width: 43px; height: 16px;}
|
||||
.pullreques_greyicon02{ background: url(/images/new_project/icons_issue.png) 0 -344px no-repeat; display: inline-block; width:32px; height: 16px;}
|
||||
.pullreques_reply_textarea{ width: 100%; padding:0; height: 60px; color: #666;}
|
||||
.pullreques_reply_list li{ padding:15px 0; border-top: 1px dashed #ddd; }
|
||||
.pullreques_reply_user_img{ width:50px;height:50px; -webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;}
|
||||
a.pullreques_reply_name{ font-weight: bold; color: #333;}
|
||||
.pullreques_reply_txt{ width: 900px;color: #666;}
|
||||
.pullreques_pull_top { width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;}
|
||||
a.pullreques_pull_name{display: block; margin-left: 10px;max-width:80px; color:#3b94d6; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
|
||||
.pullreques_pull_list li{ height: 30px; line-height: 30px; }
|
||||
.pullreques_pull_txt{display: block; margin-left: 10px;max-width:740px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
|
||||
.pullreques_change_list li{height: 40px; line-height: 40px;border-bottom:1px solid #e1e1e1; }
|
||||
.pullreques_change_list li:last-child{ border-bottom: none;}
|
||||
.pullreques_icons_add{background: url(/images/new_project/icons_issue.png) 0 -374px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.pullreques_icons_del{background: url(/images/new_project/icons_issue.png) 0 -399px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.pullreques_icons_new{background: url(/images/new_project/icons_issue.png) 0 -421px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.PullReques_minselect{border:1px solid #e1e1e1; height: 30px; line-height: 30px; width: 262px;color: #666;}
|
||||
.PullReques_maxinput{ width:900px;border:1px solid #e1e1e1; height: 30px; line-height: 30px; color: #666;}
|
||||
.PullReques_textarea{width:900px;border:1px solid #e1e1e1; height: 80px; line-height: 1.9; color: #666;}
|
||||
.PullReques_new_box li{ height: 30px; line-height: 30px; color: #666;}
|
||||
.PullReques_label{ width: 60px; text-align: right;}
|
||||
.PullReques_new_box input:focus,select:focus{border:1px solid #e1e1e1;}
|
||||
|
||||
/*模板form 20161013byLB*/
|
||||
textarea.muban_textarea{ width: 98.5%;border:1px solid #ddd; background:#fff; color:#666; padding:5px;}
|
||||
/*提示条20161020byLB*/
|
||||
.alert{ padding:10px;border: 1px solid transparent; text-align: center;}
|
||||
.alert-blue{ background-color: #d9edf7;border-color: #bce8f1; color: #3a87ad;}
|
||||
.alert-orange{ background-color: #fff9e9;border-color: #f6d0b1; color:#ee4a20;}
|
||||
.close{padding: 0;cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; font-size: 21px; font-weight: bold;line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.3;}
|
||||
.close:hover{opacity: 0.5;}
|
|
@ -1156,7 +1156,7 @@ input.new_loggin_input{
|
|||
margin-top:250px;
|
||||
}
|
||||
/*未登录回复提示*/
|
||||
.visitor-box {width:620px; height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;}
|
||||
.visitor-box {height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;}
|
||||
|
||||
/* 个人资料修改弹框 */
|
||||
.winbox{
|
||||
|
|
|
@ -142,6 +142,7 @@ h4{ font-size:14px; }
|
|||
.mb20{ margin-bottom:20px;}
|
||||
.mb30 {margin-bottom:30px;}
|
||||
.mb40 {margin-bottom:40px;}
|
||||
.pl62 {padding-left: 62px;}
|
||||
.pl10 {padding-left:10px;}
|
||||
.pl15{ padding-left:15px;}
|
||||
.pl5{ padding-left:5px;}
|
||||
|
|
Loading…
Reference in New Issue