OSDN Git Service

fixed issue, mr crash if assignee/author removed from team
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Sun, 5 Feb 2012 10:58:02 +0000 (12:58 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Sun, 5 Feb 2012 10:58:02 +0000 (12:58 +0200)
app/helpers/issues_helper.rb
app/helpers/merge_requests_helper.rb
app/views/issues/_show.html.haml
app/views/issues/show.html.haml
app/views/merge_requests/_merge_request.html.haml
app/views/merge_requests/show.html.haml

index d09fad5..d902be0 100644 (file)
@@ -9,4 +9,26 @@ module IssuesHelper
     params[:f] ||= cookies['issue_filter']
     project_issues_path project, params
   end
+
+  def link_to_issue_assignee(issue)
+    project = issue.project
+
+    tm = project.team_member_by_id(issue.assignee_id)
+    if tm
+      link_to issue.assignee_name, project_team_member_path(project, tm), :class => "author_link"
+    else
+      issue.assignee_name
+    end
+  end
+
+  def link_to_issue_author(issue)
+    project = issue.project
+
+    tm = project.team_member_by_id(issue.author_id)
+    if tm
+      link_to issue.author_name, project_team_member_path(project, tm), :class => "author_link"
+    else
+      issue.author_name
+    end
+  end
 end
index fac9870..afdf65b 100644 (file)
@@ -1,2 +1,23 @@
 module MergeRequestsHelper
+  def link_to_merge_request_assignee(merge_request)
+    project = merge_request.project
+
+    tm = project.team_member_by_id(merge_request.assignee_id)
+    if tm
+      link_to merge_request.assignee_name, project_team_member_path(project, tm), :class => "author_link"
+    else
+      merge_request.assignee_name
+    end
+  end
+
+  def link_to_merge_request_author(merge_request)
+    project = merge_request.project
+
+    tm = project.team_member_by_id(merge_request.author_id)
+    if tm
+      link_to merge_request.author_name, project_team_member_path(project, tm), :class => "author_link"
+    else
+      merge_request.author_name
+    end
+  end
 end
index cc154d8..91bbb1a 100644 (file)
@@ -2,9 +2,7 @@
   = image_tag gravatar_icon(issue.assignee_email), :class => "avatar"
   %span.update-author
     assigned to
-    %strong
-      = link_to project_team_member_path(@project, @project.team_member_by_id(issue.author_id)), :class => "author_link" do
-        = issue.assignee_name
+    %strong= link_to_issue_assignee(issue)
     - if issue.critical
       %span.label.important critical
     - if issue.today?
index 2ef59a2..abf5fc1 100644 (file)
   %div
     %cite.cgray Created by
     = image_tag gravatar_icon(@issue.author_email), :width => 16, :class => "lil_av"
-    = link_to project_team_member_path(@project, @project.team_member_by_id(@issue.author.id)) do 
-      %strong.author= @issue.author_name
+    %strong.author= link_to_issue_author(@issue)
 
     %cite.cgray and currently assigned to 
     = image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
-    = link_to project_team_member_path(@project, @project.team_member_by_id(@issue.assignee.id)) do 
-      %strong.author= @issue.assignee_name
+    %strong.author= link_to_issue_assignee(@issue)
       
     %hr
     
index 33dd7e5..5852c18 100644 (file)
@@ -1,9 +1,7 @@
 %li.wll
   = image_tag gravatar_icon(merge_request.author_email), :class => "avatar"
   %span.update-author
-    %strong
-      = link_to project_team_member_path(@project, @project.team_member_by_id(merge_request.author_id)), :class => "author_link" do
-        = merge_request.author_name
+    %strong= link_to_merge_request_author(merge_request)
     authored
     = time_ago_in_words(merge_request.created_at)
     ago
index 6293d2d..9840ea4 100644 (file)
   %div
     %cite.cgray Created by
     = image_tag gravatar_icon(@merge_request.author_email), :width => 16, :class => "lil_av"
-    = link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.author.id)) do 
-      %strong.author= @merge_request.author_name
+    %strong.author= link_to_merge_request_author(@merge_request)
 
     %cite.cgray and currently assigned to 
     = image_tag gravatar_icon(@merge_request.assignee_email), :width => 16, :class => "lil_av"
-    = link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.assignee.id)) do 
-      %strong.author= @merge_request.assignee_name
+    %strong.author= link_to_merge_request_assignee(@merge_request)
       
     %hr