Implementing 'Groups View' and 'TODOs View' as options for dashboard preferences.

Fixes #14585.
This commit is contained in:
Elias Werberich 2016-03-24 11:12:45 +01:00
parent 5a460c3796
commit c3a98d8fcc
6 changed files with 35 additions and 3 deletions

View file

@ -4,6 +4,8 @@ v 8.7.0 (unreleased)
- Preserve time notes/comments have been updated at when moving issue - Preserve time notes/comments have been updated at when moving issue
- Make HTTP(s) label consistent on clone bar (Stan Hu) - Make HTTP(s) label consistent on clone bar (Stan Hu)
- Fix avatar stretching by providing a cropping feature - Fix avatar stretching by providing a cropping feature
- Implement 'Groups View' as an option for dashboard preferences !3379 (Elias W.)
- Implement 'TODOs View' as an option for dashboard preferences !3379 (Elias W.)
v 8.6.2 (unreleased) v 8.6.2 (unreleased)
- Comments on confidential issues don't show up in activity feed to non-members - Comments on confidential issues don't show up in activity feed to non-members

View file

@ -26,6 +26,10 @@ class RootController < Dashboard::ProjectsController
redirect_to activity_dashboard_path redirect_to activity_dashboard_path
when 'starred_project_activity' when 'starred_project_activity'
redirect_to activity_dashboard_path(filter: 'starred') redirect_to activity_dashboard_path(filter: 'starred')
when 'groups'
redirect_to dashboard_groups_path
when 'todos'
redirect_to dashboard_todos_path
else else
return return
end end

View file

@ -12,7 +12,9 @@ module PreferencesHelper
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",
todos: "Your Todos"
}.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

View file

@ -184,7 +184,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] enum dashboard: [:projects, :stars, :project_activity, :starred_project_activity, :groups, :todos]
# 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.

View file

@ -43,6 +43,28 @@ describe RootController do
end end
end end
context 'who has customized their dashboard setting for groups' do
before do
user.update_attribute(:dashboard, 'groups')
end
it 'redirects to their group list' do
get :index
expect(response).to redirect_to dashboard_groups_path
end
end
context 'who has customized their dashboard setting for todos' do
before do
user.update_attribute(:dashboard, 'todos')
end
it 'redirects to their todo list' do
get :index
expect(response).to redirect_to dashboard_todos_path
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

View file

@ -19,7 +19,9 @@ describe PreferencesHelper do
['Your Projects (default)', 'projects'], ['Your Projects (default)', 'projects'],
['Starred Projects', 'stars'], ['Starred Projects', 'stars'],
["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 Todos", 'todos']
] ]
end end
end end