Commit 5ca636e6 by Calen Pennington

Use the university profile page for courses and index if we are in a branded…

Use the university profile page for courses and index if we are in a branded subdomain. N.B. THIS DOESN'T WORK WITH MIT_SSL_AUTH
parent b841591b
......@@ -157,7 +157,7 @@ def edXauth_signup(request, eamap=None):
log.debug('ExtAuth: doing signup for %s' % eamap.external_email)
return student_views.main_index(request, extra_context=context)
return student_views.index(request, extra_context=context)
#-----------------------------------------------------------------------------
# MIT SSL
......@@ -193,7 +193,7 @@ def edXauth_ssl_login(request):
The certificate provides user email and fullname; this populates the ExternalAuthMap.
The user is nevertheless still asked to complete the edX signup.
Else continues on with student.views.main_index, and no authentication.
Else continues on with student.views.index, and no authentication.
"""
certkey = "SSL_CLIENT_S_DN" # specify the request.META field to use
......@@ -207,7 +207,7 @@ def edXauth_ssl_login(request):
pass
if not cert:
# no certificate information - go onward to main index
return student_views.main_index(request)
return student_views.index(request)
(user, email, fullname) = ssl_dn_extract_info(cert)
......@@ -217,4 +217,4 @@ def edXauth_ssl_login(request):
credentials=cert,
email=email,
fullname=fullname,
retfun = functools.partial(student_views.main_index, request))
retfun = functools.partial(student_views.index, request))
......@@ -22,7 +22,6 @@ from django.db import IntegrityError
from django.http import HttpResponse, Http404
from django.shortcuts import redirect
from mitxmako.shortcuts import render_to_response, render_to_string
from django.core.urlresolvers import reverse
from bs4 import BeautifulSoup
from django.core.cache import cache
......@@ -30,7 +29,6 @@ from django_future.csrf import ensure_csrf_cookie
from student.models import (Registration, UserProfile,
PendingNameChange, PendingEmailChange,
CourseEnrollment)
from util.cache import cache_if_anonymous
from xmodule.course_module import CourseDescriptor
from xmodule.modulestore.exceptions import ItemNotFoundError
from xmodule.modulestore.django import modulestore
......@@ -54,23 +52,7 @@ def csrf_token(context):
' name="csrfmiddlewaretoken" value="%s" /></div>' % (csrf_token))
@ensure_csrf_cookie
@cache_if_anonymous
def index(request):
''' Redirects to main page -- info page if user authenticated, or marketing if not
'''
if settings.COURSEWARE_ENABLED and request.user.is_authenticated():
return redirect(reverse('dashboard'))
if settings.MITX_FEATURES.get('AUTH_USE_MIT_CERTIFICATES'):
from external_auth.views import edXauth_ssl_login
return edXauth_ssl_login(request)
return main_index(request, user=request.user)
def main_index(request, extra_context={}, user=None):
def index(request, extra_context={}, user=None):
'''
Render the edX main page.
......
......@@ -26,17 +26,27 @@ def get_visible_courses(domain=None):
return courses
def get_logo_url(domain=None):
def get_university(domain=None):
"""
Return the url for the branded logo image to be used
Return the university name specified for the domain, or None
if no university was specified
"""
if not settings.MITX_FEATURES['SUBDOMAIN_BRANDING'] or domain is None:
return '/static/images/header-logo.png'
return None
subdomain = get_subdomain(domain)
if subdomain not in settings.SUBDOMAIN_BRANDING:
return settings.SUBDOMAIN_BRANDING.get(subdomain)
def get_logo_url(domain=None):
"""
Return the url for the branded logo image to be used
"""
university = get_university(domain)
if university is None:
return '/static/images/header-logo.png'
return '/static/images/{uni}-on-edx-logo.png'.format(
uni=settings.SUBDOMAIN_BRANDING[subdomain]
uni=university
)
from django.conf import settings
from django.core.urlresolvers import reverse
from django.shortcuts import redirect
from django_future.csrf import ensure_csrf_cookie
import student.views
import branding
import courseware.views
from util.cache import cache_if_anonymous
@ensure_csrf_cookie
@cache_if_anonymous
def index(request):
'''
Redirects to main page -- info page if user authenticated, or marketing if not
'''
if settings.COURSEWARE_ENABLED and request.user.is_authenticated():
return redirect(reverse('dashboard'))
if settings.MITX_FEATURES.get('AUTH_USE_MIT_CERTIFICATES'):
from external_auth.views import edXauth_ssl_login
return edXauth_ssl_login(request)
university = branding.get_university(request.META.get('HTTP_HOST'))
if university is None:
return student.views.index(request, user=request.user)
return courseware.views.university_profile(request, university)
@ensure_csrf_cookie
@cache_if_anonymous
def courses(request):
"""
Render the "find courses" page. If subdomain branding is on, this is the
university profile page, otherwise it's the edX courseware.views.courses page
"""
university = branding.get_university(request.META.get('HTTP_HOST'))
if university is None:
return courseware.views.courses(request)
return courseware.views.university_profile(request, university)
......@@ -16,7 +16,7 @@ import branding
<header class="global" aria-label="Global Navigation">
%endif
<nav>
<h1 class="logo"><a href="${reverse('root')}"><img src="${static.url(branding.get_logo_url(request.META['HTTP_HOST']))}"/></a></h1>
<h1 class="logo"><a href="${reverse('root')}"><img src="${static.url(branding.get_logo_url(request.META.get('HTTP_HOST')))}"/></a></h1>
%if course:
<h2><span class="provider">${course.org}:</span> ${course.number} ${course.title}</h2>
......
......@@ -10,7 +10,7 @@ if settings.DEBUG:
admin.autodiscover()
urlpatterns = ('',
url(r'^$', 'student.views.index', name="root"), # Main marketing page, or redirect to courseware
url(r'^$', 'branding.views.index', name="root"), # Main marketing page, or redirect to courseware
url(r'^dashboard$', 'student.views.dashboard', name="dashboard"),
url(r'^admin_dashboard$', 'dashboard.views.dashboard'),
......@@ -115,7 +115,7 @@ if settings.COURSEWARE_ENABLED:
# url(r'^edit_circuit/(?P<circuit>[^/]*)$', 'circuit.views.edit_circuit'),
# url(r'^save_circuit/(?P<circuit>[^/]*)$', 'circuit.views.save_circuit'),
url(r'^courses/?$', 'courseware.views.courses', name="courses"),
url(r'^courses/?$', 'branding.views.courses', name="courses"),
url(r'^change_enrollment$',
'student.views.change_enrollment_view', name="change_enrollment"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment