def email_is_allowed(email, allowed_emails='', allowed_email_domains=''): "True, if email address is pre-approved or matches a allowed domain" if allowed_emails: email_list = split_list(allowed_emails) allowed_emails = ' ' + ' '.join(email_list) + ' ' email_match_re = re.compile(r'\s%s\s' % email) if email_match_re.search(allowed_emails): return True if allowed_email_domains: email_domain = email.split('@')[1] domain_list = split_list(allowed_email_domains) domain_match_re = re.compile(r'\s%s\s' % email_domain) allowed_email_domains = ' ' + ' '.join(domain_list) + ' ' return domain_match_re.search(allowed_email_domains) return False
def clean(self): """called in `save()` """ emails = functions.split_list(self.preapproved_emails) email_field = EmailField() try: map(lambda v: email_field.clean(v), emails) except exceptions.ValidationError: raise exceptions.ValidationError(_("Please give a list of valid email addresses.")) self.preapproved_emails = " " + "\n".join(emails) + " " domains = functions.split_list(self.preapproved_email_domains) domain_field = DomainNameField() try: map(lambda v: domain_field.clean(v), domains) except exceptions.ValidationError: raise exceptions.ValidationError(_("Please give a list of valid email domain names.")) self.preapproved_email_domains = " " + "\n".join(domains) + " "
def clean(self): """called in `save()` """ emails = functions.split_list(self.preapproved_emails) email_field = EmailField() try: map(lambda v: email_field.clean(v), emails) except exceptions.ValidationError: raise exceptions.ValidationError( _('Please give a list of valid email addresses.')) self.preapproved_emails = ' ' + '\n'.join(emails) + ' ' domains = functions.split_list(self.preapproved_email_domains) domain_field = DomainNameField() try: map(lambda v: domain_field.clean(v), domains) except exceptions.ValidationError: raise exceptions.ValidationError( _('Please give a list of valid email domain names.')) self.preapproved_email_domains = ' ' + '\n'.join(domains) + ' '
def clean(self): """called in `save()` """ emails = functions.split_list(self.preapproved_emails) email_field = EmailField() try: map(lambda v: email_field.clean(v), emails) except exceptions.ValidationError: raise exceptions.ValidationError( _('Please give a list of valid email addresses.') ) self.preapproved_emails = ' ' + '\n'.join(emails) + ' ' domains = functions.split_list(self.preapproved_email_domains) from askbot.forms import DomainNameField domain_field = DomainNameField() try: map(lambda v: domain_field.clean(v), domains) except exceptions.ValidationError: raise exceptions.ValidationError( _('Please give a list of valid email domain names.') ) self.preapproved_email_domains = ' ' + '\n'.join(domains) + ' '