Merge commit 'master' into discussions
Conflicts: app/assets/stylesheets/sections/notes.scss app/contexts/notes/load_context.rb app/models/project.rb app/observers/note_observer.rb app/roles/votes.rb app/views/commit/show.html.haml app/views/merge_requests/_show.html.haml app/views/merge_requests/diffs.js.haml app/views/merge_requests/show.js.haml app/views/notes/_note.html.haml features/steps/project/project_merge_requests.rb spec/models/note_spec.rb
This commit is contained in:
commit
3022786948
930 changed files with 80374 additions and 103682 deletions
20
app/views/merge_requests/_filter.html.haml
Normal file
20
app/views/merge_requests/_filter.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
|||
= form_tag project_issues_path(@project), method: 'get' do
|
||||
%fieldset
|
||||
%ul.nav.nav-pills.nav-stacked
|
||||
%li{class: ("active" if (params[:f] == 'open' || !params[:f]))}
|
||||
= link_to project_merge_requests_path(@project, f: 'open', milestone_id: params[:milestone_id]) do
|
||||
Open
|
||||
%li{class: ("active" if params[:f] == "closed")}
|
||||
= link_to project_merge_requests_path(@project, f: "closed", milestone_id: params[:milestone_id]) do
|
||||
Closed
|
||||
%li{class: ("active" if params[:f] == 'assigned-to-me')}
|
||||
= link_to project_merge_requests_path(@project, f: 'assigned-to-me', milestone_id: params[:milestone_id]) do
|
||||
Assigned To Me
|
||||
%li{class: ("active" if params[:f] == 'all')}
|
||||
= link_to project_merge_requests_path(@project, f: 'all', milestone_id: params[:milestone_id]) do
|
||||
All
|
||||
|
||||
%fieldset
|
||||
%hr
|
||||
= link_to "Reset", project_merge_requests_path(@project), class: 'btn right'
|
||||
|
|
@ -1,54 +1,59 @@
|
|||
= form_for [@project, @merge_request], html: { class: "new_merge_request form-horizontal" } do |f|
|
||||
= form_for [@project, @merge_request], html: { class: "#{controller.action_name}-merge-request form-horizontal" } do |f|
|
||||
-if @merge_request.errors.any?
|
||||
.alert-message.block-message.error
|
||||
%ul
|
||||
- @merge_request.errors.full_messages.each do |msg|
|
||||
%li= msg
|
||||
|
||||
%h4.cdark 1. Select Branches
|
||||
%br
|
||||
%fieldset
|
||||
%legend 1. Select Branches
|
||||
|
||||
.row
|
||||
.span5
|
||||
.mr_branch_box
|
||||
%h5 From (Head Branch)
|
||||
.body
|
||||
.padded= f.select(:source_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span4'})
|
||||
.mr_source_commit
|
||||
.row
|
||||
.span5
|
||||
.mr_branch_box
|
||||
%h5.cgray From (Head Branch)
|
||||
.body
|
||||
.padded= f.select(:source_branch, @repository.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span4'})
|
||||
.mr_source_commit
|
||||
|
||||
.span2
|
||||
%center= image_tag "merge.png", class: 'mr_direction_tip'
|
||||
.span5
|
||||
.mr_branch_box
|
||||
%h5 To (Base Branch)
|
||||
.body
|
||||
.padded= f.select(:target_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span4'})
|
||||
.mr_target_commit
|
||||
.span2
|
||||
%center= image_tag "merge.png", class: 'mr_direction_tip'
|
||||
.span5
|
||||
.mr_branch_box
|
||||
%h5.cgray To (Base Branch)
|
||||
.body
|
||||
.padded= f.select(:target_branch, @repository.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span4'})
|
||||
.mr_target_commit
|
||||
|
||||
%h4.cdark 2. Fill info
|
||||
%fieldset
|
||||
%legend 2. Fill info
|
||||
|
||||
.clearfix
|
||||
.merge_requests_form_box
|
||||
.top_box_content
|
||||
= f.label :title do
|
||||
%strong= "Title *"
|
||||
.input= f.text_field :title, class: "input-xxlarge pad js-gfm-input", maxlength: 255, rows: 5, required: true
|
||||
.merge_requests_middle_box
|
||||
.merge_requests_assignee
|
||||
= f.label :assignee_id do
|
||||
%i.icon-user
|
||||
Assign to
|
||||
.input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, {class: 'chosen span3'})
|
||||
.merge_requests_milestone
|
||||
= f.label :milestone_id do
|
||||
%i.icon-time
|
||||
Milestone
|
||||
.input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { include_blank: "Select milestone" }, {class: 'chosen'})
|
||||
.ui-box.ui-box-show
|
||||
.ui-box-head
|
||||
.clearfix
|
||||
= f.label :title do
|
||||
%strong= "Title *"
|
||||
.input= f.text_field :title, class: "input-xxlarge pad js-gfm-input", maxlength: 255, rows: 5, required: true
|
||||
.ui-box-body
|
||||
.clearfix
|
||||
.left
|
||||
= f.label :assignee_id do
|
||||
%i.icon-user
|
||||
Assign to
|
||||
.input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, {class: 'chosen span3'})
|
||||
.left
|
||||
= f.label :milestone_id do
|
||||
%i.icon-time
|
||||
Milestone
|
||||
.input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { include_blank: "Select milestone" }, {class: 'chosen'})
|
||||
|
||||
.control-group
|
||||
|
||||
.form-actions
|
||||
= f.submit 'Save', class: "btn save-btn"
|
||||
- if @merge_request.new_record?
|
||||
= f.submit 'Submit merge request', class: "btn success"
|
||||
-else
|
||||
= f.submit 'Save changes', class: "save-btn btn"
|
||||
- if @merge_request.new_record?
|
||||
= link_to project_merge_requests_path(@project), class: "btn cancel-btn" do
|
||||
Cancel
|
||||
|
@ -59,8 +64,9 @@
|
|||
:javascript
|
||||
$(function(){
|
||||
disableButtonIfEmptyField("#merge_request_title", ".save-btn");
|
||||
var source_branch = $("#merge_request_source_branch");
|
||||
var target_branch = $("#merge_request_target_branch");
|
||||
|
||||
var source_branch = $("#merge_request_source_branch")
|
||||
, target_branch = $("#merge_request_target_branch");
|
||||
|
||||
$.get("#{branch_from_project_merge_requests_path(@project)}", {ref: source_branch.val() });
|
||||
$.get("#{branch_to_project_merge_requests_path(@project)}", {ref: target_branch.val() });
|
||||
|
|
|
@ -1,31 +1,33 @@
|
|||
= render "merge_requests/show/mr_title"
|
||||
= render "merge_requests/show/how_to_merge"
|
||||
= render "merge_requests/show/mr_box"
|
||||
= render "merge_requests/show/mr_accept"
|
||||
- if @project.gitlab_ci?
|
||||
= render "merge_requests/show/mr_ci"
|
||||
= render "merge_requests/show/commits"
|
||||
.merge-request
|
||||
= render "merge_requests/show/mr_title"
|
||||
= render "merge_requests/show/how_to_merge"
|
||||
= render "merge_requests/show/mr_box"
|
||||
= render "merge_requests/show/mr_accept"
|
||||
- if @project.gitlab_ci?
|
||||
= render "merge_requests/show/mr_ci"
|
||||
= render "merge_requests/show/commits"
|
||||
|
||||
- if @commits.present?
|
||||
%ul.nav.nav-tabs.mr_nav_tabs
|
||||
%li
|
||||
= link_to "#notes", title: "Discussion", "data-url" => project_merge_request_path(@project, @merge_request), class: "merge-notes-tab tab" do
|
||||
%i.icon-comments
|
||||
Discussion
|
||||
%li
|
||||
= link_to "#diffs", title: "Diff", "data-url" => diffs_project_merge_request_path(@project, @merge_request), class: "merge-diffs-tab tab" do
|
||||
%i.icon-list-alt
|
||||
Diff
|
||||
- if @commits.present?
|
||||
%ul.nav.nav-tabs
|
||||
%li.notes-tab{data: {action: 'notes'}}
|
||||
= link_to project_merge_request_path(@project, @merge_request) do
|
||||
%i.icon-comment
|
||||
Discussion
|
||||
%li.diffs-tab{data: {action: 'diffs'}}
|
||||
= link_to diffs_project_merge_request_path(@project, @merge_request) do
|
||||
%i.icon-list-alt
|
||||
Diff
|
||||
|
||||
.merge_request_notes.voting_notes#notes{ class: (controller.action_name == 'show') ? "" : "hide" }
|
||||
= render "notes/notes_with_form"
|
||||
.merge-request-diffs
|
||||
= render "merge_requests/show/diffs" if @diffs
|
||||
.status
|
||||
.notes.tab-content.voting_notes#notes{ class: (controller.action_name == 'show') ? "" : "hide" }
|
||||
= render "notes/notes_with_form"
|
||||
.diffs.tab-content
|
||||
= render "merge_requests/show/diffs" if @diffs
|
||||
.status
|
||||
|
||||
:javascript
|
||||
var merge_request;
|
||||
$(function(){
|
||||
MergeRequest.init({
|
||||
merge_request = new MergeRequest({
|
||||
url_to_automerge_check: "#{automerge_check_project_merge_request_path(@project, @merge_request)}",
|
||||
check_enable: #{@merge_request.state == MergeRequest::UNCHECKED ? "true" : "false"},
|
||||
url_to_ci_check: "#{ci_status_project_merge_request_path(@project, @merge_request)}",
|
||||
|
@ -33,10 +35,5 @@
|
|||
current_state: "#{@merge_request.human_state}",
|
||||
action: "#{controller.action_name}"
|
||||
});
|
||||
|
||||
$(".edit_merge_request").live("ajax:beforeSend", function() {
|
||||
$('.can_be_merged').hide();
|
||||
$('.merge_in_progress').show();
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
location.reload();
|
||||
-else
|
||||
:plain
|
||||
MergeRequest.already_cannot_be_merged()
|
||||
merge_request.alreadyOrCannotBeMerged()
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
:plain
|
||||
$(".merge-request-commits").html("#{escape_javascript(render(partial: "commits"))}");
|
||||
merge_request.$(".commits").html("#{escape_javascript(render(partial: "commits"))}");
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
:plain
|
||||
$(".merge-request-diffs").html("#{escape_javascript(render(partial: "merge_requests/show/diffs"))}");
|
||||
|
||||
merge_request.$(".diffs").html("#{escape_javascript(render(partial: "merge_requests/show/diffs"))}");
|
||||
|
|
|
@ -1,48 +1,35 @@
|
|||
- if can? current_user, :write_issue, @project
|
||||
= link_to new_project_merge_request_path(@project), class: "right btn primary", title: "New Merge Request" do
|
||||
%i.icon-plus
|
||||
New Merge Request
|
||||
%h3.page_title
|
||||
Merge Requests
|
||||
- if can? current_user, :write_issue, @project
|
||||
= link_to new_project_merge_request_path(@project), class: "right btn", title: "New Merge Request" do
|
||||
New Merge Request
|
||||
|
||||
%br
|
||||
|
||||
|
||||
.ui-box
|
||||
.title
|
||||
.left
|
||||
%ul.nav.nav-pills
|
||||
%li{class: ("active" if (params[:f] == 'open' || !params[:f]))}
|
||||
= link_to project_merge_requests_path(@project, f: 'open', milestone_id: params[:milestone_id]) do
|
||||
Open
|
||||
%li{class: ("active" if params[:f] == "closed")}
|
||||
= link_to project_merge_requests_path(@project, f: "closed", milestone_id: params[:milestone_id]) do
|
||||
Closed
|
||||
%li{class: ("active" if params[:f] == 'assigned-to-me')}
|
||||
= link_to project_merge_requests_path(@project, f: 'assigned-to-me', milestone_id: params[:milestone_id]) do
|
||||
To Me
|
||||
%li{class: ("active" if params[:f] == 'all')}
|
||||
= link_to project_merge_requests_path(@project, f: 'all', milestone_id: params[:milestone_id]) do
|
||||
All
|
||||
.right
|
||||
= form_tag project_merge_requests_path(@project), id: "merge_requests_search_form", method: :get, class: :right do
|
||||
= select_tag(:assignee_id, options_from_collection_for_select([unassigned_filter] + @project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee")
|
||||
= select_tag(:milestone_id, options_from_collection_for_select([unassigned_filter] + @project.milestones.order("id desc").all, "id", "title", params[:milestone_id]), prompt: "Milestone")
|
||||
= hidden_field_tag :f, params[:f]
|
||||
.clearfix
|
||||
.row
|
||||
.span3
|
||||
= render 'filter', entity: 'issue'
|
||||
.span9
|
||||
.ui-box
|
||||
.title
|
||||
= form_tag project_merge_requests_path(@project), id: "merge_requests_search_form", method: :get, class: :left do
|
||||
= select_tag(:assignee_id, options_from_collection_for_select([unassigned_filter] + @project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee")
|
||||
= select_tag(:milestone_id, options_from_collection_for_select([unassigned_filter] + @project.milestones.order("id desc").all, "id", "title", params[:milestone_id]), prompt: "Milestone")
|
||||
= hidden_field_tag :f, params[:f]
|
||||
.clearfix
|
||||
|
||||
%ul.well-list
|
||||
= render @merge_requests
|
||||
- if @merge_requests.blank?
|
||||
%li
|
||||
%h4.nothing_here_message Nothing to show here
|
||||
- if @merge_requests.present?
|
||||
%li.bottom
|
||||
.row
|
||||
.span7= paginate @merge_requests, theme: "gitlab"
|
||||
.span4.right
|
||||
%span.cgray.right #{@merge_requests.total_count} merge requests for this filter
|
||||
%ul.well-list
|
||||
= render @merge_requests
|
||||
- if @merge_requests.blank?
|
||||
%li
|
||||
%h4.nothing_here_message Nothing to show here
|
||||
- if @merge_requests.present?
|
||||
%li.bottom
|
||||
.left= paginate @merge_requests, theme: "gitlab"
|
||||
.right
|
||||
%span.cgray.right #{@merge_requests.total_count} merge requests for this filter
|
||||
|
||||
:javascript
|
||||
$(function() {
|
||||
merge_requestsPage();
|
||||
})
|
||||
$(merge_requestsPage);
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
:plain
|
||||
$(".merge-request-notes").html("#{escape_javascript(render notes/notes_with_form")}");
|
||||
merge_request.$(".notes").html("#{escape_javascript(render "notes/notes_with_form")}");
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
- if @commits.present?
|
||||
.ui-box
|
||||
%h5
|
||||
%h5.title
|
||||
%i.icon-list
|
||||
Commits (#{@commits.count})
|
||||
.merge-request-commits
|
||||
.commits
|
||||
- if @commits.count > 8
|
||||
%ul.first_mr_commits.well-list
|
||||
%ul.first-commits.well-list
|
||||
- @commits.first(8).each do |commit|
|
||||
= render "commits/commit", commit: commit
|
||||
%li.bottom
|
||||
8 of #{@commits.count} commits displayed.
|
||||
%strong
|
||||
%a.mr_show_all_commits Click here to show all
|
||||
%ul.all_mr_commits.hide.well-list
|
||||
%a.show-all-commits Click here to show all
|
||||
%ul.all-commits.hide.well-list
|
||||
- @commits.each do |commit|
|
||||
= render "commits/commit", commit: commit
|
||||
|
||||
|
|
|
@ -9,19 +9,24 @@
|
|||
%span
|
||||
= form_for [:automerge, @project, @merge_request], remote: true, method: :get do |f|
|
||||
%p
|
||||
You can accept this request automatically.
|
||||
If you still want to do it manually -
|
||||
You can accept this request automatically.
|
||||
If you still want to do it manually -
|
||||
%strong= link_to "click here", "#", class: "how_to_merge_link vlink", title: "How To Merge"
|
||||
for instructions
|
||||
.accept_group
|
||||
= f.submit "Accept Merge Request", class: "btn small success accept_merge_request"
|
||||
- unless @project.root_ref? @merge_request.source_branch
|
||||
= f.submit "Accept Merge Request", class: "btn success accept_merge_request"
|
||||
- unless @project.root_ref? @merge_request.source_branch
|
||||
.remove_branch_holder
|
||||
= label_tag :should_remove_source_branch, class: "checkbox" do
|
||||
= label_tag :should_remove_source_branch, class: "checkbox" do
|
||||
= check_box_tag :should_remove_source_branch
|
||||
Remove source-branch
|
||||
.clearfix
|
||||
|
||||
|
||||
|
||||
.automerge_widget.no_satellite{style: "display:none"}
|
||||
.alert.alert-error
|
||||
%span
|
||||
%strong This repository does not have satellite. Ask administrator to fix this issue
|
||||
|
||||
.automerge_widget.cannot_be_merged{style: "display:none"}
|
||||
.alert.alert-info
|
||||
|
@ -40,6 +45,6 @@
|
|||
.alert.alert-info
|
||||
%strong This merge request already can not be merged. Try to reload page.
|
||||
|
||||
.merge_in_progress.hide
|
||||
.merge-in-progress.hide
|
||||
%span.cgray Merge is in progress. Please wait. Page will be automatically reloaded.
|
||||
= image_tag "ajax_loader.gif"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.main_box
|
||||
.top_box_content
|
||||
.ui-box.ui-box-show
|
||||
.ui-box-head
|
||||
%h4.box-title
|
||||
- if @merge_request.merged
|
||||
.error.status_info
|
||||
|
@ -9,7 +9,7 @@
|
|||
.error.status_info Closed
|
||||
= gfm escape_once(@merge_request.title)
|
||||
|
||||
.middle_box_content
|
||||
.ui-box-body
|
||||
%div
|
||||
%cite.cgray
|
||||
Created at #{@merge_request.created_at.stamp("Aug 21, 2011")} by #{link_to_member(@project, @merge_request.author)}
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
|
||||
- if @merge_request.closed
|
||||
.bottom_box_content
|
||||
.ui-box-bottom
|
||||
- if @merge_request.merged?
|
||||
%span
|
||||
Merged by #{link_to_member(@project, @merge_request.merge_event.author)}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue