Exemple #1
0
    def post(self):
        json_str = self.request.body
        data = json.loads(json_str)

        login_validator = Schema({
            Required('email'): unicode,
            Required('password'): unicode,
            'org': unicode
        })

        user = User.all().filter('email_account = ', data['email']).get()

        if not user:
            return self.json_resp(500, {
                'message': 'Email/password is wrong.'
            })

        if data['org'] != '':
            org = Org.get_by_id(int(data['org']))
            if not org.email in data['email']:
                return self.json_resp(500, {
                    'message': 'Email/password is wrong.'
                })

        if bcrypt.hashpw(data['password'], user.password) == user.password:
            self.session['user'] = user.key().id()
            # check_for_invite(self, user)
            return self.json_resp(200, {
                'message': 'You have logged in.',
                'redirect': self.login_redirect(user)
            })
        else:
            return self.json_resp(500, {
                'message': 'Email/password is wrong.'
            })
Exemple #2
0
    def post(self):
        json_str = self.request.body
        data = json.loads(json_str)

        login_validator = Schema({
            Required('email'): unicode,
            Required('password'): unicode,
            'org': unicode
        })

        has_org = False
        if data['org'] != '':
            org = Org.get_by_id(int(data['org']))
            if not org.email in data['email']:
                return self.json_resp(500, {
                    'message': 'Your email is not apart of this organization!'
                })
            else:
                has_org = True

        hashed = bcrypt.hashpw(data['password'], bcrypt.gensalt())

        user = User()
        user.email_account = data['email']
        user.email = data['email']
        user.name = data['name']
        user.password = hashed
        user.put()

        if has_org:
            user.circles.append(org.circle.key())
            user.put()

        self.session['user'] = user.key().id()
        # check_for_invite(self, user)
        return self.json_resp(200, {
            'message': 'Account created',
            'redirect': self.login_redirect(user)
        })