Ejemplo n.º 1
0
    def get(self, request):
        if not config.debug:
            return error_forbidden('can only be accessed in debug mode')
        
        log.debug('{0}: {1}'.format(request, request.match_info))
        email = request.match_info['email']
        
        try:
            user = User.select().where(User.email == email).get()
        except User.DoesNotExist as exc:
            return self.error_unauthorized('Invalid email validation URL')

        reply = dict(
            success=True,
            user=dict(
                join_date=str(user.join_date),
                name=user.name,
                email=user.email,
                password=user.password,
                email_validated=user.email_validated,
                email_validation_secret=user.email_validation_secret,
                recovery_requested=user.recovery_requested,
                recovery_date=str(user.recovery_date),
                recovery_secret=user.recovery_secret,
            ),
        )
        return web.Response(body=json.dumps(reply).encode('utf-8'))
Ejemplo n.º 2
0
    def post(self, request):
        data = yield from request.read()
        log.debug('{0}: {1}'.format(request, data))
        data = yield from request.json()
        secret = data['secret']

        try:
            user = User.select().where(User.email_validation_secret == secret).get()
        except User.DoesNotExist as exc:
            return self.error_unauthorized('Invalid email validation URL')
        else:
            user.email_validated = True
            user.save()
        
        reply = dict(
            success=True,
            name=user.name,
            email=user.email,
        )
        return web.Response(body=json.dumps(reply).encode('utf-8'))