From 36e47fa8b1e6554ae40f91af752bce65f523e8f4 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 20 Jun 2016 14:21:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F=E5=88=86?= =?UTF-8?q?=E6=9E=90=EF=BC=8C=E5=BC=B9=E6=A1=86=E5=8F=82=E6=95=B0=E4=BC=A0?= =?UTF-8?q?=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 2 +- .../quality_analyses_controller.rb | 11 ++++ app/controllers/repositories_controller.rb | 52 ++++++++++++------- .../repositories/_quality_analyses.html.erb | 8 +-- config/routes.rb | 2 +- 5 files changed, 51 insertions(+), 24 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 7e1738842..c216491b1 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -393,7 +393,7 @@ class ProjectsController < ApplicationController unless @project.gpid.nil? g = Gitlab.client @gitlab_branches = g.branches(@project.gpid) - @branch_names = g.branches(@project.gpid).map{|b| b.name} + @branch_names = @gitlab_branches.map{|b| b.name} @gitlab_default_branch = g.project(@project.gpid).default_branch end end diff --git a/app/controllers/quality_analyses_controller.rb b/app/controllers/quality_analyses_controller.rb index 0ea288a91..8f9a51666 100644 --- a/app/controllers/quality_analyses_controller.rb +++ b/app/controllers/quality_analyses_controller.rb @@ -1,6 +1,17 @@ class QualityAnalysesController < ApplicationController before_filter :find_project_by_project_id#, :except => [:getattachtype] layout "base_projects" + include ApplicationHelper + + def new + + end + + def create + branch = params[:branch] + language = params[:language] + path = params[:path] + end def index diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index d41def4af..3f630ce51 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -35,6 +35,8 @@ class RepositoriesController < ApplicationController before_filter :find_project_repository, :except => [:new, :create, :newcreate, :edit, :update, :destroy, :committers, :newrepo, :to_gitlab, :forked, :project_archive] before_filter :find_changeset, :only => [:revision, :add_related_issue, :remove_related_issue] before_filter :authorize , :except => [:newrepo,:newcreate,:fork, :to_gitlab, :forked, :commit_diff, :project_archive, :quality_analyses] + # 链接gitlab + before_filter :connect_gitlab, :only => [:quality_analyses] accept_rss_auth :revisions # hidden repositories filter // 隐藏代码过滤器 before_filter :check_hidden_repo, :only => [:show, :stats, :revisions, :revision, :diff ] @@ -308,26 +310,30 @@ update end def quality_analyses - language = params[:language] - branch = params[:branch] - path = params[:path] - user_name = User.find(@project.user_id).try(:login) - rep_name = params[:repository_id] - host = "192.168.0.200" - port = "1125" - username = "git" - password = "123123" - server_cmd1 = "sh gitclone.sh" + " " + user_name + " " + rep_name - # 连接到远程主机 foobar - ssh = Net::SSH.start(host, username, :port => port, :password => password) do |ssh| - result = ssh.exec!(server_cmd1) - path = "/home/git/repo/" + user_name + "/" + rep_name - # sonar 分析 - # server_cmd2 - # 删除clone的版本库 - # server_cmd3 - end + gitlab_branches = @g.branches(@project.gpid) + @branch_names = gitlab_branches.map{|b| b.name} + @gitlab_default_branch = @g.project(@project.gpid).default_branch + # language = params[:language] + # branch = params[:branch] + # path = params[:path] + # user_name = User.find(@project.user_id).try(:login) + # rep_name = params[:repository_id] + # host = "192.168.0.200" + # port = "1125" + # username = "git" + # password = "123123" + # server_cmd1 = "sh gitclone.sh" + " " + user_name + " " + rep_name + # # 连接到远程主机 foobar + # ssh = Net::SSH.start(host, username, :port => port, :password => password) do |ssh| + # result = ssh.exec!(server_cmd1) + # path = "/home/git/repo/" + user_name + "/" + rep_name + # # sonar 分析 + # # server_cmd2 + # # 删除clone的版本库 + # # server_cmd3 + # end respond_to do |format| + format.js format.html{ render :layout => "base_projects" } @@ -643,6 +649,14 @@ update project.project_score.update_attribute(:commit_time, date.created_at) end + # 链接gitlab + def connect_gitlab + @g = Gitlab.client + unless @project.gpid.nil? + @g_project = @g.project(@project.gpid) + end + end + def find_repository @repository = Repository.find(params[:id]) @project = @repository.project diff --git a/app/views/repositories/_quality_analyses.html.erb b/app/views/repositories/_quality_analyses.html.erb index 7424e0369..56951f3b6 100644 --- a/app/views/repositories/_quality_analyses.html.erb +++ b/app/views/repositories/_quality_analyses.html.erb @@ -1,5 +1,7 @@ -<%= form_tag( url_for(:controller => 'repositories', :action => 'quality_analyses'), :remote => true , :method => 'post', :class => 'resourcesSearchloadBox mt10', :id => 'resource_search_form') do %> - +<%= form_tag( url_for(:controller => 'quality_analyses', :action => 'create', :project_id => @project.id), :remote => true , :class => 'resourcesSearchloadBox mt10', :id => 'quality_analyses_form') do %> + <%= select_tag :branch, options_for_select(["#{@gitlab_default_branch}"]+ @branch_names, @rev), :id => 'branch' %> - <%= select_tag :language, options_for_select(["Java","C"]), :id => 'branch' %> + <%= select_tag :language, options_for_select(["Java","C","PHP", "Web"]), :id => 'branch' %> +
确定
+
取消
<% end %> \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 17614f4b6..b32816673 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -782,7 +782,7 @@ RedmineApp::Application.routes.draw do end end - resources :quality_analyses, :only => [:index] do + resources :quality_analyses, :only => [:index, :new, :create] do collection do end member do