Commit 759fb518eb28ca59913f1c897b3cc056693709ca

Authored by randx
1 parent dc37c8aa

fix event issue when event for left project + project removed

app/models/event.rb
... ... @@ -35,13 +35,21 @@ class Event < ActiveRecord::Base
35 35 end
36 36  
37 37 # Next events currently enabled for system
38   - # - push
  38 + # - push
39 39 # - new issue
40 40 # - merge request
41 41 def allowed?
42 42 push? || issue? || merge_request? || membership_changed?
43 43 end
44 44  
  45 + def project_name
  46 + if project
  47 + project.name
  48 + else
  49 + "(deleted)"
  50 + end
  51 + end
  52 +
45 53 def push?
46 54 action == self.class::Pushed && valid_push?
47 55 end
... ... @@ -58,31 +66,31 @@ class Event < ActiveRecord::Base
58 66 action == self.class::Reopened
59 67 end
60 68  
61   - def issue?
  69 + def issue?
62 70 target_type == "Issue"
63 71 end
64 72  
65   - def merge_request?
  73 + def merge_request?
66 74 target_type == "MergeRequest"
67 75 end
68 76  
69   - def new_issue?
70   - target_type == "Issue" &&
  77 + def new_issue?
  78 + target_type == "Issue" &&
71 79 action == Created
72 80 end
73 81  
74   - def new_merge_request?
75   - target_type == "MergeRequest" &&
  82 + def new_merge_request?
  83 + target_type == "MergeRequest" &&
76 84 action == Created
77 85 end
78 86  
79   - def changed_merge_request?
80   - target_type == "MergeRequest" &&
  87 + def changed_merge_request?
  88 + target_type == "MergeRequest" &&
81 89 [Closed, Reopened].include?(action)
82 90 end
83 91  
84   - def changed_issue?
85   - target_type == "Issue" &&
  92 + def changed_issue?
  93 + target_type == "Issue" &&
86 94 [Closed, Reopened].include?(action)
87 95 end
88 96  
... ... @@ -98,7 +106,7 @@ class Event < ActiveRecord::Base
98 106 joined? || left?
99 107 end
100 108  
101   - def issue
  109 + def issue
102 110 target if target_type == "Issue"
103 111 end
104 112  
... ... @@ -106,7 +114,7 @@ class Event < ActiveRecord::Base
106 114 target if target_type == "MergeRequest"
107 115 end
108 116  
109   - def author
  117 + def author
110 118 @author ||= User.find(author_id)
111 119 end
112 120  
... ... @@ -119,7 +127,7 @@ class Event < ActiveRecord::Base
119 127 'joined'
120 128 elsif left?
121 129 'left'
122   - else
  130 + else
123 131 "opened"
124 132 end
125 133 end
... ...
app/views/events/_event_membership_changed.html.haml
... ... @@ -2,7 +2,7 @@
2 2 %strong #{event.author_name}
3 3 %span.event_label{class: event.action_name}= event.action_name
4 4 project
5   -%strong= link_to event.project.name, event.project
  5 +%strong= link_to event.project_name, event.project
6 6 %span.cgray
7 7 = time_ago_in_words(event.created_at)
8 8 ago.
... ...