Commit header improved. finalize PR 667
This commit is contained in:
		
							parent
							
								
									a7ed8276d7
								
							
						
					
					
						commit
						c0df0cd70c
					
				|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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] << "…".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) | ||||||
|  |       "…".html_safe << safe_message[70..-1] | ||||||
|  |     else | ||||||
|  |       safe_message.split(/\n/, 2)[1].try(:chomp) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   def breadcrumbs |   def breadcrumbs | ||||||
| 
 | 
 | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -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] << "…".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) |  | ||||||
|       "…".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 | ||||||
|  |  | ||||||
|  | @ -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 |             → | ||||||
|       %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" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue