issue 关联commit 流程及数据创建

This commit is contained in:
huang 2016-12-07 10:53:36 +08:00
parent 33a4186e69
commit 378427d070
3 changed files with 25 additions and 14 deletions

View File

@ -198,8 +198,8 @@ class IssuesController < ApplicationController
query = ForgeMessage.where("forge_message_type =? and user_id =? and forge_message_id =?", "Issue", User.current, @issue).first query = ForgeMessage.where("forge_message_type =? and user_id =? and forge_message_id =?", "Issue", User.current, @issue).first
query.update_attribute(:viewed, true) unless query.nil? query.update_attribute(:viewed, true) unless query.nil?
# issue 关联的commit # issue 关联的commit
@commits = CommitIssues.where(:issue_id => @issue.id, :project_id => @issue.project_id) commit_issues = CommitIssues.where(:issue_id => @issue.id, :project_id => @issue.project_id)
@issue_commit_ids = commit_issues.map{|commit_issue| commit_issue.commit_id}
# issue 新建的at消息 # issue 新建的at消息
User.current.at_messages.unviewed('Issue', @issue.id).each {|x| x.viewed!} User.current.at_messages.unviewed('Issue', @issue.id).each {|x| x.viewed!}
# 回复的at消息 # 回复的at消息
@ -268,10 +268,10 @@ class IssuesController < ApplicationController
@issue.assigned_to_id = nil if @issue.assigned_to_id == 0 @issue.assigned_to_id = nil if @issue.assigned_to_id == 0
if @issue.save if @issue.save
# 关联commmit # 关联commmit
commits = params[:had_commits] commit_ids = params[:commit_ids]
if commits unless commit_ids.blank?
commits.each do |commit| commit_ids.split(",").each do |commit_id|
CommitIssues.create(:commit_id => commit.id, :project_id => @issue.project_id, :issue_id => @issue.id) CommitIssues.create(:commit_id => commit_id, :project_id => @issue.project_id, :issue_id => @issue.id)
end end
end end
#params[:issue][:assigned_to_id] = nil if params[:issue][:assigned_to_id].to_i == 0 #params[:issue][:assigned_to_id] = nil if params[:issue][:assigned_to_id].to_i == 0

View File

@ -63,7 +63,7 @@
<% end %> <% end %>
<!--<a href="javascript:void(0);" class="sy_btn_blue mr5 fr"> 保存并继续</a>--> <!--<a href="javascript:void(0);" class="sy_btn_blue mr5 fr"> 保存并继续</a>-->
<!--<a href="javascript:void(0);" onclick="issue_desc_editor.sync();$('#issue-form').submit();" class="sy_btn_blue mr5 fr" id="issue_confirm"> 保存</a>--> <!--<a href="javascript:void(0);" onclick="issue_desc_editor.sync();$('#issue-form').submit();" class="sy_btn_blue mr5 fr" id="issue_confirm"> 保存</a>-->
<input onclick="issue_desc_editor.sync();$('#issue-form').submit();" class="sy_btn_blue fr mr5" onfocus="this.blur()" id="issue_confirm" style="width: 28px;color: #FFF" value="保存"> <input onclick="issue_create();" class="sy_btn_blue fr mr5" onfocus="this.blur()" id="issue_confirm" style="width: 28px;color: #FFF" value="保存">
</li> </li>
</ul> </ul>
<ul class="fl pro_new_conbox_right ml10 mb10"> <ul class="fl pro_new_conbox_right ml10 mb10">
@ -136,19 +136,34 @@
</li> </li>
<li class="clear">完成度</li> <li class="clear">完成度</li>
<% if @project.gpid %> <% if @project.gpid %>
<!--<li class="clear"><span>关联Commit</span><%#= link_to "<span class='btn-commit btn-blue mt-2 fr'>+</span>".html_safe, issue_commits_issues_path(:project_id => @project), :remote => true %></li>--> <%#= hidden_field_tag @issue_commit_ids %>
<input value="" name="commit_ids" id="commit_ids" type="hidden">
<li class="clear"><span>关联Commit</span> <li class="clear"><span>关联Commit</span>
<a href="javascript:void(0)" onclick="get_issue_commit_ids('issue_commit_ids','<%= @project.id %>');"> <a href="javascript:void(0)" onclick="get_issue_commit_ids('issue_commit_ids','<%= @project.id %>');">
<span class='btn-commit btn-blue mt-2 fr'>+</span> <span class='btn-commit btn-blue mt-2 fr'>+</span>
</a> </a>
</li> </li>
<div id="issue_commit_ids"> <div id="issue_commit_ids">
<%= render :partial => "issues/issue_commit_ids" %> <%= render :partial => "issues/issue_commit_ids", :locals => {:f => f} %>
</div> </div>
<% end %> <% end %>
</ul> </ul>
<% end %> <% end %>
<script> <script>
function issue_create(){
var issue_commit_ids = $("#issue_commit_ids .commit_id_value");
var str = "";
for(var i=0; i < issue_commit_ids.length; i++){
str += $(issue_commit_ids[i]).html();
if(i != issue_commit_ids.length -1){
str += ",";
}
}
issue_desc_editor.sync();
$('#commit_ids').val(str);
$('#issue-form').submit();
}
function get_issue_commit_ids(id, project_id){ function get_issue_commit_ids(id, project_id){
var issue_commit_ids = $("#issue_commit_ids .commit_id_value"); var issue_commit_ids = $("#issue_commit_ids .commit_id_value");
var str = ""; var str = "";

View File

@ -88,11 +88,7 @@
<% end %> <% end %>
<li class="clear"><span class="pro_new_conbox_leftspan mb5">关联Commit</span> <li class="clear"><span class="pro_new_conbox_leftspan mb5">关联Commit</span>
<div id="issue_commit_ids"> <div id="issue_commit_ids">
<% if @commit_ids %> <%= render :partial => "issues/issue_commit_ids" %>
<% @commit_ids.each do |commit_id| %>
<div class=" btn btn-blue mb5"><a class="commit_id_value" href="#" style="color: white"><%= commit_id %></a> <a href="#" style="color:#fff;">×</a></div>
<% end %>
<% end %>
</div> </div>
</li> </li>
</ul> </ul>