diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2016-12-08 18:28:45 +0300 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2016-12-08 18:28:45 +0300 |
commit | 564b166236e514e3be0f23ebd65296a1c2755006 (patch) | |
tree | 38b25cf30ba9af7073350633d97f1ca35acee13c /lib | |
parent | ef5667204f28000cc66f258b199239b883230e32 (diff) | |
parent | bb447383c527d28bf4f884df18462e22be05f3b4 (diff) |
Merge branch 'fix-all-dashboard' into 'master'
Don't whitelist events for all filter
Closes #24826
See merge request !7673
Diffstat (limited to 'lib')
-rw-r--r-- | lib/event_filter.rb | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/lib/event_filter.rb b/lib/event_filter.rb index 21f6a9a762b..515095af1c2 100644 --- a/lib/event_filter.rb +++ b/lib/event_filter.rb @@ -14,6 +14,10 @@ class EventFilter 'merged' end + def issue + 'issue' + end + def comments 'comments' end @@ -32,32 +36,20 @@ class EventFilter end def apply_filter(events) - return events unless params.present? - - filter = params.dup - actions = [] + return events if params.blank? || params == EventFilter.all - case filter + case params when EventFilter.push - actions = [Event::PUSHED] + events.where(action: Event::PUSHED) when EventFilter.merged - actions = [Event::MERGED] + events.where(action: Event::MERGED) when EventFilter.comments - actions = [Event::COMMENTED] + events.where(action: Event::COMMENTED) when EventFilter.team - actions = [Event::JOINED, Event::LEFT, Event::EXPIRED] - when EventFilter.all - actions = [ - Event::PUSHED, - Event::MERGED, - Event::COMMENTED, - Event::JOINED, - Event::LEFT, - Event::EXPIRED - ] + events.where(action: [Event::JOINED, Event::LEFT, Event::EXPIRED]) + when EventFilter.issue + events.where(action: [Event::CREATED, Event::UPDATED, Event::CLOSED, Event::REOPENED]) end - - events.where(action: actions) end def options(key) @@ -73,6 +65,10 @@ class EventFilter end def active?(key) - params.include? key + if params.present? + params.include? key + else + key == EventFilter.all + end end end |