Class: Biovision::Components::UsersComponent
Overview
Constant Summary
collapse
- CODE_EMAIL_CONFIRMATION =
'email_confirmation'
- CODE_INVITATION =
'invitation'
- CODE_PHONE_CONFIRMATION =
'phone_confirmation'
- CODE_RECOVERY =
'recovery'
- METRIC_AUTH_FAILURE =
'users.auth.failure.hit'
- METRIC_NEW_USER =
'users.new_user.hit'
- METRIC_REGISTRATION_BOT =
'users.registration.bot.hit'
- METRIC_USED_INVITATION =
'users.used_invitation.hit'
- SETTING_BOUNCE_COUNT =
'bounce_count'
- SETTING_BOUNCE_TIMEOUT =
'bounce_timeout'
- SETTING_CONFIRM_EMAIL =
'confirm_email'
- SETTING_CONFIRM_PHONE =
'confirm_phone'
- SETTING_EMAIL_AS_LOGIN =
'email_as_login'
- SETTING_INVITE_COUNT =
'invite_count'
- SETTING_INVITE_ONLY =
'invite_only'
- SETTING_OPEN =
'registration_open'
- SETTING_PHONE_AS_LOGIN =
'phone_as_login'
- SETTING_REQUIRE_EMAIL =
'require_email'
- SETTING_REQUIRE_PHONE =
'require_phone'
- SETTING_USE_INVITES =
'use_invites'
- SETTING_USE_PHONE =
'use_phone'
Instance Attribute Summary
#component, #name, #slug, #user
Class Method Summary
collapse
Instance Method Summary
collapse
#confirm_email?, #confirm_phone?, #email_as_login?, #invite_only?, #needs_email_confirmation?, #needs_phone_confirmation?, #phone_as_login?, #registration_open?, #require_email?, #require_phone?, #use_invites?, #use_phone?
#activate_email_confirmation, #activate_invitation, #create_email_confirmation, #create_invitations_for_user, #create_phone_confirmation, #send_email_confirmation, #send_phone_confirmation, #valid_code?, #valid_email_confirmation?, #valid_invitation?, #valid_recovery?
#validate
#authenticate
[], active?, create, #data_value, #find_or_create_code, form_options, handler, handler_class, #initialize, #new_entity, #register_metric, #settings, #settings=, slug, #update_data_value, #update_entity, #use_settings?
#default_settings, #normalize_settings, #reset_settings, #settings_flags, #settings_numbers, #settings_strings
#upload_image, #use_images?
#entity_link, #rest_entity_link, #text_for_link
#[], #[]=, #manage_settings?, #receive, #use_files?, #use_parameters?
#create_roles, #model_from_context, #owner?, #permit?, #role?
Class Method Details
.created_user(user) ⇒ Object
.default_settings ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'app/lib/biovision/components/users_component.rb', line 54
def self.default_settings
{
SETTING_OPEN => true,
SETTING_EMAIL_AS_LOGIN => false,
SETTING_PHONE_AS_LOGIN => false,
SETTING_CONFIRM_EMAIL => false,
SETTING_REQUIRE_EMAIL => false,
SETTING_USE_PHONE => false,
SETTING_REQUIRE_PHONE => false,
SETTING_CONFIRM_PHONE => false,
SETTING_INVITE_ONLY => false,
SETTING_USE_INVITES => false,
SETTING_INVITE_COUNT => 5,
SETTING_BOUNCE_COUNT => 10,
SETTING_BOUNCE_TIMEOUT => 3,
}
end
|
.dependent_models ⇒ Object
.handle_new_user(user) ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'app/lib/biovision/components/users_component.rb', line 81
def self.handle_new_user(user)
handler = new(BiovisionComponent[slug], user)
return unless handler.use_invites?
parameters = {
user: user,
quantity: handler.settings[SETTING_INVITE_COUNT].to_i
}
code = handler.component.codes.new(parameters)
code.code_type = CODE_INVITATION
code.save
end
|
.settings_flags ⇒ Object
41
42
43
44
45
46
47
48
|
# File 'app/lib/biovision/components/users_component.rb', line 41
def self.settings_flags
[
SETTING_OPEN, SETTING_EMAIL_AS_LOGIN, SETTING_CONFIRM_EMAIL,
SETTING_CONFIRM_PHONE, SETTING_PHONE_AS_LOGIN, SETTING_REQUIRE_EMAIL,
SETTING_REQUIRE_PHONE, SETTING_INVITE_ONLY, SETTING_USE_INVITES,
SETTING_USE_PHONE
]
end
|
.settings_numbers ⇒ Object
Instance Method Details
#administrative_parts ⇒ Object
137
138
139
|
# File 'app/lib/biovision/components/users_component.rb', line 137
def administrative_parts
%w[users tokens login_attempts codes notifications]
end
|
#attribute(attribute_name) ⇒ Object
121
122
123
124
125
|
# File 'app/lib/biovision/components/users_component.rb', line 121
def attribute(attribute_name)
return nil if user.nil?
user.attributes[attribute_name.to_s]
end
|
#create_user(user_data, profile_data) ⇒ Object
105
106
107
108
109
|
# File 'app/lib/biovision/components/users_component.rb', line 105
def create_user(user_data, profile_data)
handler = Users::ProfileHandler.new(self)
handler.create(user_data, profile_data)
handler.user
end
|
#crud_table_names ⇒ Object
133
134
135
|
# File 'app/lib/biovision/components/users_component.rb', line 133
def crud_table_names
super - %w[user_languages biovision_component_users]
end
|
#register_user(parameters, code = nil) ⇒ Object
98
99
100
101
|
# File 'app/lib/biovision/components/users_component.rb', line 98
def register_user(parameters, code = nil)
handler = Users::RegistrationHandler.new(self)
handler.handle(parameters, code)
end
|
#role_tree ⇒ Object
127
128
129
130
131
|
# File 'app/lib/biovision/components/users_component.rb', line 127
def role_tree
result = super
result['users'] << 'log_in'
result
end
|
#update_user(user, user_data, profile_data) ⇒ Object
114
115
116
117
118
|
# File 'app/lib/biovision/components/users_component.rb', line 114
def update_user(user, user_data, profile_data)
handler = Users::ProfileHandler.new(self)
handler.user = user
handler.update(user_data, profile_data)
end
|