diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-03-14 01:54:49 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-03-14 01:54:49 +0400 |
commit | 3676838dc96bbe1c8c7eec7e6ca545c462dfc12d (patch) | |
tree | 28659c8fcb8f938f607676d79bc95950b5837b60 /app | |
parent | 781f5aa6fb25b4aed91f711daefdae4bce8d968b (diff) |
Rspec test repo replaced.\nMerge Requests improved
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/stylesheets/common.scss | 24 | ||||
-rw-r--r-- | app/controllers/merge_requests_controller.rb | 8 | ||||
-rw-r--r-- | app/models/merge_request.rb | 8 | ||||
-rw-r--r-- | app/views/merge_requests/_form.html.haml | 18 | ||||
-rw-r--r-- | app/views/merge_requests/branch_from.js.haml | 2 | ||||
-rw-r--r-- | app/views/merge_requests/branch_to.js.haml | 3 |
6 files changed, 59 insertions, 4 deletions
diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index a13458aabf0..f6120e68db5 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -531,7 +531,7 @@ table a code { /** FLASH message **/ #flash_container { - height:45px; + height:50px; position:fixed; z-index:10001; top:0px; @@ -540,7 +540,7 @@ table a code { overflow:hidden; background:white; cursor:pointer; - border-bottom:1px solid #777; + border-bottom:1px solid #ccc; h4 { color:#444; @@ -901,3 +901,23 @@ p.time { margin:2px; } } + +.mr_source_commit , +.mr_target_commit { + .commit { + list-style:none; + margin-top:10px; + &:hover { + background:none; + } + } +} + +.prettyprint { + background-color: #fefbf3; + padding: 9px; + border: 1px solid rgba(0,0,0,.2); + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1); + box-shadow: 0 1px 2px rgba(0,0,0,.1); +} diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index bb13fecc946..d1d19efc98c 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -106,6 +106,14 @@ class MergeRequestsController < ApplicationController end end + def branch_from + @commit = project.commit(params[:ref]) + end + + def branch_to + @commit = project.commit(params[:ref]) + end + protected def merge_request diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 978727243f6..cd44a25fa82 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -12,6 +12,7 @@ class MergeRequest < ActiveRecord::Base validates_presence_of :author_id validates_presence_of :source_branch validates_presence_of :target_branch + validate :validate_branches delegate :name, :email, @@ -31,6 +32,13 @@ class MergeRequest < ActiveRecord::Base scope :closed, where(:closed => true) scope :assigned, lambda { |u| where(:assignee_id => u.id)} + + def validate_branches + if target_branch == source_branch + errors.add :base, "You can not use same branch for source and target branches" + end + end + def new? today? && created_at == updated_at end diff --git a/app/views/merge_requests/_form.html.haml b/app/views/merge_requests/_form.html.haml index c0440e07275..8ec3f63ca83 100644 --- a/app/views/merge_requests/_form.html.haml +++ b/app/views/merge_requests/_form.html.haml @@ -10,10 +10,14 @@ .input= f.text_area :title, :class => "xxlarge", :maxlength => 255, :rows => 5 .clearfix = f.label :source_branch, "From" - .input= f.select(:source_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px") + .input + = f.select(:source_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px") + .mr_source_commit .clearfix = f.label :target_branch, "To" - .input= f.select(:target_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px") + .input + = f.select(:target_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px") + .mr_target_commit .clearfix = f.label :assignee_id, "Assign to" .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }, :style => "width:250px") @@ -34,5 +38,15 @@ $('select#merge_request_assignee_id').chosen(); $('select#merge_request_source_branch').chosen(); $('select#merge_request_target_branch').chosen(); + + + + $("#merge_request_source_branch").live("change", function() { + $.get("#{branch_from_project_merge_requests_path(@project)}", {ref: $(this).val() }); + }); + + $("#merge_request_target_branch").live("change", function() { + $.get("#{branch_to_project_merge_requests_path(@project)}", {ref: $(this).val() }); + }); }); diff --git a/app/views/merge_requests/branch_from.js.haml b/app/views/merge_requests/branch_from.js.haml new file mode 100644 index 00000000000..3e278015b49 --- /dev/null +++ b/app/views/merge_requests/branch_from.js.haml @@ -0,0 +1,2 @@ +:plain + $(".mr_source_commit").html("#{escape_javascript(render 'commits/commit', :commit => @commit)}"); diff --git a/app/views/merge_requests/branch_to.js.haml b/app/views/merge_requests/branch_to.js.haml new file mode 100644 index 00000000000..1ab1f6c43a9 --- /dev/null +++ b/app/views/merge_requests/branch_to.js.haml @@ -0,0 +1,3 @@ +:plain + $(".mr_target_commit").html("#{escape_javascript(render 'commits/commit', :commit => @commit)}"); + |