Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-03-14 01:54:49 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-03-14 01:54:49 +0400
commit3676838dc96bbe1c8c7eec7e6ca545c462dfc12d (patch)
tree28659c8fcb8f938f607676d79bc95950b5837b60 /app
parent781f5aa6fb25b4aed91f711daefdae4bce8d968b (diff)
Rspec test repo replaced.\nMerge Requests improved
Diffstat (limited to 'app')
-rw-r--r--app/assets/stylesheets/common.scss24
-rw-r--r--app/controllers/merge_requests_controller.rb8
-rw-r--r--app/models/merge_request.rb8
-rw-r--r--app/views/merge_requests/_form.html.haml18
-rw-r--r--app/views/merge_requests/branch_from.js.haml2
-rw-r--r--app/views/merge_requests/branch_to.js.haml3
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)}");
+