'Assigned Issues' and 'Assigned Merge Requests' as dashboard user choices
This commit is contained in:
parent
463fe4062d
commit
2308ab7a9f
7 changed files with 48 additions and 9 deletions
|
@ -42,6 +42,10 @@ class RootController < Dashboard::ProjectsController
|
||||||
redirect_to(dashboard_groups_path)
|
redirect_to(dashboard_groups_path)
|
||||||
when 'todos'
|
when 'todos'
|
||||||
redirect_to(dashboard_todos_path)
|
redirect_to(dashboard_todos_path)
|
||||||
|
when 'issues'
|
||||||
|
redirect_to(issues_dashboard_path(assignee_id: current_user.id))
|
||||||
|
when 'merge_requests'
|
||||||
|
redirect_to(merge_requests_dashboard_path(assignee_id: current_user.id))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,14 @@ module PreferencesHelper
|
||||||
|
|
||||||
# Maps `dashboard` values to more user-friendly option text
|
# Maps `dashboard` values to more user-friendly option text
|
||||||
DASHBOARD_CHOICES = {
|
DASHBOARD_CHOICES = {
|
||||||
projects: 'Your Projects (default)',
|
projects: _("Your Projects (default)"),
|
||||||
stars: 'Starred Projects',
|
stars: _("Starred Projects"),
|
||||||
project_activity: "Your Projects' Activity",
|
project_activity: _("Your Projects' Activity"),
|
||||||
starred_project_activity: "Starred Projects' Activity",
|
starred_project_activity: _("Starred Projects' Activity"),
|
||||||
groups: "Your Groups",
|
groups: _("Your Groups"),
|
||||||
todos: "Your Todos"
|
todos: _("Your Todos"),
|
||||||
|
issues: _("Assigned Issues"),
|
||||||
|
merge_requests: _("Assigned Merge Requests")
|
||||||
}.with_indifferent_access.freeze
|
}.with_indifferent_access.freeze
|
||||||
|
|
||||||
# Returns an Array usable by a select field for more user-friendly option text
|
# Returns an Array usable by a select field for more user-friendly option text
|
||||||
|
|
|
@ -187,7 +187,7 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
# User's Dashboard preference
|
# User's Dashboard preference
|
||||||
# Note: When adding an option, it MUST go on the end of the array.
|
# Note: When adding an option, it MUST go on the end of the array.
|
||||||
enum dashboard: [:projects, :stars, :project_activity, :starred_project_activity, :groups, :todos]
|
enum dashboard: [:projects, :stars, :project_activity, :starred_project_activity, :groups, :todos, :issues, :merge_requests]
|
||||||
|
|
||||||
# User's Project preference
|
# User's Project preference
|
||||||
# Note: When adding an option, it MUST go on the end of the array.
|
# Note: When adding an option, it MUST go on the end of the array.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add 'Assigned Issues' and 'Assigned Merge Requests' as dashboard view choices for users
|
||||||
|
merge_request: 17860
|
||||||
|
author: Elias Werberich
|
||||||
|
type: added
|
|
@ -41,7 +41,7 @@ select few, the amount of activity on the default Dashboard page can be
|
||||||
overwhelming. Changing this setting allows you to redefine what your default
|
overwhelming. Changing this setting allows you to redefine what your default
|
||||||
dashboard will be.
|
dashboard will be.
|
||||||
|
|
||||||
You have 6 options here that you can use for your default dashboard view:
|
You have 8 options here that you can use for your default dashboard view:
|
||||||
|
|
||||||
- Your projects (default)
|
- Your projects (default)
|
||||||
- Starred projects
|
- Starred projects
|
||||||
|
@ -49,6 +49,8 @@ You have 6 options here that you can use for your default dashboard view:
|
||||||
- Starred projects' activity
|
- Starred projects' activity
|
||||||
- Your groups
|
- Your groups
|
||||||
- Your [Todos]
|
- Your [Todos]
|
||||||
|
- Assigned Issues
|
||||||
|
- Assigned Merge Requests
|
||||||
|
|
||||||
### Project home page content
|
### Project home page content
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,30 @@ describe RootController do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'who has customized their dashboard setting for assigned issues' do
|
||||||
|
before do
|
||||||
|
user.dashboard = 'issues'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'redirects to their assigned issues' do
|
||||||
|
get :index
|
||||||
|
|
||||||
|
expect(response).to redirect_to issues_dashboard_path(assignee_id: user.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'who has customized their dashboard setting for assigned merge requests' do
|
||||||
|
before do
|
||||||
|
user.dashboard = 'merge_requests'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'redirects to their assigned merge requests' do
|
||||||
|
get :index
|
||||||
|
|
||||||
|
expect(response).to redirect_to merge_requests_dashboard_path(assignee_id: user.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'who uses the default dashboard setting' do
|
context 'who uses the default dashboard setting' do
|
||||||
it 'renders the default dashboard' do
|
it 'renders the default dashboard' do
|
||||||
get :index
|
get :index
|
||||||
|
|
|
@ -21,7 +21,9 @@ describe PreferencesHelper do
|
||||||
["Your Projects' Activity", 'project_activity'],
|
["Your Projects' Activity", 'project_activity'],
|
||||||
["Starred Projects' Activity", 'starred_project_activity'],
|
["Starred Projects' Activity", 'starred_project_activity'],
|
||||||
["Your Groups", 'groups'],
|
["Your Groups", 'groups'],
|
||||||
["Your Todos", 'todos']
|
["Your Todos", 'todos'],
|
||||||
|
["Assigned Issues", 'issues'],
|
||||||
|
["Assigned Merge Requests", 'merge_requests']
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue