1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-31 11:37:14 +00:00

Fix time entries of sub-projects are not listed when activity is specified in filters (#36248).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@21423 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu 2022-02-20 18:50:22 +00:00
parent 3e9f0023a1
commit 9a738c2069
2 changed files with 25 additions and 1 deletions

View File

@ -88,7 +88,7 @@ class TimeEntryQuery < Query
activities = (project ? project.activities : TimeEntryActivity.shared)
add_available_filter(
"activity_id",
:type => :list, :values => activities.map {|a| [a.name, a.id.to_s]}
:type => :list, :values => activities.map {|a| [a.name, (a.parent_id || a.id).to_s]}
)
add_available_filter(
"project.status",

View File

@ -917,4 +917,28 @@ class QueriesControllerTest < Redmine::ControllerTest
assert_include ['Dave2 Lopper2', '5', 'locked'], json
assert_include ['A Team', '10', 'active'], json
end
def test_activity_filter_should_return_active_and_system_activity_ids
TimeEntryActivity.create!(:name => 'Design', :parent_id => 9, :project_id => 1)
TimeEntryActivity.create!(:name => 'QA', :active => false, :parent_id => 11, :project_id => 1)
TimeEntryActivity.create!(:name => 'Inactive Activity', :active => true, :parent_id => 14, :project_id => 1)
@request.session[:user_id] = 2
get(
:filter,
:params => {
:project_id => 1,
:type => 'TimeEntryQuery',
:name => 'activity_id'
}
)
assert_response :success
assert_equal 'application/json', response.media_type
json = ActiveSupport::JSON.decode(response.body)
assert_equal 3, json.count
assert_include ["Design", "9"], json
assert_include ["Development", "10"], json
assert_include ["Inactive Activity", "14"], json
end
end