From 3681db8ec4d2ba8e44e8f6d8134f087bbfb30806 Mon Sep 17 00:00:00 2001 From: ishikawa999 Date: Sat, 8 May 2021 05:48:12 +0000 Subject: [PATCH 1/4] Add test --- app/views/projects/_members_box.html.erb | 7 ++++++ test/functional/projects_controller_test.rb | 27 +++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/app/views/projects/_members_box.html.erb b/app/views/projects/_members_box.html.erb index b5bb46e3a..30b71ea0c 100644 --- a/app/views/projects/_members_box.html.erb +++ b/app/views/projects/_members_box.html.erb @@ -4,5 +4,12 @@ <% @principals_by_role.keys.sort.each do |role| %>

<%= role %>: <%= @principals_by_role[role].sort.collect{|p| link_to_principal(p, :class => p.is_a?(Group) ? 'icon icon-group' : nil)}.join(", ").html_safe %>

<% end %> + <% if @project.is_public %> +
+
+

<%= l(:field_is_public) %>: <%= l(:general_text_Yes) %> + <%= Setting.login_required? ? l(:text_project_is_public_non_member) : l(:text_project_is_public_anonymous) %> +

+ <% end -%> <% end %> diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index a26793a20..c706e5d1c 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -696,6 +696,33 @@ def test_show_should_not_display_empty_sidebar assert_select '#main.nosidebar' end + def test_show_should_display_is_public_project_notice + p = Project.find('ecookbook') + assert p.is_public? + + with_settings :login_required => '0' do + get(:show, :params => {:id => p.identifier}) + assert_response :success + assert_select '#is-public-project-notice .info', :text => l(:text_project_is_public_anonymous) + end + + with_settings :login_required => '1' do + @request.session[:user_id] = 1 + get(:show, :params => {:id => p.identifier}) + assert_response :success + assert_select '#is-public-project-notice .info', :text => l(:text_project_is_public_non_member) + end + end + + def test_show_should_display_is_private_project_notice + @request.session[:user_id] = 1 + p = Project.find('private-child') + assert_not p.is_public? + get(:show, :params => {:id => p.identifier}) + assert_response :success + assert_select '#is-public-project-notice', :count => 0 + end + def test_show_should_display_visible_custom_fields ProjectCustomField.find_by_name('Development status').update_attribute :visible, true get(:show, :params => {:id => 'ecookbook'}) From 9d56e12d5416411671ba159a92fb4c14cb5373a2 Mon Sep 17 00:00:00 2001 From: ishikawa999 Date: Sat, 8 May 2021 06:28:20 +0000 Subject: [PATCH 2/4] Add project public badge --- app/views/projects/show.html.erb | 2 +- public/stylesheets/application.css | 4 ++++ test/functional/projects_controller_test.rb | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 18b15d840..33acb4e04 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -21,7 +21,7 @@ <% end %> -

<%=l(:label_overview)%>

+

<%=l(:label_overview)%> <% if @project.is_public %><%= l(:label_public_projects) %><% end %>

<% unless @project.active? %>

<%= l(:text_project_closed) %>

diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 78be5865e..d15816fef 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1467,6 +1467,10 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { color: #fff; border: 1px solid #d22; } +.badge-project-public { + color: #d22; + border: 1px solid #d22; +} .badge-count { color: #fff; background:#9DB9D5; diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index c706e5d1c..acf49a295 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -723,6 +723,25 @@ def test_show_should_display_is_private_project_notice assert_select '#is-public-project-notice', :count => 0 end + def test_show_should_display_project_public_badge_if_project_is_public + p = Project.find('ecookbook') + assert p.is_public? + + get(:show, params: {id: p.identifier}) + assert_response :success + assert_select '.badge.badge-project-public', text: l(:label_public_projects) + end + + def test_show_should_not_display_project_public_badge_if_project_is_private + @request.session[:user_id] = 1 + p = Project.find('private-child') + assert_not p.is_public? + + get(:show, params: {id: p.identifier}) + assert_response :success + assert_select '.badge.badge-project-public', count: 0 + end + def test_show_should_display_visible_custom_fields ProjectCustomField.find_by_name('Development status').update_attribute :visible, true get(:show, :params => {:id => 'ecookbook'}) From e2e87b67708677ec87ee5c5fb0906f76ff4cb566 Mon Sep 17 00:00:00 2001 From: ishikawa999 Date: Sun, 9 May 2021 23:59:45 +0000 Subject: [PATCH 3/4] Change term label_public_projects to field_is_public --- app/views/projects/show.html.erb | 2 +- test/functional/projects_controller_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 33acb4e04..2227b2c2c 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -21,7 +21,7 @@ <% end %> -

<%=l(:label_overview)%> <% if @project.is_public %><%= l(:label_public_projects) %><% end %>

+

<%=l(:label_overview)%> <% if @project.is_public %><%= l(:field_is_public) %><% end %>

<% unless @project.active? %>

<%= l(:text_project_closed) %>

diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index acf49a295..b7ace6f89 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -729,7 +729,7 @@ def test_show_should_display_project_public_badge_if_project_is_public get(:show, params: {id: p.identifier}) assert_response :success - assert_select '.badge.badge-project-public', text: l(:label_public_projects) + assert_select '.badge.badge-project-public', text: l(:field_is_public) end def test_show_should_not_display_project_public_badge_if_project_is_private From 1479ced4b1767004f290ed15630e9c0b2b8c016c Mon Sep 17 00:00:00 2001 From: ishikawa999 Date: Mon, 10 May 2021 00:00:11 +0000 Subject: [PATCH 4/4] Change badge color red to blue --- public/stylesheets/application.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index d15816fef..8b421518a 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1468,8 +1468,8 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { border: 1px solid #d22; } .badge-project-public { - color: #d22; - border: 1px solid #d22; + color: #205D86; + border: 1px solid #205D86; } .badge-count { color: #fff;