var MergeRequest = {
- diff_loaded: false,
+ diffs_loaded: false,
commits_loaded: false,
init:
$(this).addClass("active");
});
+ $(".merge-tabs a.merge-notes-tab").live("click", function() {
+ $(".merge-request-commits, .merge-request-diffs").hide();
+ $(".merge-request-notes").show();
+ });
+
$(".merge-tabs a.merge-commits-tab").live("click", function() {
- if(MergeRequest.commits_loaded) {
- $(".merge-request-commits").show();
- } else {
+ if(!MergeRequest.commits_loaded) {
MergeRequest.loadCommits();
}
+ $(".merge-request-notes, .merge-request-diffs").hide();
+ $(".merge-request-commits").show();
+ });
+
+ $(".merge-tabs a.merge-diffs-tab").live("click", function() {
+ if(!MergeRequest.diffs_loaded) {
+ MergeRequest.loadDiff();
+ }
+ $(".merge-request-notes, .merge-request-commits").hide();
+ $(".merge-request-diffs").show();
});
},
$(".dashboard-loader").show();
$.ajax({
type: "GET",
- url: location.href + "/commits",
+ url: $(".merge-commits-tab").attr("data-url"),
complete: function(){
MergeRequest.commits_loaded = true;
+ $(".merge-request-notes, .merge-request-diffs").hide();
$(".dashboard-loader").hide()},
dataType: "script"});
},
loadDiff:
function() {
+ $(".dashboard-loader").show();
+ $.ajax({
+ type: "GET",
+ url: $(".merge-diffs-tab").attr("data-url"),
+ complete: function(){
+ MergeRequest.diffs_loaded = true;
+ $(".merge-request-notes, .merge-request-commits").hide();
+ $(".dashboard-loader").hide()},
+ dataType: "script"});
}
}
-.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
+%div
+ %span.entity-info
+ - if can?(current_user, :admin_project, @project) || @merge_request.author == current_user
+ = link_to edit_project_merge_request_path(@project, @merge_request) do
+ .entity-button
+ Edit Merge Request
+ %i
+ = image_tag gravatar_icon(@merge_request.author_email), :class => "left", :width => 40, :style => "padding-right:5px;"
+ %span.commit-title
+ %strong
+ = "Merge Request ##{@merge_request.id}:"
+
+ .tag.commit.inline= @merge_request.source_branch
→
- = 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
+ .tag.commit.inline= @merge_request.target_branch
+ %span.commit-author
+ %strong
+ = link_to project_team_member_path(@project, @project.users_projects.find(@merge_request.author.id)) do
+ = @merge_request.author_name
+ →
+ = link_to project_team_member_path(@project, @project.users_projects.find(@merge_request.assignee.id)) do
+ = @merge_request.assignee_name
- .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"
+
+
+ = @merge_request.created_at.stamp("Aug 21, 2011 9:23pm")
+
+ %hr
+ %h3= @merge_request.title
.clear
%br
%br
-%ul.merge-tabs
- = link_to "Notes", "#", :class => "merge-notes-tab"
- = link_to "Commits","#", "data-url" => commits_project_merge_request_path(@project, @merge_request), :class => "merge-commits-tab"
- = link_to "Diff", diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab"
+.merge-tabs
+ = link_to "Notes", "#notes", :class => "merge-notes-tab active"
+ = link_to "Commits","#commits", "data-url" => commits_project_merge_request_path(@project, @merge_request), :class => "merge-commits-tab"
+ = link_to "Diff", "#diffs", "data-url" => diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab"
+ - if can?(current_user, :admin_project, @project) || @merge_request.author == current_user
+ .right
+ - if @merge_request.closed
+ = link_to 'Reopen', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => false }, :status_only => true), :method => :put, :class => "reopen-request"
+ - else
+ = link_to 'Close', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => true }, :status_only => true), :method => :put, :class => "close-request", :title => "Close merge request"
%img{:src => "/assets/ajax-loader-facebook.gif", :class => "dashboard-loader"}
.merge-request-notes
.clear
.merge-request-commits
-
.merge-request-diffs