def check_username_availability(self, data): email = data['email'].strip() duplicate = CouchUser.get_by_username(email) is_existing = User.objects.filter( username__iexact=email).count() > 0 or duplicate message = None restricted_by_domain = None if is_existing: message = _("There is already a user with this email.") else: domain = email[email.find("@") + 1:] for account in BillingAccount.get_enterprise_restricted_signup_accounts( ): if domain in account.enterprise_restricted_signup_domains: restricted_by_domain = domain message = account.restrict_signup_message regex = r'(\b[a-zA-Z0-9_.+%-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+\b)' subject = _("CommCareHQ account request") message = re.sub( regex, "<a href='mailto:\\1?subject={}'>\\1</a>".format( subject), message) break return { 'isValid': message is None, 'restrictedByDomain': restricted_by_domain, 'message': message, }
def check_username_availability(self, data): email = data['email'].strip() duplicate = CouchUser.get_by_username(email) is_existing = User.objects.filter( username__iexact=email).count() > 0 or duplicate message = None restricted_by_domain = None if is_existing: message = _("There is already a user with this email.") else: domain = email[email.find("@") + 1:] for account in BillingAccount.get_enterprise_restricted_signup_accounts( ): if domain in account.enterprise_restricted_signup_domains: restricted_by_domain = domain message = account.restrict_signup_message regex = r'(\b[a-zA-Z0-9_.+%-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+\b)' subject = _("CommCareHQ account request") message = re.sub( regex, "<a href='mailto:\\1?subject={}'>\\1</a>".format( subject), message) break response = { 'isValid': message is None, 'restrictedByDomain': restricted_by_domain, 'message': message, } if settings.ENFORCE_SSO_LOGIN and response['isValid']: idp = IdentityProvider.get_required_identity_provider(email) if idp: response.update({ 'isSso': True, 'ssoMessage': _("This email is managed by {}. You will be asked to login " "with Single Sign-On after the next step.").format( idp.name), }) return response
def check_username_availability(self, data): email = data['email'].strip() duplicate = CouchUser.get_by_username(email) is_existing = User.objects.filter(username__iexact=email).count() > 0 or duplicate message = None restricted_by_domain = None if is_existing: message = _("There is already a user with this email.") else: domain = email[email.find("@") + 1:] for account in BillingAccount.get_enterprise_restricted_signup_accounts(): if domain in account.enterprise_restricted_signup_domains: restricted_by_domain = domain message = account.restrict_signup_message regex = r'(\b[a-zA-Z0-9_.+%-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+\b)' subject = _("CommCareHQ account request") message = re.sub(regex, "<a href='mailto:\\1?subject={}'>\\1</a>".format(subject), message) break return { 'isValid': message is None, 'restrictedByDomain': restricted_by_domain, 'message': message, }