Commit 115454f3 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

created-by-me filter for issues inside project. Fixed global project.issues order

parent 15b121d6
...@@ -7,12 +7,13 @@ class IssuesListContext < BaseContext ...@@ -7,12 +7,13 @@ class IssuesListContext < BaseContext
@issues = case params[:status] @issues = case params[:status]
when issues_filter[:all] then @project.issues when issues_filter[:all] then @project.issues
when issues_filter[:closed] then @project.issues.closed when issues_filter[:closed] then @project.issues.closed
when issues_filter[:to_me] then @project.issues.opened.assigned(current_user) when issues_filter[:to_me] then @project.issues.assigned(current_user)
when issues_filter[:by_me] then @project.issues.authored(current_user)
else @project.issues.opened else @project.issues.opened
end end
@issues = @issues.tagged_with(params[:label_name]) if params[:label_name].present? @issues = @issues.tagged_with(params[:label_name]) if params[:label_name].present?
@issues = @issues.includes(:author, :project).order("updated_at") @issues = @issues.includes(:author, :project)
# Filter by specific assignee_id (or lack thereof)? # Filter by specific assignee_id (or lack thereof)?
if params[:assignee_id].present? if params[:assignee_id].present?
......
...@@ -27,6 +27,7 @@ module IssuesHelper ...@@ -27,6 +27,7 @@ module IssuesHelper
all: "all", all: "all",
closed: "closed", closed: "closed",
to_me: "assigned-to-me", to_me: "assigned-to-me",
by_me: "created-by-me",
open: "open" open: "open"
} }
end end
......
...@@ -30,6 +30,10 @@ class Issue < ActiveRecord::Base ...@@ -30,6 +30,10 @@ class Issue < ActiveRecord::Base
where('assignee_id = :user', user: user.id) where('assignee_id = :user', user: user.id)
end end
def authored(user)
where('author_id = :user', user: user.id)
end
def open_for(user) def open_for(user)
opened.assigned(user) opened.assigned(user)
end end
......
...@@ -45,7 +45,7 @@ class Project < ActiveRecord::Base ...@@ -45,7 +45,7 @@ class Project < ActiveRecord::Base
has_many :events, dependent: :destroy has_many :events, dependent: :destroy
has_many :merge_requests, dependent: :destroy has_many :merge_requests, dependent: :destroy
has_many :issues, dependent: :destroy, order: "state, created_at DESC" has_many :issues, dependent: :destroy, order: "state DESC, created_at DESC"
has_many :milestones, dependent: :destroy has_many :milestones, dependent: :destroy
has_many :users_projects, dependent: :destroy has_many :users_projects, dependent: :destroy
has_many :notes, dependent: :destroy has_many :notes, dependent: :destroy
......
...@@ -6,7 +6,10 @@ ...@@ -6,7 +6,10 @@
Open Open
%li{class: ("active" if params[:status] == 'assigned-to-me')} %li{class: ("active" if params[:status] == 'assigned-to-me')}
= link_to project_issues_path(@project, status: 'assigned-to-me') do = link_to project_issues_path(@project, status: 'assigned-to-me') do
Assigned To Me Assigned to me
%li{class: ("active" if params[:status] == 'created-by-me')}
= link_to project_issues_path(@project, status: 'created-by-me') do
Created by me
%li{class: ("active" if params[:status] == 'closed')} %li{class: ("active" if params[:status] == 'closed')}
= link_to project_issues_path(@project, status: 'closed') do = link_to project_issues_path(@project, status: 'closed') do
Closed Closed
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment