Merge branch 'feature/merge_requests'
This commit is contained in:
commit
22ac0cc7eb
29 changed files with 531 additions and 42 deletions
|
@ -3,9 +3,9 @@
|
|||
= "Issue ##{@issue.id}"
|
||||
.right
|
||||
- if @issue.closed
|
||||
%span.tag.high Resolved
|
||||
%span.tag.closed Closed
|
||||
- else
|
||||
%span.tag.today Open
|
||||
%span.tag.open Open
|
||||
|
||||
.data
|
||||
%p= @issue.title
|
||||
|
@ -28,7 +28,7 @@
|
|||
- if @issue.closed
|
||||
= link_to 'Reopen', project_issue_path(@project, @issue, :issue => {:closed => false }, :status_only => true), :method => :put, :class => "grey-button"
|
||||
- else
|
||||
= link_to 'Resolve', project_issue_path(@project, @issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "grey-button"
|
||||
= link_to 'Close', project_issue_path(@project, @issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "grey-button"
|
||||
.right
|
||||
= link_to 'Edit', edit_project_issue_path(@project, @issue), :class => "grey-button positive"
|
||||
|
||||
|
|
|
@ -39,6 +39,10 @@
|
|||
Wall
|
||||
- if @project.common_notes.today.count > 0
|
||||
%span{ :class => "number" }= @project.common_notes.today.count
|
||||
= link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do
|
||||
Merge Requests
|
||||
- if @project.merge_requests.opened.count > 0
|
||||
%span{ :class => "number" }= @project.merge_requests.opened.count
|
||||
= link_to project_snippets_path(@project), :class => (controller.controller_name == "snippets") ? "current" : nil do
|
||||
Snippets
|
||||
- if @project.snippets.non_expired.count > 0
|
||||
|
|
17
app/views/merge_requests/_commits.html.haml
Normal file
17
app/views/merge_requests/_commits.html.haml
Normal file
|
@ -0,0 +1,17 @@
|
|||
- if @commits.size > 0
|
||||
.merge-request-commits.ui-box.width-100p
|
||||
- @commits.each do |commit|
|
||||
%a{ :class => "commit", :href => project_commit_path(@project, :id => commit.id) }
|
||||
- if commit.author_email
|
||||
= image_tag gravatar_icon(commit.author_email), :class => "left", :width => 40, :style => "padding-right:5px;"
|
||||
- else
|
||||
= image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
|
||||
%span.update-title
|
||||
= truncate commit.safe_message, :length => 60
|
||||
%span.update-author
|
||||
%strong= commit.author_name
|
||||
authored
|
||||
= time_ago_in_words(commit.created_at)
|
||||
ago
|
||||
.clear
|
||||
|
22
app/views/merge_requests/_diffs.html.haml
Normal file
22
app/views/merge_requests/_diffs.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
|||
- @diffs.each do |diff|
|
||||
- next if diff.diff.empty?
|
||||
- file = (@commit.tree / diff.b_path)
|
||||
- next unless file
|
||||
.diff_file
|
||||
.diff_file_header
|
||||
- if diff.deleted_file
|
||||
%strong{:id => "#{diff.b_path}"}= diff.a_path
|
||||
- else
|
||||
= link_to tree_file_project_ref_path(@project, @commit.id, diff.b_path) do
|
||||
%strong{:id => "#{diff.b_path}"}= diff.b_path
|
||||
%br/
|
||||
.diff_file_content
|
||||
- if file.text?
|
||||
= render :partial => "commits/text_file", :locals => { :diff => diff }
|
||||
- elsif file.image?
|
||||
.diff_file_content_image
|
||||
%img{:src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
|
||||
- else
|
||||
%p
|
||||
%center No preview for this file type
|
||||
|
39
app/views/merge_requests/_form.html.haml
Normal file
39
app/views/merge_requests/_form.html.haml
Normal file
|
@ -0,0 +1,39 @@
|
|||
%div.merge-request-form-holder
|
||||
.ui-box.width-100p
|
||||
%h3
|
||||
= @merge_request.new_record? ? "New Merge Request" : "Edit Merge Request ##{@merge_request.id}"
|
||||
= form_for [@project, @merge_request] do |f|
|
||||
.data
|
||||
%table.no-borders
|
||||
-if @merge_request.errors.any?
|
||||
%tr
|
||||
%td Errors
|
||||
%td
|
||||
#error_explanation
|
||||
- @merge_request.errors.full_messages.each do |msg|
|
||||
%span= msg
|
||||
%br
|
||||
|
||||
%tr
|
||||
%td= f.label :title
|
||||
%td= f.text_field :title
|
||||
%tr
|
||||
%td= f.label :source_branch, "From"
|
||||
%td= f.select(:source_branch, @project.heads.map(&:name), { :include_blank => "Select branch" })
|
||||
%tr
|
||||
%td= f.label :target_branch, "To"
|
||||
%td= f.select(:target_branch, @project.heads.map(&:name), { :include_blank => "Select branch" })
|
||||
%tr
|
||||
%td= f.label :assignee_id, "Assign to"
|
||||
%td= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" })
|
||||
.buttons
|
||||
= f.submit 'Save', :class => "grey-button"
|
||||
.right= link_to 'Back', project_merge_requests_path(@project), :class => "grey-button"
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
$('select#merge_request_assignee_id').chosen();
|
||||
$('select#merge_request_source_branch').chosen();
|
||||
$('select#merge_request_target_branch').chosen();
|
||||
});
|
||||
|
14
app/views/merge_requests/_merge_request.html.haml
Normal file
14
app/views/merge_requests/_merge_request.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
|||
%a.update-item{:href => project_merge_request_path(@project, merge_request)}
|
||||
= image_tag gravatar_icon(merge_request.author_email), :class => "left", :width => 40
|
||||
%span.update-title
|
||||
= merge_request.title
|
||||
%span.update-author
|
||||
%strong= merge_request.author_name
|
||||
authored
|
||||
= time_ago_in_words(merge_request.created_at)
|
||||
ago
|
||||
.right
|
||||
%span.tag.commit= merge_request.source_branch
|
||||
→
|
||||
%span.tag.commit= merge_request.target_branch
|
||||
|
1
app/views/merge_requests/edit.html.haml
Normal file
1
app/views/merge_requests/edit.html.haml
Normal file
|
@ -0,0 +1 @@
|
|||
= render 'form'
|
20
app/views/merge_requests/index.html.haml
Normal file
20
app/views/merge_requests/index.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
|||
- if @merge_requests.opened.count > 0
|
||||
%div{ :class => "update-data ui-box ui-box-small ui-box-big" }
|
||||
%h3
|
||||
%span.tag.open Open
|
||||
.data
|
||||
= render @merge_requests.opened
|
||||
|
||||
.clear
|
||||
%br
|
||||
|
||||
- if @merge_requests.closed.count > 0
|
||||
%div{ :class => "update-data ui-box ui-box-small ui-box-big" }
|
||||
%h3
|
||||
%span.tag.closed Closed
|
||||
.data
|
||||
= render @merge_requests.closed
|
||||
.clear
|
||||
%br
|
||||
|
||||
= link_to 'New Merge request', new_project_merge_request_path(@project), :class => "grey-button"
|
1
app/views/merge_requests/new.html.haml
Normal file
1
app/views/merge_requests/new.html.haml
Normal file
|
@ -0,0 +1 @@
|
|||
= render 'form'
|
59
app/views/merge_requests/show.html.haml
Normal file
59
app/views/merge_requests/show.html.haml
Normal file
|
@ -0,0 +1,59 @@
|
|||
.merge-request-show-holder.ui-box.width-100p
|
||||
%h3
|
||||
= "Merge Request ##{@merge_request.id}:"
|
||||
|
||||
.tag.commit.inline= @merge_request.source_branch
|
||||
→
|
||||
.tag.commit.inline= @merge_request.target_branch
|
||||
.right
|
||||
- if @merge_request.closed
|
||||
%span.tag.high Closed
|
||||
- else
|
||||
%span.tag.today Open
|
||||
|
||||
.data
|
||||
%p= @merge_request.title
|
||||
|
||||
- if @merge_request.author == @merge_request.assignee
|
||||
= image_tag gravatar_icon(@merge_request.assignee_email), :width => 20, :style => "padding:0 5px;"
|
||||
= @merge_request.assignee_name
|
||||
- else
|
||||
= image_tag gravatar_icon(@merge_request.author_email), :width => 20, :style => "padding:0 5px;"
|
||||
= @merge_request.author_name
|
||||
→
|
||||
= image_tag gravatar_icon(@merge_request.assignee_email), :width => 20, :style => "padding:0 5px;"
|
||||
= @merge_request.assignee_name
|
||||
.right
|
||||
%cite.cgray= @merge_request.created_at.stamp("21 Aug 2011, 11:15pm")
|
||||
.clear
|
||||
|
||||
.buttons
|
||||
- if can? current_user, :write_project, @project
|
||||
- if @merge_request.closed
|
||||
= link_to 'Reopen', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => false }, :status_only => true), :method => :put, :class => "grey-button"
|
||||
- else
|
||||
= link_to 'Close', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => true }, :status_only => true), :method => :put, :class => "grey-button"
|
||||
.right
|
||||
= link_to 'Edit', edit_project_merge_request_path(@project, @merge_request), :class => "grey-button positive"
|
||||
|
||||
.clear
|
||||
%br
|
||||
%br
|
||||
|
||||
#gitlab-tabs
|
||||
%ul
|
||||
%li= link_to "Notes", "#merge-notes"
|
||||
%li= link_to "Commits", commits_project_merge_request_path(@project, @merge_request)
|
||||
%li= link_to "Diff", diffs_project_merge_request_path(@project, @merge_request)
|
||||
|
||||
#merge-notes
|
||||
.issue_notes= render "notes/notes"
|
||||
.loading{ :style => "display:none;"}
|
||||
%center= image_tag "ajax-loader.gif"
|
||||
.clear
|
||||
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
$("#gitlab-tabs").tabs();
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue