Create redirect_to_main_site function.

This function is used in OAuth logins so that we can redirect first to
the root domain (e.g. zulipdev.com if subdomains are *.zulipdev.com).
This commit is contained in:
Umair Khan 2016-12-02 14:20:43 +05:00 committed by Tim Abbott
parent 7e8f8551de
commit c7ec5a14ee
1 changed files with 7 additions and 2 deletions

View File

@ -14,7 +14,7 @@ from django.utils.translation import ugettext as _
from django.core import signing
from six import text_type
from six.moves import urllib
from typing import Any, Dict, Optional, Tuple
from typing import Any, Dict, Optional, Tuple, Text
from confirmation.models import Confirmation
from zerver.forms import OurAuthenticationForm, WRONG_SUBDOMAIN_ERROR
@ -160,10 +160,15 @@ def google_oauth2_csrf(request, value):
def start_google_oauth2(request):
# type: (HttpRequest) -> HttpResponse
url = reverse('zerver.views.auth.send_oauth_request_to_google')
return redirect_to_main_site(request, url)
def redirect_to_main_site(request, url):
# type: (HttpRequest, Text) -> HttpResponse
main_site_uri = ''.join((
settings.EXTERNAL_URI_SCHEME,
settings.EXTERNAL_HOST,
reverse('zerver.views.auth.send_oauth_request_to_google'),
url,
))
params = {'subdomain': get_subdomain(request)}
return redirect(main_site_uri + '?' + urllib.parse.urlencode(params))