项目pull request 项目消息框架搭建
This commit is contained in:
parent
f359b26344
commit
e4d43cc163
|
@ -97,8 +97,16 @@ class PullRequestsController < ApplicationController
|
||||||
request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch, :target_project_id => target_project_id)
|
request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch, :target_project_id => target_project_id)
|
||||||
@fork_project_name = Project.find(params[:target_project_id]).try(:name)
|
@fork_project_name = Project.find(params[:target_project_id]).try(:name)
|
||||||
@fork_pr_message = true if @fork_project_name
|
@fork_pr_message = true if @fork_project_name
|
||||||
|
# 发送消息
|
||||||
|
send_message(User.current.id, target_project_id, title)
|
||||||
|
# 创建Trustie数据
|
||||||
|
PullRequest.create(:pull_request_id => request.id, :user_id => User.current.id, :status => 1, :project_id => target_project_id)
|
||||||
else
|
else
|
||||||
request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch)
|
request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch)
|
||||||
|
# 发送消息
|
||||||
|
send_message(User.current.id, @project.id, title)
|
||||||
|
# 创建Trustie数据
|
||||||
|
PullRequest.create(:pull_request_id => request.id, :user_id => User.current.id, :status => 1, :project_id => @project.id)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js{redirect_to project_pull_request_path(request.id, :project_id => @project.id)}
|
format.js{redirect_to project_pull_request_path(request.id, :project_id => @project.id)}
|
||||||
end
|
end
|
||||||
|
@ -287,6 +295,10 @@ class PullRequestsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def send_message user_id, project_id, title
|
||||||
|
self.forge_acts << ForgeMessage.new(:user_id => user_id, :project_id => project_id, :title => title)
|
||||||
|
end
|
||||||
|
|
||||||
def authorize_logged
|
def authorize_logged
|
||||||
if !User.current.logged?
|
if !User.current.logged?
|
||||||
redirect_to signin_path
|
redirect_to signin_path
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
class PullRequest < ActiveRecord::Base
|
class PullRequest < ActiveRecord::Base
|
||||||
attr_accessible :gpid, :pull_request_id, :user_id
|
# status 1:创建 2:接受 3:重新打开 4:关闭
|
||||||
|
attr_accessible :gpid, :pull_request_id, :user_id, :status
|
||||||
validates_uniqueness_of :pull_request_id
|
validates_uniqueness_of :pull_request_id
|
||||||
|
|
||||||
|
has_many :forge_messages, :class_name => 'ForgeMessage', :as => :forge_message, :dependent => :destroy
|
||||||
end
|
end
|
||||||
|
|
|
@ -194,4 +194,24 @@
|
||||||
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
|
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
|
||||||
</ul>
|
</ul>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<!--
|
||||||
|
<% if ma.forge_message_type == "PullRequest" %>
|
||||||
|
<ul class="homepageNewsList fl">
|
||||||
|
<li class="homepageNewsPortrait fl">
|
||||||
|
<a href="javascript:void(0);">
|
||||||
|
<%#=link_to image_tag(url_to_avatar(ma.forge_message.author), :width => "30", :height => "30"), user_path(ma.forge_message.author), :target => '_blank' %>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="homepageNewsPubType fl">
|
||||||
|
<%#=link_to User.find(ma.forge_message.author).show_name, user_path(ma.forge_message.author),
|
||||||
|
:class => "newsBlue homepageNewsPublisher", :target => '_blank' %>
|
||||||
|
<span class="<%#= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>">创建了PullRequest:</span>
|
||||||
|
</li>
|
||||||
|
<li class="homepageNewsContent fl">
|
||||||
|
<%#= link_to "#{ma.forge_message.commented.title}",
|
||||||
|
{:controller => 'news', :action => 'show', :id => ma.forge_message.commented.id },:class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %>
|
||||||
|
</li>
|
||||||
|
<li class="homepageNewsTime fl"><%#= time_tag(ma.created_at).html_safe %> </li>
|
||||||
|
</ul>
|
||||||
|
<% end %>-->
|
||||||
<% end %>
|
<% end %>
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddStatusToPullRequests < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :pull_requests, :status, :integer, :default => false
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddProjectIdToPullRequests < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :pull_requests, :project_id, :integer
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue