From 518d6bacbeef22ba7cb5a8be5b5800a668fbe156 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 8 Aug 2016 15:23:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E9=97=ADpull=20requ?= =?UTF-8?q?est=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/pull_requests_controller.rb | 14 +++++++++++++- app/helpers/pull_requests_helper.rb | 11 +++++++++++ app/views/pull_requests/_show.html.erb | 6 ++++-- config/locales/projects/zh.yml | 7 ++++++- config/routes.rb | 1 + 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 58d1cb3b2..c365a8b37 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -1,7 +1,7 @@ class PullRequestsController < ApplicationController before_filter :find_project_and_repository - before_filter :connect_gitlab, :only => [:index, :show, :create, :accept_pull_request, :pull_request_commits, :pull_request_changes, :new] + before_filter :connect_gitlab, :only => [:index, :show, :create, :accept_pull_request, :pull_request_commits, :pull_request_changes, :new, :update_pull_request] layout "base_projects" include PullRequestsHelper include ApplicationHelper @@ -107,6 +107,18 @@ class PullRequestsController < ApplicationController end end + # 更新请求的状态state => cloesed + def update_pull_request + begin + @g.update_merge_request(@project.gpid, params[:id], :state_event => params[:state]) + respond_to do |format| + format.html{redirect_to project_pull_request_path(params[:id], :project_id => @project.id)} + end + rescue Exception => e + @message = e.message + end + end + # 获取某次请求的提交次数 def pull_request_commits @type = parms[:type] diff --git a/app/helpers/pull_requests_helper.rb b/app/helpers/pull_requests_helper.rb index 82d4edc0f..c33100ea8 100644 --- a/app/helpers/pull_requests_helper.rb +++ b/app/helpers/pull_requests_helper.rb @@ -14,4 +14,15 @@ module PullRequestsHelper User.find(user_id).try(:login) end + def get_state state + case state + when "open","reopened" + l(:label_state_open) + when "closed" + l(:label_state_closed) + when "merged" + l(:label_state_merged) + end + end + end diff --git a/app/views/pull_requests/_show.html.erb b/app/views/pull_requests/_show.html.erb index 7bcf296a3..bb3cefc9f 100644 --- a/app/views/pull_requests/_show.html.erb +++ b/app/views/pull_requests/_show.html.erb @@ -4,8 +4,10 @@
- <%= @request.state == "merged" ? "已合并" : "待处理" %>合并请求 由<%= link_to @request.author.try(:username), user_path(get_user_by_login_and(@request.author.try(:username))), :class => "link-blue" %>于<%= time_tag(@request.created_at) %>提交 · 最后编辑时间<%= time_tag(@request.updated_at) %> - + <%= get_state(@request.state) %>合并请求 由<%= link_to @request.author.try(:username), user_path(get_user_by_login_and(@request.author.try(:username))), :class => "link-blue" %>于<%= time_tag(@request.created_at) %>提交 · 最后编辑时间<%= time_tag(@request.updated_at) %> + <% unless @request.state == "merged" %> + <%= link_to "#{@request.state == 'closed' ? '重新打开' : '关闭'}", update_pull_request_project_pull_request_path(@request.id, :project_id => @project.id, :state => @request.state =="closed" ? "reopen" : "close"), :class => "BlueCirBtn fr" %> + <% end %>
<%= @request.title %>

<%= @request.description %>

diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index 91cc96791..792ff35fd 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -456,4 +456,9 @@ zh: # 版本库迁移 label_repository_migrate_dec: 注意:Trustie版本库近期进行了一次大的改造,历史版本需要转换成新的版本,输入新的版本库名,即可完成转换。 转换过程可能需要等待一段时间。 - label_repository_name_dec: 版本库名仅小写字母(a-z)、数字、破折号(-)和下划线(_)可以使用,长度必须在 1 到 254 个字符之间,一旦保存,标识无法修改。 \ No newline at end of file + label_repository_name_dec: 版本库名仅小写字母(a-z)、数字、破折号(-)和下划线(_)可以使用,长度必须在 1 到 254 个字符之间,一旦保存,标识无法修改。 + + # pull requests + label_state_open: 待处理 + label_state_closed: 关闭 + label_state_merged: 已合并 diff --git a/config/routes.rb b/config/routes.rb index 5527212fd..eb822d27e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -816,6 +816,7 @@ RedmineApp::Application.routes.draw do get 'accept_pull_request' get 'pull_request_commits' get 'pull_request_changes' + get 'update_pull_request' end end