Exemplo n.º 1
0
 def signup(request):
     username = request.GET.get('username')
     password = request.GET.get('password')
     password2 = request.GET.get('password2')
     success = False
     error = ''
     if email_re.search(username):
         try:
             User.objects.get(username = username)
         except User.DoesNotExist:
             pass
         else:
             error = 'Username Exists'
         if not error:
             if not password == password2:
                 error = 'Passwords do not match'
             elif len(password) < 6:
                 error = 'Minimum length of password is 6'
         if not error:
             user = User.objects.create_user(username = username, email = username, password = password)
             M.UserProfile.objects.create(user=user)
             user.first_name = username.split('@')[0]
             user.save()
             user = authenticate(username=username, password=password)
             login(request, user)
             success = True
     else:
         error = 'Invalid email address'
     return JsonResponse(json.dumps({'success': success, 'url': '/home', 'error': error}))
Exemplo n.º 2
0
def modify_list_membership(request, group_id, group=None):
    action = request.POST.get("ActionType", None)
    redirect = request.POST.get("Redirect", None)
    emails = request.POST.get("Emails", None)
    
    if group == None:
        group = get_object_or_404(BaseGroup, id=group_id)
    
    if group.slug != "ewb" and group.visibility != 'E':
        return render_to_response('denied.html', context_instance=RequestContext(request))
    
    if action and action == "add" and emails:
        email_list = emails.split()   # splits by whitespace characters
        
        for email in email_list:
            if email_re.search(email):
                if group.slug == "ewb":
                    User.extras.create_bulk_user(email)
                else:
                    group.add_email(email)

    if redirect:
        return HttpResponseRedirect(redirect)
    else:
        return HttpResponseRedirect(reverse("home"))
Exemplo n.º 3
0
    def auth_ldap_server(self, email=None, password=None):
        domain = ''
        username = ''
        if email_re.search(email):
            dn = settings.AUTH_LDAP_USER_BASE(email)

            try:
                ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
                ldap.set_option(ldap.OPT_X_TLS_CACERTFILE,settings.AUTH_LDAP_CERT)

                l = ldap.initialize(settings.AUTH_LDAP_SERVER)
                l.start_tls_s()
                l.simple_bind_s(dn, password)

                # Builds real name to fill in register, and force auth check.
                me = l.search_s(l.whoami_s()[3:],ldap.SCOPE_SUBTREE)
                ln = me[0][1]['sn'][0]
                fn = me[0][1]['givenName'][0].split()[0]
                return "%s %s" % (fn, ln)

            except ldap.INVALID_CREDENTIALS:
                # Name or password were bad. Fail.
                return False
            except ldap.LDAPError, e:
                return False
Exemplo n.º 4
0
def modify_list_membership(request, group_id, group=None):
    action = request.POST.get("ActionType", None)
    redirect = request.POST.get("Redirect", None)
    emails = request.POST.get("Emails", None)

    if group == None:
        group = get_object_or_404(BaseGroup, id=group_id)

    if group.slug != "ewb" and group.visibility != 'E':
        return render_to_response('denied.html',
                                  context_instance=RequestContext(request))

    if action and action == "add" and emails:
        email_list = emails.split()  # splits by whitespace characters

        for email in email_list:
            if email_re.search(email):
                if group.slug == "ewb":
                    User.extras.create_bulk_user(email)
                else:
                    group.add_email(email)

    if redirect:
        return HttpResponseRedirect(redirect)
    else:
        return HttpResponseRedirect(reverse("home"))
Exemplo n.º 5
0
 def clean_emails(self):
     emails = [e.strip() for e in self.cleaned_data.get('emails').split(',') if e.strip()]
     if not emails:
         raise forms.ValidationError(_(u'Please enter an email'))
     for email in emails:
         if not email_re.search(email):
             raise forms.ValidationError(_(u'%s: invalid email' % email))
     return emails
Exemplo n.º 6
0
 def authenticate(self, username=None, password=None):
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
             if user.check_password(password):
                 return user
         except User.DoesNotExist:
             pass
Exemplo n.º 7
0
Arquivo: auth.py Projeto: Mic92/mygpo
    def authenticate(self, username=None, password=None):
        if email_re.search(username):
            user = User.get_user_by_email(username)
            if not user:
                return None

            return user if user.check_password(password) else None
        return None
Exemplo n.º 8
0
 def authenticate(self, username=None, password=None):
     if email_re.search(username):
         try:
             user = User.objects.filter(email=username)[0]
             return user if user.check_password(password) else None
         except:
             return None
     return None
Exemplo n.º 9
0
 def authenticate(self, username=None, password=None):
     if email_re.search(username):
         try:
             user = User.objs.get(email__iexact=username)
             if user.check_password(password):
                 return user
         except User.DoesNotExist:
             return None
     return None
Exemplo n.º 10
0
    def clean_emails(self):
        """Validate all e-mail addresses."""
        emails = self.parse_emails()
        if not emails:
            raise forms.ValidationError(u"You haveto enter at-least one "
                                        u"e-mail address.")

        for email in emails:
            if not email_re.search(email):
                raise forms.ValidationError(u"One or more e-mail addresses "
                                            u"were not valid.")
        return emails
Exemplo n.º 11
0
 def clean_emails(self):
     """Validate all e-mail addresses."""
     emails = self.parse_emails()
     if not emails:
         raise forms.ValidationError(u"You haveto enter at-least one "
                                     u"e-mail address.")
     
     for email in emails:
         if not email_re.search(email):
             raise forms.ValidationError(u"One or more e-mail addresses "
                                         u"were not valid.")
     return emails
Exemplo n.º 12
0
    def authenticate(self, username=None, password=None):
	if email_re.search(username):
	    try:
		user = User.objects.get(email=username)
	    except User.DoesNotExist:
		return None
	else:
	    try:
		user = User.objects.get(username=username)
	    except User.DoesNotExist:
		return None
	if user.check_password(password):
	    return user
Exemplo n.º 13
0
 def authenticate(self, username=None, password=None):
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
             if user.is_active == False:
                 if user.attrs.has_key("reason"):
                     if user.attrs["reason"]:
                         raise ValidationError("Banned: '%s'" % user.attrs["reason"])
                 raise ValidationError(_("Your account has been locked!"))
             if user.check_password(password):
                 return user
         except User.DoesNotExist:
             return None
     return None
Exemplo n.º 14
0
 def authenticate(self, username=None, password=None):
     #If username is an email address, then try to pull it up
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
         except User.DoesNotExist:
             return None
     else:
         #We have a non-email address username we should try username
         try:
             user = User.objects.get(username=username)
         except User.DoesNotExist:
             return None
     if user.check_password(password):
         return user
Exemplo n.º 15
0
 def authenticate(self, username=None, password=None):
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
             if user.is_active == False:
                 if user.attrs.has_key('reason'):
                     if user.attrs['reason']:
                         raise ValidationError("Banned: '%s'" %
                                               user.attrs['reason'])
                 raise ValidationError(_('Your account has been locked!'))
             if user.check_password(password):
                 return user
         except User.DoesNotExist:
             return None
     return None
Exemplo n.º 16
0
 def authenticate(self, username=None, password=None):
     #If username is an email address, then try to pull it up
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
         except User.DoesNotExist:
             return None
     else:
         #We have a non-email address username we should try username
         try:
             user = User.objects.get(username=username)
         except User.DoesNotExist:
             return None
     if user.check_password(password):
         return user
Exemplo n.º 17
0
def checkemail(request):        
    email = request.POST.get('email', False)
    if email:
        if email_re.search(email):
            u = User.objects.filter(email=email).count()
            if u != 0:
                res = "Already In Use"
            else:
                res = "Ok"
        else:
            res = "Invalid Email Address"
    else:
   	res = "Email address cannot be blank"            

    return HttpResponse('%s' % res)
Exemplo n.º 18
0
 def authenticate(self, username=None, password=None):
     print 'Inside EmailBackend'
     print 'username = %s ' % username
     print 'password = %s ' % password
     if email_re.search(username):
         try:
             user = User.objects.get(email=username)
             if user.check_password(password):
                 print 'EmailBackend authentication done'
                 return user
             print 'authentication not done'
             return None
         except User.DoesNotExist:
             print 'new user'
             return None
Exemplo n.º 19
0
def view_checkemail(request):
    remail = _request_param_post(request, 'remail')
    if not remail:
        from users.messages import ICON_CROSS, INVALID_EMAIL_ADDRESS_ERROR_MESSAGE
        return HttpResponse('%s%s' % (ICON_CROSS, INVALID_EMAIL_ADDRESS_ERROR_MESSAGE))
    from django.forms.fields import email_re
    if not email_re.search(remail.strip().lower()):
        from users.messages import ICON_CROSS, INVALID_EMAIL_ADDRESS_ERROR_MESSAGE
        return HttpResponse('%s%s' % (ICON_CROSS, INVALID_EMAIL_ADDRESS_ERROR_MESSAGE))
    from users.models import UserProfile
    if UserProfile.objects.filter(email=remail):
        from users.messages import ICON_CROSS, EMAIL_ADDRESS_ALREADY_TAKEN_ERROR_MESSAGE
        return HttpResponse('%s%s' % (ICON_CROSS, EMAIL_ADDRESS_ALREADY_TAKEN_ERROR_MESSAGE))
    else:
        from users.messages import ICON_SUCESS, VALID_EMAIL_ADDRESS_MESSAGE
        return HttpResponse('%s%s' % (ICON_SUCESS, VALID_EMAIL_ADDRESS_MESSAGE))
Exemplo n.º 20
0
 def authenticate(self,username=None,password=None):
     try: # Let's see if we have such user
         if email_re.search(username):
             local_user = User.objects.get(email=username)
         else:
             local_user = User.objects.get(username=username)
             
         if local_user.has_usable_password():
             if local_user.check_password(password):
                 return local_user
             else:
                 return
         else:
             return self._authenticate_ldap(username, password, local_user)
     except User.DoesNotExist:
         return self._authenticate_ldap(username, password)
     return # if we did not return anything yet, we're probably not authenticated
Exemplo n.º 21
0
 def clean_ref_emails(self):
     unsuccessful_emails_list, successful_emails_list = [],[]
     email = self.cleaned_data.get('email')
     ref_emails = self.cleaned_data.get('ref_emails')
     ref_mobiles = self.cleaned_data.get('ref_mobiles')
     if not ref_emails:
         if not ref_mobiles:
             raise forms.ValidationError('Either your friends email id(s) or mobile no(s) are required to provide.')                     
         return ref_emails.strip()
     all_emails_list = ref_emails.strip().split(',')
     from django.forms.fields import email_re
     for email_id in all_emails_list:
         if email_re.search(email_id.strip().lower()):
             if email_id == email:
                 if all_emails_list.__len__() == 1:
                     raise forms.ValidationError('You can\'t refer yourself, right!')
             else:
                 successful_emails_list.append(email_id)
         else:
             unsuccessful_emails_list.append(email_id)
     return ",".join(["%s" % (email) for email in successful_emails_list])
Exemplo n.º 22
0
    def authenticate(self, username=None, password=None):

        # handle "guest" login

        if username == 'guest':

            # clean the old guest account

            guests = Group.objects.get(name='guests')
            deadline = datetime.now() - timedelta(weeks=4)
            guests.user_set.filter(last_login__lt=deadline).delete()
            name = 'guest_%s' % datetime.now()
            name = name[:30]
            user = User.objects.create_user(username=name, email='')
            guests.user_set.add(user)
            user.save()
            return user

        # If username is an email address, then try to pull it up

        if email_re.search(username):
            try:
                user = User.objects.get(email=username)
            except User.DoesNotExist:
                return None
        else:

            # We have a non-email address username we should try username
            # We only allow staffs to do this

            try:
                user = User.objects.get(username=username)
            except User.DoesNotExist:
                return None
            if not user.is_staff:
                return None
        if user.check_password(password):
            return user
Exemplo n.º 23
0
def new_user(nick, email, user, results):
    "Create new user after verifying the user attributes"
    global dup_user_by_nick
    global dup_user_by_guser
    global dup_user_by_email
    if len(nick) < Limits.MINNICKLEN  or len(nick) >= Limits.MAXNICKLEN:
        results['retcode'] = ReturnCode.EINVALNICK
        return False
    if len(email) == 0 or len(email) >= Limits.MAXEMAILLEN:
        results['retcode'] = ReturnCode.EINVALEMAIL
        return False
    alnum_re = re.compile(r'^\w+$')
    if not alnum_re.search(nick):
        results['retcode'] = ReturnCode.EINVALNICK
        return False
    if not email_re.search(email):
        results['retcode'] = ReturnCode.EINVALEMAIL
        return False
    dup_user_by_guser.bind(user)
    if dup_user_by_guser.count(1) > 0:
        results['retcode'] = ReturnCode.EDUPUSR
        return False
    dup_user_by_email.bind(email)
    if dup_user_by_email.count(1) > 0:
        results['retcode'] = ReturnCode.EDUPUSR
        return False
    dup_user_by_nick.bind(nick)
    if dup_user_by_nick.count(1) > 0:
        results['retcode'] = ReturnCode.EDUPUSR
        return False
    q = db.run_in_transaction(create_new_user, nick, email, user)
    if not q:
        results['retcode'] = ReturnCode.EDUPUSR
        return False
    IncCounter(Counter.REGUSERS)
    return True
Exemplo n.º 24
0
def silent_signup(request, email):
    if email_re.search(email):
        User.extras.create_bulk_user(email)
        
    return HttpResponse("") 
Exemplo n.º 25
0
def silent_signup(request, email):
    if email_re.search(email):
        User.extras.create_bulk_user(email)

    return HttpResponse("")