@@ -7,7 +7,6 @@ class TeamUser < ApplicationRecord
77
88 validates :status , presence : true
99 validates :user_id , uniqueness : { scope : :team_id , message : 'already joined this team' }
10- validate :user_is_member_in_slack_team
1110
1211 check_settings
1312
@@ -112,28 +111,6 @@ def set_role_default_value
112111 self . role = 'collaborator' if self . role . nil?
113112 end
114113
115- # Validate that a Slack user is part of the team's `slack_teams` setting.
116- # The `slack_teams` should be a hash of the form:
117- # { 'Slack team 1 id' => 'Slack team 1 name', 'Slack team 2 id' => 'Slack team 2 name', ... }
118- def user_is_member_in_slack_team
119- return if self . user . nil?
120- accounts = self . user . get_social_accounts_for_login ( { provider : 'slack' } )
121- if !self . user . nil? && !accounts . blank? && self . team . setting ( :slack_teams ) &.is_a? ( Hash )
122- accounts_team = accounts . collect { |a | a . omniauth_info &.dig ( 'info' , 'team_id' ) }
123- unless ( self . team . setting ( :slack_teams ) &.keys & accounts_team ) . empty?
124- # Auto-approve slack user
125- self . status = 'member'
126- else
127- params = {
128- default : "Sorry, you cannot join %{team_name} because it is restricted to members of the Slack team(s) %{teams}." ,
129- team_name : self . team . name ,
130- teams : self . team . setting ( :slack_teams ) . values . join ( ', ' )
131- }
132- errors . add ( :base , I18n . t ( :slack_restricted_join_to_members , **params ) )
133- end
134- end
135- end
136-
137114 def update_user_cached_teams_after_save
138115 if self . status == 'member'
139116 self . update_user_cached_teams ( :add )
0 commit comments