OSDN Git Service

switch to use link_to_member to prevent 500 if user is a project owner but does not...
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 17 Jan 2013 20:35:45 +0000 (22:35 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 17 Jan 2013 20:35:45 +0000 (22:35 +0200)
app/assets/stylesheets/gitlab_bootstrap/common.scss
app/assets/stylesheets/sections/notes.scss
app/helpers/projects_helper.rb
app/views/notes/_discussion.html.haml
app/views/notes/_note.html.haml

index f088766..2b3d14a 100644 (file)
@@ -60,7 +60,7 @@
     > a {
       padding: 8px 20px;
       margin-right: 7px;
-      line-height: 19px;
+      line-height: 20px;
       border-color: #EEE;
       color: #888;
       border-bottom: 1px solid #ddd;
index 3a1b650..a7fadd4 100644 (file)
@@ -22,7 +22,7 @@ ul.notes {
     .note-last-update {
       font-style: italic;
     }
-    .note-author {
+    .author {
       color: $style_color;
       font-weight: bold;
       &:hover {
index f732579..158925b 100644 (file)
@@ -20,16 +20,21 @@ module ProjectsHelper
     end
   end
 
-  def link_to_member(project, author)
+  def link_to_member(project, author, opts = {})
+    default_opts = { avatar: true }
+    opts = default_opts.merge(opts)
+
     return "(deleted)" unless author
 
+    author_html =  ""
+
     # Build avatar image tag
-    avatar = image_tag(gravatar_icon(author.try(:email)), width: 16, class: "lil_av")
+    author_html << image_tag(gravatar_icon(author.try(:email)), width: 16, class: "lil_av") if opts[:avatar]
 
     # Build name span tag
-    name = content_tag :span, author.name, class: 'author'
+    author_html << content_tag(:span, sanitize(author.name), class: 'author')
 
-    author_html = avatar + name
+    author_html = author_html.html_safe
 
     tm = project.team_member_by_id(author)
 
@@ -37,7 +42,7 @@ module ProjectsHelper
       link_to author_html, project_team_member_path(project, tm), class: "author_link"
     else
       author_html
-    end
+    end.html_safe
   end
 
   def tm_path team_member
index 093775f..a9a11fc 100644 (file)
@@ -10,7 +10,7 @@
         Show discussion
     = image_tag gravatar_icon(note.author.email), class: "avatar s32"
     %div
-      = link_to note.author_name, project_team_member_path(@project, @project.team_member_by_id(note.author)), class: "note-author"
+      = link_to_member(@project, note.author, avatar: false)
       - if note.for_merge_request?
         - if note.diff
           started a discussion on this merge request diff
@@ -30,7 +30,7 @@
     %div
       - last_note = discussion_notes.last
       last updated by
-      = link_to last_note.author_name, project_team_member_path(@project, @project.team_member_by_id(last_note.author)), class: "note-author"
+      = link_to_member(@project, last_note.author, avatar: false)
       %span.discussion-last-update
         = time_ago_in_words(last_note.updated_at)
         ago
index dd5d7c1..9efeb56 100644 (file)
@@ -9,7 +9,7 @@
         = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, confirm: 'Are you sure you want to remove comment?', remote: true, class: "danger js-note-delete" do
           %i.icon-trash.cred
     = image_tag gravatar_icon(note.author.email), class: "avatar s32"
-    = link_to note.author_name, project_team_member_path(@project, @project.team_member_by_id(note.author)), class: "note-author"
+    = link_to_member(@project, note.author, avatar: false)
     %span.note-last-update
       = time_ago_in_words(note.updated_at)
       ago