Commit d839f6c52571e3b873a05779b1131f7b00670b31

Authored by Andrey Kumanyaev
Committed by Dmitriy Zaporozhets
1 parent e52fec9c

Remove simple code duplication in members controllers

app/controllers/admin/teams/members_controller.rb
1 1 class Admin::Teams::MembersController < Admin::Teams::ApplicationController
2 2 def new
3   - @users = User.active
4   - @users = @users.not_in_team(user_team) if user_team.members.any?
  3 + @users = User.potential_team_members(user_team)
5 4 @users = UserDecorator.decorate @users
6 5 end
7 6  
... ...
app/controllers/teams/members_controller.rb
... ... @@ -7,8 +7,7 @@ class Teams::MembersController &lt; Teams::ApplicationController
7 7 end
8 8  
9 9 def new
10   - @users = User.active
11   - @users = @users.not_in_team(user_team) if user_team.members.any?
  10 + @users = User.potential_team_members(user_team)
12 11 @users = UserDecorator.decorate @users
13 12 end
14 13  
... ...
app/models/user.rb
... ... @@ -91,6 +91,7 @@ class User &lt; ActiveRecord::Base
91 91 scope :alphabetically, order('name ASC')
92 92 scope :in_team, ->(team){ where(id: team.member_ids) }
93 93 scope :not_in_team, ->(team){ where('users.id NOT IN (:ids)', ids: team.member_ids) }
  94 + scope :potential_team_members, ->(team) { team.members.any? ? active : active.not_in_team(team) }
94 95  
95 96 #
96 97 # Class methods
... ...