27 lines
761 B
Ruby
27 lines
761 B
Ruby
module SignupHelper
|
|
def duplicated_username_prompt?
|
|
# Ask for a different username for Google or GitHub signups with username errors
|
|
only_username_errors? && (google_sign_in? || github_sign_in?)
|
|
end
|
|
|
|
def only_username_errors?
|
|
errors = @user.try(:errors)
|
|
return false unless errors.present?
|
|
@user.errors.select { |_, v| v.present? }.keys == [:username]
|
|
end
|
|
|
|
def google_sign_in?
|
|
@user.google_sign_in && @organization.auth_google_enabled
|
|
end
|
|
|
|
def github_sign_in?
|
|
@user.github_user_id && @organization.auth_github_enabled
|
|
end
|
|
|
|
def organization_signup_url
|
|
subdomain = CartoDB.subdomain_from_request(request)
|
|
|
|
CartoDB.base_url(subdomain) + signup_path if Carto::Organization.where(name: subdomain).any?
|
|
end
|
|
end
|