Example #1
0
    def post(self):
        form = auth_forms.SignupForm(request.form)
        message = None
        registered = False
        if form.validate():
            password, salt = auth_utils.encode_password(form.password.data)

            current_user = auth_models.WTUser.all().filter('email', form.email.data).count()

            if not current_user:
                new_user = auth_models.WTUser(username=form.username.data,
                                              email=form.email.data,
                                              password=password,
                                              salt=salt)
                new_user.save()

                if new_user:
                    registered = True

                    subject = "Welcome to Web Tournaments"
                    body = mail.generate_email_body("email/auth/registration_email.txt", username=new_user.username)

                    mail.send_email(new_user.email, subject, body)

                    flask_login.login_user(new_user)

            if current_user:
                message = "Whoops! An account has already been registered with that email."

        if form.errors:
            message = form.errors

        response = json.dumps({'registered': registered, 'error_message': message})
        return response
Example #2
0
    def post(self):

        form = auth_forms.LoginForm(request.form)
        authorized = False
        message = None

        if form.validate():

            authorized = auth_utils.check_password(form.password.data, form.email.data)

            if not authorized:
                message = "Invalid Email / Password"
            else:
                user = auth_models.WTUser.get_user_by_email(form.email.data)
                flask_login.login_user(user, remember=form.remember_me.data)

        else:
            message = "Invalid Email / Password"

        next_url = '/shipping/package_list'
        response = json.dumps(
            {
                'loggedin': authorized,
                'error_message': message,
                'next_url': next_url
            })
        return response
Example #3
0
    def post(self):
        form = auth_forms.SignupForm(request.form)
        message = None
        registered = False
        if form.validate():
            password, salt = auth_utils.encode_password(form.password.data)

            current_user = auth_models.WTUser.all().filter('email', form.email.data).count()

            if not current_user:
                new_user = auth_models.WTUser(email=form.email.data,
                                              password=password,
                                              salt=salt)
                new_user.save()

                if new_user:
                    registered = True

                    subject = "Welcome to BoxTrackr"
                    body = mail.generate_email_body("email/auth/registration_email.html")

                    mail.send_email(new_user.email, subject, body)

                    flask_login.login_user(new_user)

            if current_user:
                message = "current_user"

        if form.errors:
            message = form.errors

        response = json.dumps({'registered': registered, 'error_message': message})
        return response
Example #4
0
    def post(self):

        form = auth_forms.LoginForm(request.form)
        error = None
        loggedin = False
        message = None

        if form.validate():

            loggedin = auth_utils.check_password(form.password.data, form.email.data)

            if not loggedin:
                message = "Invalid Email / Password"
            else:
                flask_login.login_user(auth_models.WTUser.all().filter('email =', form.email.data).fetch(1)[0],
                                       remember=form.remember_me.data)

        next_url = '/tournament/list'
        response = json.dumps({'loggedin': loggedin, 'error_message': message, 'next_url': next_url})
        return response
Example #5
0
    def get(self, other):

        # Setting the oauth token in the session
        session['oauth_token'] = str(self.get('access_token', ''))

        # Receiving the user info from Facebook
        me = facebook.get('/me')

        # Checking for the user associated with the user's facebook ID
        user = auth_models.WTUser.get_user_by_facebook_id(me.data['id'])

        # If there is no record of this Facebook user logging in before, just make an account
        if not user:
            user = auth_models.WTUser(name=me.data['name'],
                                          facebook_id=me.data['id'],
                                          email=me.data['email'])
            user.put()

        # Log the user in
        if user:
            flask_login.login_user(user)

        return redirect('/')
Example #6
0
    def get(self, other):

        # Setting the oauth token in the session
        session['oauth_token'] = str(self.get('access_token', ''))
        access_token = session['oauth_token']

        from urllib2 import Request, urlopen, URLError

        headers = {'Authorization': 'OAuth '+ access_token}
        req = Request('https://www.googleapis.com/oauth2/v1/userinfo',
                      None, headers)
        try:
            res = urlopen(req)

            if res:
                output = json.loads(res.read())
                if 'email' in output:
                    email = output['email']

                if email:
                    user = auth_models.WTUser.get_user_by_email(email)

                if not user:
                    user = auth_models.WTUser(name=email,
                                              email=email)
                    user.save()

                if user:
                    flask_login.login_user(user)


        except URLError, e:
            if e.code == 401:
                # Unauthorized - bad token
                session.pop('access_token', None)
                return redirect(url_for('google_login'))
            return res.read()