Commit afe98ae74ab13d11908e74ada1d10dccc333228b

Authored by gitlabhq
1 parent 5baa5fad

Issue #149 fixed

app/views/commits/_commits.html.haml
... ... @@ -11,7 +11,7 @@
11 11 = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
12 12 %p
13 13 %strong
14   - = commit.truncated_message
  14 + = truncate(commit.safe_message, :length => 60)
15 15 = link_to "Browse Code", tree_project_path(@project, :commit_id => commit.id), :class => "lite_button", :style => "float:right"
16 16 = link_to truncate(commit.id.to_s, :length => 16), project_commit_path(@project, :id => commit.id), :class => "lite_button", :style => "width:120px;float:right"
17 17 %span
... ...
app/views/commits/show.html.haml
1 1 %h3
2   - = "[ #{@commit.committer} ] #{@commit.truncated_message(40)}"
  2 + = "[ #{@commit.committer} ] #{truncate(@commit.safe_message)}"
3 3 -#= link_to 'Back', project_commits_path(@project), :class => "button"
4 4 %table.round-borders
5 5 %tr
... ... @@ -16,7 +16,7 @@
16 16 %td= @commit.committed_date
17 17 %tr
18 18 %td Message
19   - %td= @commit.message
  19 + %td= @commit.safe_message
20 20 %tr
21 21 %td Tree
22 22 %td= link_to 'Browse Code', tree_project_path(@project, :commit_id => @commit.id)
... ...
app/views/projects/_recent_commits.html.haml
... ... @@ -6,7 +6,7 @@
6 6 = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
7 7 %p{:style => "margin-bottom: 3px;"}
8 8 %strong
9   - = link_to commit.truncated_message(60), project_commit_path(@project, :id => commit.id)
  9 + = link_to truncate(commit.safe_message, :length => 60), project_commit_path(@project, :id => commit.id)
10 10  
11 11 %span
12 12 %span.author
... ...
app/views/projects/_recent_messages.html.haml
... ... @@ -19,7 +19,7 @@
19 19 - css_class = "dash_commit"
20 20 - commit = parent
21 21 - item_code = commit.author.email
22   - - link_item_name = commit.truncated_message(50)
  22 + - link_item_name = truncate(commit.safe_message, :length => 50)
23 23 - link_to_item = project_commit_path(@project, :id => commit.id)
24 24 - else
25 25 - css_class = "dash_wall"
... ...
app/views/projects/_tree_item.html.haml
... ... @@ -12,4 +12,4 @@
12 12 = time_ago_in_words(content_commit.committed_date)
13 13 ago
14 14 %td
15   - = link_to content_commit.truncated_message(40), project_commit_path(@project, content_commit)
  15 + = link_to truncate(content_commit.safe_message, :length => 40), project_commit_path(@project, content_commit)
... ...
lib/commit_ext.rb
1 1 module CommitExt
2   - # Cause of encoding rails truncate raise error
3   - # this method is temporary decision
4   - def truncated_message(size = 80)
5   - message.length > size ? (message[0..(size - 1)] + "...") : message
  2 + def safe_message
  3 + message.encode("UTF-8",
  4 + :invalid => :replace,
  5 + :undef => :replace,
  6 + :universal_newline => true,
  7 + :replace => "")
6 8 rescue
7 9 "-- invalid encoding for commit message"
8 10 end
... ...
spec/requests/team_members_spec.rb
... ... @@ -10,7 +10,9 @@ describe "TeamMembers" do
10 10 describe "View profile" do
11 11 it "should be available" do
12 12 visit(team_project_path(@project))
13   - find(:xpath, "//table[@id='team-table']//a[1]").click
  13 + within "#team-table" do
  14 + click_link(@user.name)
  15 + end
14 16 page.should have_content @user.skype
15 17 page.should_not have_content 'Twitter'
16 18 end
... ...