fix event issue when event for left project + project removed

This commit is contained in:
randx 2012-09-14 18:46:40 +03:00
parent dc37c8aaae
commit 759fb518eb
2 changed files with 23 additions and 15 deletions

View file

@ -35,13 +35,21 @@ class Event < ActiveRecord::Base
end end
# Next events currently enabled for system # Next events currently enabled for system
# - push # - push
# - new issue # - new issue
# - merge request # - merge request
def allowed? def allowed?
push? || issue? || merge_request? || membership_changed? push? || issue? || merge_request? || membership_changed?
end end
def project_name
if project
project.name
else
"(deleted)"
end
end
def push? def push?
action == self.class::Pushed && valid_push? action == self.class::Pushed && valid_push?
end end
@ -58,31 +66,31 @@ class Event < ActiveRecord::Base
action == self.class::Reopened action == self.class::Reopened
end end
def issue? def issue?
target_type == "Issue" target_type == "Issue"
end end
def merge_request? def merge_request?
target_type == "MergeRequest" target_type == "MergeRequest"
end end
def new_issue? def new_issue?
target_type == "Issue" && target_type == "Issue" &&
action == Created action == Created
end end
def new_merge_request? def new_merge_request?
target_type == "MergeRequest" && target_type == "MergeRequest" &&
action == Created action == Created
end end
def changed_merge_request? def changed_merge_request?
target_type == "MergeRequest" && target_type == "MergeRequest" &&
[Closed, Reopened].include?(action) [Closed, Reopened].include?(action)
end end
def changed_issue? def changed_issue?
target_type == "Issue" && target_type == "Issue" &&
[Closed, Reopened].include?(action) [Closed, Reopened].include?(action)
end end
@ -98,7 +106,7 @@ class Event < ActiveRecord::Base
joined? || left? joined? || left?
end end
def issue def issue
target if target_type == "Issue" target if target_type == "Issue"
end end
@ -106,7 +114,7 @@ class Event < ActiveRecord::Base
target if target_type == "MergeRequest" target if target_type == "MergeRequest"
end end
def author def author
@author ||= User.find(author_id) @author ||= User.find(author_id)
end end
@ -119,7 +127,7 @@ class Event < ActiveRecord::Base
'joined' 'joined'
elsif left? elsif left?
'left' 'left'
else else
"opened" "opened"
end end
end end

View file

@ -2,7 +2,7 @@
%strong #{event.author_name} %strong #{event.author_name}
%span.event_label{class: event.action_name}= event.action_name %span.event_label{class: event.action_name}= event.action_name
project project
%strong= link_to event.project.name, event.project %strong= link_to event.project_name, event.project
%span.cgray %span.cgray
= time_ago_in_words(event.created_at) = time_ago_in_words(event.created_at)
ago. ago.