class Eco::API::Policies::DefaultPolicies::UserAccess
Attributes
account_removed_count[RW]
job[R]
options[R]
session[R]
Public Instance Methods
main(people, session, options, policy, job)
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 7 def main(people, session, options, policy, job) @session = session; @options = options; @job = job self.account_removed_count = 0 people.each do |person| remove_account_when_no_email!(person) if person.email.to_s.empty? person.account.policy_group_ids = defid if no_policy_group_ids?(person) end warn_account_removal! end
Private Instance Methods
default_group()
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 50 def default_group session.config.people.default_usergroup end
defid()
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 46 def defid @defid ||= policy_groups.to_id([default_group]).compact end
had_account?(person)
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 36 def had_account?(person) return false if person.new? return false if person.account_added? return !!person.original_doc["account"] end
no_policy_group_ids?(person)
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 42 def no_policy_group_ids?(person) (account = person.account) && account.policy_group_ids.empty? end
policy_groups()
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 54 def policy_groups session.policy_groups end
remove_account_when_no_email!(person)
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 29 def remove_account_when_no_email!(person) if person.account self.account_removed_count += 1 if had_account?(person) person.account = nil end end
warn_account_removal!()
click to toggle source
# File lib/eco/api/policies/default_policies/99_user_access_policy.rb, line 22 def warn_account_removal! if account_removed_count > 0 msg = "(DefaultPolicy on job '#{job.name}') Removed account to #{account_removed_count} people" session.logger.warn(msg) end end