diff --git a/app/views/projects/index.rhtml b/app/views/projects/index.rhtml index e47e552..b4952e9 100644 --- a/app/views/projects/index.rhtml +++ b/app/views/projects/index.rhtml @@ -5,6 +5,7 @@
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'add'}, :class => 'icon icon-add') + ' |' if User.current.allowed_to?(:add_project, nil, :global => true) %> <%= link_to(l(:label_issue_view_all), { :controller => 'issues' }) + ' |' if User.current.allowed_to?(:view_issues, nil, :global => true) %> + <%= link_to(l(:label_overall_spent_time), { :controller => 'time_entries' }) + ' |' if User.current.allowed_to?(:view_time_entries, nil, :global => true) %> <%= link_to l(:label_overall_activity), { :controller => 'projects', :action => 'activity' }%>
diff --git a/config/locales/de.yml b/config/locales/de.yml index 1337edd..0e7e4c0 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -646,6 +646,7 @@ de: label_changes_details: Details aller Ă„nderungen label_issue_tracking: Tickets label_spent_time: Aufgewendete Zeit + label_overall_spent_time: Aufgewendete Zeit aller Projekte anzeigen label_f_hour: "{{value}} Stunde" label_f_hour_plural: "{{value}} Stunden" label_time_tracking: Zeiterfassung diff --git a/config/locales/en.yml b/config/locales/en.yml index c3fc52e..91ef3fa 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -638,6 +638,7 @@ en: label_changes_details: Details of all changes label_issue_tracking: Issue tracking label_spent_time: Spent time + label_overall_spent_time: Overall spent time label_f_hour: "{{value}} hour" label_f_hour_plural: "{{value}} hours" label_time_tracking: Time tracking diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index ac639d7..988496c 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -60,6 +60,33 @@ class ProjectsControllerTest < ActionController::TestCase assert_select 'feed>entry', :count => Project.count(:conditions => Project.visible_by(User.current)) end + context "#index" do + context "by non-admin user with view_time_entries permission" do + setup do + @request.session[:user_id] = 3 + end + should "show overall spent time link" do + get :index + assert_template 'index' + assert_tag :a, :attributes => {:href => '/time_entries'} + end + end + + context "by non-admin user without view_time_entries permission" do + setup do + Role.find(2).remove_permission! :view_time_entries + Role.non_member.remove_permission! :view_time_entries + Role.anonymous.remove_permission! :view_time_entries + @request.session[:user_id] = 3 + end + should "not show overall spent time link" do + get :index + assert_template 'index' + assert_no_tag :a, :attributes => {:href => '/time_entries'} + end + end + end + context "#add" do context "by admin user" do setup do