summaryrefslogtreecommitdiff
path: root/app/contexts
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-10 20:25:53 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-10 20:25:53 +0300
commit3281021e8b42ba4d0fff5be268f5c43dd6ab4ff8 (patch)
tree20475f6cee307d65b584a0c41bcabe40decd5f40 /app/contexts
parent5b8cc95d6e12cf01b81d3ab06b2110847107241f (diff)
downloadgitlab-ce-3281021e8b42ba4d0fff5be268f5c43dd6ab4ff8.tar.gz
Rewrite issues/mr filtering logic
Diffstat (limited to 'app/contexts')
-rw-r--r--app/contexts/issues/list_context.rb20
-rw-r--r--app/contexts/merge_requests_load_context.rb14
2 files changed, 21 insertions, 13 deletions
diff --git a/app/contexts/issues/list_context.rb b/app/contexts/issues/list_context.rb
index 906a83b58a6..da2eed0e259 100644
--- a/app/contexts/issues/list_context.rb
+++ b/app/contexts/issues/list_context.rb
@@ -1,16 +1,20 @@
module Issues
class ListContext < BaseContext
- include IssuesHelper
-
attr_accessor :issues
def execute
- @issues = case params[:status]
- when issues_filter[:all] then @project.issues
- when issues_filter[:closed] then @project.issues.closed
- when issues_filter[:to_me] then @project.issues.assigned_to(current_user)
- when issues_filter[:by_me] then @project.issues.authored(current_user)
- else @project.issues.opened
+ @issues = @project.issues
+
+ @issues = case params[:state]
+ when 'all' then @issues
+ when 'closed' then @issues.closed
+ else @issues.opened
+ end
+
+ @issues = case params[:scope]
+ when 'assigned-to-me' then @issues.assigned_to(current_user)
+ when 'created-by-me' then @issues.authored(current_user)
+ else @issues
end
@issues = @issues.tagged_with(params[:label_name]) if params[:label_name].present?
diff --git a/app/contexts/merge_requests_load_context.rb b/app/contexts/merge_requests_load_context.rb
index 40b4c7bac74..c3408db6e11 100644
--- a/app/contexts/merge_requests_load_context.rb
+++ b/app/contexts/merge_requests_load_context.rb
@@ -2,17 +2,21 @@
# based on filtering passed via params for @project
class MergeRequestsLoadContext < BaseContext
def execute
- type = params[:status]
+ merge_requests = @project.merge_requests
- merge_requests = project.merge_requests
-
- merge_requests = case type
+ merge_requests = case params[:state]
when 'all' then merge_requests
when 'closed' then merge_requests.closed
- when 'assigned-to-me' then merge_requests.opened.assigned_to(current_user)
else merge_requests.opened
end
+ merge_requests = case params[:scope]
+ when 'assigned-to-me' then merge_requests.assigned_to(current_user)
+ when 'created-by-me' then merge_requests.authored(current_user)
+ else merge_requests
+ end
+
+
merge_requests = merge_requests.page(params[:page]).per(20)
merge_requests = merge_requests.includes(:author, :source_project, :target_project).order("created_at desc")