diff options
author | Mehmet Beydogan <mehmet.beydogan@gmail.com> | 2016-03-18 19:17:01 +0200 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-04-20 15:42:09 -0400 |
commit | 61a306aa58f7fffd652a31b85719b19d08f0fd7f (patch) | |
tree | d937ae097121109cc05070bde406ae7dc18416aa /app/finders | |
parent | 83bda94ffcfe1944ea255fdbb8dfd9dac5b97d9f (diff) | |
download | gitlab-ce-61a306aa58f7fffd652a31b85719b19d08f0fd7f.tar.gz |
Fix functionality of due this week. Add due this month and overdue, remove due tomorrow to issues.
Fix typos on sorting dropdown related to due date
Remove constant array and add Structs on Issue to keep due date data to fill options
Diffstat (limited to 'app/finders')
-rw-r--r-- | app/finders/issuable_finder.rb | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index 5e08193b5cf..7613283443a 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -118,7 +118,19 @@ class IssuableFinder end def filter_by_no_due_date? - due_date? && params[:due_date] == Issue::NO_DUE_DATE[1] + due_date? && params[:due_date] == Issue::NoDueDate.name + end + + def filter_by_overdue? + due_date? && params[:due_date] == Issue::OverDue.name + end + + def filter_by_due_this_week? + due_date? && params[:due_date] == Issue::DueThisWeek.name + end + + def filter_by_due_this_month? + due_date? && params[:due_date] == Issue::DueThisMonth.name end def labels? @@ -295,11 +307,13 @@ class IssuableFinder def by_due_date(items) if due_date? if filter_by_no_due_date? - items = items.no_due_date - else - items = items.has_due_date - # Must use issues prefix to avoid ambiguous match with Milestone#due_date - items = items.where("issues.due_date > ? AND issues.due_date <= ?", Date.today, params[:due_date]) + items = items.without_due_date + elsif filter_by_overdue? + items = items.overdue + elsif filter_by_due_this_week? + items = items.due_between(Date.today.beginning_of_week, Date.today.end_of_week + 1.day) + elsif filter_by_due_this_month? + items = items.due_between(Date.today.beginning_of_month, Date.today.end_of_month + 1.day) end end items |