Commit header improved. finalize PR 667

This commit is contained in:
Dmitriy Zaporozhets 2012-04-16 01:10:09 +03:00
parent a7ed8276d7
commit c0df0cd70c
6 changed files with 99 additions and 100 deletions

View file

@ -745,7 +745,7 @@ p.time {
.top_box_content, .top_box_content,
.middle_box_content, .middle_box_content,
.bottom_box_content { .bottom_box_content {
padding:20px; padding:15px;
pre { pre {
background: none !important; background: none !important;

View file

@ -1,58 +1,54 @@
.commit-head { .commit-box {
@extend .main_box; @extend .main_box;
padding: 14px; .commit-head {
padding-bottom: 8px; @extend .top_box_content;
line-height: 24px;
.browse-button { .commit-title {
@extend .btn; line-height: 26px;
@extend .btn-small; margin:0;
float: right; }
}
.commit-title { .commit-description {
line-height: 26px; font-size: 14px;
} border: none;
background-color: white;
padding-top:10px;
}
.commit-description { .browse-button {
font-size: 14px; @extend .btn;
padding: 0px; @extend .btn-small;
padding-bottom: 4px; float: right;
border: none; }
background-color: white;
} }
.commit-info { .commit-info {
@extend .middle_box_content; @extend .middle_box_content;
@extend .clearfix; @extend .clearfix;
padding-bottom: 8px; .sha-block {
padding-top: 8px; text-align:right;
&:first-child {
padding-bottom:6px;
}
margin-left: -14px; a {
margin-right: -14px; border-bottom: 1px solid #aaa;
margin-bottom: -8px; margin-left: 9px;
}
}
.author .name, .committer .name { &.merge-commit .sha-block {
font-weight: bold; clear: right;
}
.committer {
padding-left: 32px;
}
.avatar {
margin-right: 10px;
} }
} }
.sha-block {
float: right;
margin-left: 10px
}
&.merge-commit .sha-block {
clear: right;
}
.committer {
padding-left: 32px;
}
.avatar {
margin-right: 4px;
}
} }

View file

@ -29,6 +29,8 @@ class CommitsController < ApplicationController
git_not_found! and return unless @commit git_not_found! and return unless @commit
@commit = CommitDecorator.decorate(@commit)
@note = @project.build_commit_note(@commit) @note = @project.build_commit_note(@commit)
@comments_allowed = true @comments_allowed = true
@line_notes = project.commit_line_notes(@commit) @line_notes = project.commit_line_notes(@commit)

View file

@ -1,6 +1,32 @@
class CommitDecorator < ApplicationDecorator class CommitDecorator < ApplicationDecorator
decorates :commit decorates :commit
# Returns the commits title.
#
# Usually, the commit title is the first line of the commit message.
# In case this first line is longer than 80 characters, it is cut off
# after 70 characters and ellipses (`&hellp;`) are appended.
def title
title_end = safe_message.index(/\n/)
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
safe_message[0..69] << "&hellip;".html_safe
else
safe_message.split(/\n/, 2).first
end
end
# Returns the commits description
#
# cut off, ellipses (`&hellp;`) are prepended to the commit message.
def description
title_end = safe_message.index(/\n/)
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
"&hellip;".html_safe << safe_message[70..-1]
else
safe_message.split(/\n/, 2)[1].try(:chomp)
end
end
def breadcrumbs def breadcrumbs
end end

View file

@ -106,36 +106,6 @@ class Commit
utf8 author.name utf8 author.name
end end
# Returns the commits title.
#
# Usually, the commit title is the first line of the commit message.
# In case this first line is longer than 80 characters, it is cut off
# after 70 characters and ellipses (`&hellp;`) are appended.
#
# @todo This might be better placed in a view helper.
def title
title_end = safe_message.index(/\n/)
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
safe_message[0..69] << "&hellip;".html_safe
else
safe_message.split(/\n/, 2).first
end
end
# Returns the commits description
#
# cut off, ellipses (`&hellp;`) are prepended to the commit message.
#
# @todo This might be better placed in a view helper.
def description
title_end = safe_message.index(/\n/)
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
"&hellip;".html_safe << safe_message[70..-1]
else
safe_message.split(/\n/, 2)[1].try(:chomp)
end
end
# Was this commit committed by a different person than the original author? # Was this commit committed by a different person than the original author?
def different_committer? def different_committer?
author_name != committer_name || author_email != committer_email author_name != committer_name || author_email != committer_email

View file

@ -1,30 +1,35 @@
.commit-head{class: @commit.parents.count > 1 ? "merge-commit" : ""} .commit-box{class: @commit.parents.count > 1 ? "merge-commit" : ""}
= link_to "Browse Code »", tree_project_ref_path(@project, @commit.id), :class => "browse-button" .commit-head
%h3.commit-title = link_to "Browse Code »", tree_project_ref_path(@project, @commit.id), :class => "browse-button"
= commit_msg_with_link_to_issues(@project, @commit.title) %h3.commit-title
- if @commit.description.present? = commit_msg_with_link_to_issues(@project, @commit.title)
%pre.commit-description - if @commit.description.present?
= commit_msg_with_link_to_issues(@project, @commit.description) %pre.commit-description
= commit_msg_with_link_to_issues(@project, @commit.description)
.commit-info .commit-info
%span.sha-block .row
commit .span4
%code= @commit.id = image_tag gravatar_icon(@commit.author_email, 40), :class => "avatar"
%span.sha-block .author
= pluralize(@commit.parents.count, "parent") %strong= @commit.author_name
- @commit.parents.each do |parent| authored
%code= link_to parent.id, project_commit_path(@project, parent) %time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")}
.author #{time_ago_in_words(@commit.authored_date)} ago
= image_tag gravatar_icon(@commit.author_email, 24), :class => "avatar", :height => 24, :width => 24 - if @commit.different_committer?
%span.name= @commit.author_name .committer
authored &rarr;
%time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")} %strong= @commit.committer_name
#{time_ago_in_words(@commit.authored_date)} ago committed
- if @commit.different_committer? %time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")}
.committer #{time_ago_in_words(@commit.committed_date)} ago
%span.name= @commit.committer_name .span7.right
committed .sha-block
%time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")} %span.cgray commit
#{time_ago_in_words(@commit.committed_date)} ago %code= @commit.id
.sha-block
%span.cgray= pluralize(@commit.parents.count, "parent")
- @commit.parents.each do |parent|
= link_to parent.id[0...10], project_commit_path(@project, parent)
= render "commits/diffs", :diffs => @commit.diffs = render "commits/diffs", :diffs => @commit.diffs
= render "notes/notes", :tid => @commit.id, :tt => "commit" = render "notes/notes", :tid => @commit.id, :tt => "commit"