From 797bdbae03d9caee28c32473ace6c277572144bf Mon Sep 17 00:00:00 2001 From: MAEDA Go Date: Mon, 27 Apr 2026 12:47:15 +0900 Subject: [PATCH] Add setting to always include issue authors in assignee list --- app/models/issue.rb | 4 +++- app/views/settings/_issues.html.erb | 2 ++ config/locales/en.yml | 1 + config/settings.yml | 2 ++ test/unit/issue_test.rb | 9 +++++++++ 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index 17d8fdb39..dcef9ed5d 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1017,7 +1017,9 @@ class Issue < ApplicationRecord return [] if project.nil? users = project.assignable_users(tracker).to_a - users << author if author && author.active? + if Setting.always_include_issue_author_in_assignee_list? && author&.active? + users << author + end if assigned_to_id_was.present? && assignee = Principal.find_by_id(assigned_to_id_was) users << assignee end diff --git a/app/views/settings/_issues.html.erb b/app/views/settings/_issues.html.erb index 3a3a36d1b..c159129f5 100644 --- a/app/views/settings/_issues.html.erb +++ b/app/views/settings/_issues.html.erb @@ -13,6 +13,8 @@

<%= setting_check_box :issue_group_assignment %>

+

<%= setting_check_box :always_include_issue_author_in_assignee_list %>

+

<%= setting_check_box :default_issue_start_date_to_creation_date %>

<%= setting_check_box :display_subprojects_issues %>

diff --git a/config/locales/en.yml b/config/locales/en.yml index 8315e12ce..8d41cc1d7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -497,6 +497,7 @@ en: setting_gantt_items_limit: Maximum number of items displayed on the gantt chart setting_gantt_months_limit: Maximum number of months displayed on the gantt chart setting_issue_group_assignment: Allow issue assignment to groups + setting_always_include_issue_author_in_assignee_list: Always show issue authors in the assignee list setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed setting_unsubscribe: Allow users to delete their own account diff --git a/config/settings.yml b/config/settings.yml index 982bc5f1f..589415b67 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -196,6 +196,8 @@ close_duplicate_issues: default: 1 issue_group_assignment: default: 0 +always_include_issue_author_in_assignee_list: + default: 1 default_issue_start_date_to_creation_date: default: 0 notified_events: diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index a5c0bbb87..c40549ce7 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -2685,6 +2685,15 @@ class IssueTest < ActiveSupport::TestCase assert issue.assignable_users.include?(non_project_member) end + test "#assignable_users should not include non member author when disabled by settings" do + non_project_member = User.generate! + issue = Issue.generate!(:author => non_project_member) + + with_settings :always_include_issue_author_in_assignee_list => '0' do + assert_not_include non_project_member, issue.assignable_users + end + end + def test_assignable_users_should_not_include_anonymous_user issue = Issue.generate!(:author => User.anonymous) -- 2.50.1