Commit d839f6c52571e3b873a05779b1131f7b00670b31
Committed by
Dmitriy Zaporozhets
1 parent
e52fec9c
Exists in
master
and in
4 other branches
Remove simple code duplication in members controllers
Showing
3 changed files
with
3 additions
and
4 deletions
Show diff stats
app/controllers/admin/teams/members_controller.rb
1 | class Admin::Teams::MembersController < Admin::Teams::ApplicationController | 1 | class Admin::Teams::MembersController < Admin::Teams::ApplicationController |
2 | def new | 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 | @users = UserDecorator.decorate @users | 4 | @users = UserDecorator.decorate @users |
6 | end | 5 | end |
7 | 6 |
app/controllers/teams/members_controller.rb
@@ -7,8 +7,7 @@ class Teams::MembersController < Teams::ApplicationController | @@ -7,8 +7,7 @@ class Teams::MembersController < Teams::ApplicationController | ||
7 | end | 7 | end |
8 | 8 | ||
9 | def new | 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 | @users = UserDecorator.decorate @users | 11 | @users = UserDecorator.decorate @users |
13 | end | 12 | end |
14 | 13 |
app/models/user.rb
@@ -91,6 +91,7 @@ class User < ActiveRecord::Base | @@ -91,6 +91,7 @@ class User < ActiveRecord::Base | ||
91 | scope :alphabetically, order('name ASC') | 91 | scope :alphabetically, order('name ASC') |
92 | scope :in_team, ->(team){ where(id: team.member_ids) } | 92 | scope :in_team, ->(team){ where(id: team.member_ids) } |
93 | scope :not_in_team, ->(team){ where('users.id NOT IN (:ids)', ids: team.member_ids) } | 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 | # Class methods | 97 | # Class methods |