diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2018-05-29 12:34:24 +0300 |
---|---|---|
committer | Jan Provaznik <jprovaznik@gitlab.com> | 2018-05-29 12:34:24 +0300 |
commit | 8a5ad3ca00830f847504eddb4ade7d3d7ebf9916 (patch) | |
tree | c9e46f8013d3c305f2f069c70ccbf1c18858a75d /app/services | |
parent | c5adf04cd69035a7a1737df8c2303bc228ea4089 (diff) |
Fix project team members count
In Rails 5 `project.team.members` returns a CollectionProxy instead of
array, which causes that `.flatten` fails. Although we could update the
call to get distinct count directly with sql query, in this case it's
better to re-use the list of members which is being loaded anyway.
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/projects/participants_service.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/app/services/projects/participants_service.rb b/app/services/projects/participants_service.rb index eb0472c6024..21741913385 100644 --- a/app/services/projects/participants_service.rb +++ b/app/services/projects/participants_service.rb @@ -5,14 +5,16 @@ module Projects def execute(noteable) @noteable = noteable - project_members = sorted(project.team.members) participants = noteable_owner + participants_in_noteable + all_members + groups + project_members participants.uniq end + def project_members + @project_members ||= sorted(project.team.members) + end + def all_members - count = project.team.members.flatten.count - [{ username: "all", name: "All Project and Group Members", count: count }] + [{ username: "all", name: "All Project and Group Members", count: project_members.count }] end end end |