select选择框

This commit is contained in:
huang 2016-08-05 10:42:06 +08:00
parent ab6acb460e
commit b297446778
3 changed files with 48 additions and 11 deletions

View File

@ -3,6 +3,7 @@ class PullRequestsController < ApplicationController
before_filter :connect_gitlab, :only => [:index, :show, :create, :accept_pull_request, :pull_request_commits, :pull_request_changes, :new]
layout "base_projects"
include PullRequestsHelper
include ApplicationHelper
# 返回json格式
def index
@ -21,16 +22,19 @@ class PullRequestsController < ApplicationController
end
end
# 主要取源项目和目标项目分支及标识(用户名/版本库名)
def new
@rev = @g.branches(@project.gpid).map{|b| b.name}
@target_project = []
identifier = get_rep_identifier_by_project @project
@source_project_name = "#{get_user_name(@project.user_id)}/#{identifier}"
@source_rev = @g.branches(@project.gpid).map{|b| b.name}
# 获取forked源项目信息
if @project.forked_from_project_id
@forked_project = Project.find(@project.forked_from_project_id)
@target_project << "#{get_user_name(@forked_project.user_id)}/#{@forked_project.name}"
identifier = get_rep_identifier_by_project @forked_project
@forked_project_name = "#{get_user_name(@forked_project.user_id)}/#{identifier}"
@forked_rev = @g.branches(@forked_project.gpid).map{|b| b.name}
end
# @forked_rev = @g.branches(forked_project.gpid).map{|b| b.name}
@target_project << "#{get_user_name(@project.user_id)}/#{@project.name}"
end
# Creates a merge request.

View File

@ -9,15 +9,26 @@
</div>
<div class="new-merge-wrap borderBottomNone">
<div class="merge-option-name fl" style="padding:5px 0">源分支</div>
<%= select_tag :branch, options_for_select(@rev), :name => "source_branch", :value => "source_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
<%= select_tag :branch, options_for_select(@source_rev), :name => "source_branch", :value => "source_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
<!--<select name="source_branch" value="source_branch" class="ml30 fontGrey3 fb fl"><option>master</option><option>develop</option><option>rep_quality</option></select>-->
<div class="cl mb10"></div>
<div class="merge-option-name fl" style="padding:5px 0">目标分支</div>
<% unless @target_project.blank? %>
<%= select_tag :branch, options_for_select(@target_project), :name => "target_project", :value => "target_project", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetProject" %>
<% if @forked_project.nil? %>
<%= select_tag :branch, options_for_select(@source_project_name), :name => "target_project", :value => "target_project",
:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetProject" %>\
<%= select_tag :branch, options_for_select(@source_rev), :name => "target_branch", :value => "target_branch",
:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetBranch" %>
<% else %>
<select onchange="choice_branch(this.value, document.getElementById('branch'), <%= @source_rev %>, <%= @forked_rev %>);" name="source_branch" value="source_branch" class="ml30 fontGrey3 fb fl" style = "padding:5px 0 5px 5px;">
<option value="source_project_name"><%= @source_project_name %></option>
<option value="forked_project_name"><%= @forked_project_name %></option>
</select>
<select name="branch" id="branch" class = "ml30 fontGrey3 fb fl" style = "padding:5px 0 5px 5px;"></select>
<%#= select_tag :branch, options_for_select([@source_project_name, @forked_project_name]), :name => "target_project", :value => "target_project",
:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetProject" %>
<%#= select_tag :branch, options_for_select(@source_rev), :name => "target_branch", :value => "target_branch",
:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetBranch" %>
<% end %>
<%= select_tag :branch, options_for_select(@rev), :name => "target_branch", :value => "target_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;", :id => "targetBranch" %>
<!--<select name="target_branch" value="source_branch" class="ml30 fontGrey3 fb fl"><option>master</option><option>hjq_course</option><option>hjq_beidou</option><option>develop</option><option>dev_huang</option></select>-->
<div class="cl"></div>
</div>

View File

@ -658,3 +658,25 @@ function search_tag_attachment(url,tag_name,q,course_id,sort)
}
}
function choice_branch(name, branch, source_rev, forked_rev) {
switch (name) {
case "source_project_name" :
alert(source_rev);
var branchOptions = source_rev;
break;
case "forked_project_name" :
alert(forked_rev);
var branchOptions = forked_rev;
break;
default:
var branchOptions = new Array("");
break;
}
branch.options.length = 0;
for (var i = 0; i < branchOptions.length; i++) {
branch.options[i] = new Option(branchOptions[i], branchOptions[i]);
}
}