Пример #1
0
    def post(self, request):
        """Log the user out."""
        auth.logout(request)

        return JSONResponse({
            'redirect': _get_next(self.request) or self.redirect_url
        })
Пример #2
0
 def http_method_not_allowed(self, *args, **kwargs):
     response = JSONResponse({'error': 'Method not allowed.'}, status=405)
     allowed_methods = [
         m.upper() for m in self.http_method_names if hasattr(self, m)
     ]
     response['Allow'] = ', '.join(allowed_methods)
     return response
Пример #3
0
 def login_failure(self, msg=''):
     if not msg:
         msg = ('Login failed. Please make sure that you are '
                'an accepted Rep or a vouched Mozillian '
                'and you use your Bugzilla email to login.')
     messages.warning(self.request, msg)
     return JSONResponse({'redirect': self.failure_url})
Пример #4
0
    def login_success(self):
        """Send to new-user-view if new user, otherwise send on their way"""
        response = super(FjordVerify, self).login_success()
        # If this user has never logged in before, send them to our
        # super secret "Welcome!" page.
        try:
            self.user.profile
            return response

        except Profile.DoesNotExist:
            url = reverse('new-user-view')

            redirect_to = self.request.REQUEST.get('next')

            # Do not accept redirect URLs pointing to a different host.
            if redirect_to:
                netloc = urlparse.urlparse(redirect_to).netloc
                if netloc and netloc != self.request.get_host():
                    redirect_to = None

            if redirect_to:
                url = url + '?next=' + redirect_to

            return JSONResponse({
                'email': self.user.email,
                'redirect': url,
            })
Пример #5
0
    def login_success(self):
        """Log the user into the site."""
        auth.login(self.request, self.user)

        return JSONResponse({
            'email': self.user.email,
            'redirect': self.success_url
        })
Пример #6
0
    def login_failure(self, error=None):
        """
        Different to make it not yield a 403 error.
        """
        if error:
            logger.error(error)

        return JSONResponse({'redirect': self.failure_url})
Пример #7
0
    def login_failure(self, error=None):
        """
        Redirect the user to a login-failed page.

        :param error:
            If login failed due to an error raised during verification,
            this will be the BrowserIDException instance that was
            raised.
        """
        if error:
            logger.error(error)

        return JSONResponse({'redirect': self.failure_url}, status=403)
Пример #8
0
 def test_status(self):
     response = JSONResponse({'blah': 'foo', 'bar': 7}, status=404)
     self.assert_json_equals(response.content, {'blah': 'foo', 'bar': 7})
     eq_(response.status_code, 404)
Пример #9
0
 def login_failure(self):
     if self.add_email:
         return JSONResponse({
             'redirect': self.failure_url
         })
     return super(BrowserIDVerify, self).login_failure()
Пример #10
0
 def login_success(self):
     if self.add_email:
         return JSONResponse({
             'redirect': self.success_url
         })
     return super(BrowserIDVerify, self).login_success()
Пример #11
0
 def login_failure(self):
     """
     Redirect the user to a login-failed page. By default a 403 is
     returned.
     """
     return JSONResponse({'redirect': self.failure_url}, status=403)
Пример #12
0
 def login_failure(self, error=None):
     if self.change_email:
         return JSONResponse({'redirect': self.failure_url})
     return super(BrowserIDVerify, self).login_failure(error)