% if context_course:
diff --git a/common/test/acceptance/pages/lms/learner_profile.py b/common/test/acceptance/pages/lms/learner_profile.py
index 87325be1a7..4b2f08f1eb 100644
--- a/common/test/acceptance/pages/lms/learner_profile.py
+++ b/common/test/acceptance/pages/lms/learner_profile.py
@@ -175,7 +175,7 @@ class LearnerProfilePage(FieldsMixin, PageObject):
"""
self.wait_for_field('image')
default_links = self.q(css='.image-frame').attrs('src')
- return 'profiles/default' in default_links[0] if default_links else False
+ return 'default-profile' in default_links[0] if default_links else False
def mouse_hover(self, element):
"""
diff --git a/lms/djangoapps/branding/__init__.py b/lms/djangoapps/branding/__init__.py
index efe6c93876..e8fa35ee22 100644
--- a/lms/djangoapps/branding/__init__.py
+++ b/lms/djangoapps/branding/__init__.py
@@ -70,4 +70,4 @@ def get_logo_url():
elif university:
return staticfiles_storage.url('images/{uni}-on-edx-logo.png'.format(uni=university))
else:
- return staticfiles_storage.url('images/logo.png')
+ return staticfiles_storage.url('images/default-theme/logo.png')
diff --git a/lms/envs/aws.py b/lms/envs/aws.py
index 42caf4dd31..0ceb9f0511 100644
--- a/lms/envs/aws.py
+++ b/lms/envs/aws.py
@@ -682,7 +682,10 @@ PROFILE_IMAGE_BACKEND = ENV_TOKENS.get('PROFILE_IMAGE_BACKEND', PROFILE_IMAGE_BA
PROFILE_IMAGE_SECRET_KEY = AUTH_TOKENS.get('PROFILE_IMAGE_SECRET_KEY', PROFILE_IMAGE_SECRET_KEY)
PROFILE_IMAGE_MAX_BYTES = ENV_TOKENS.get('PROFILE_IMAGE_MAX_BYTES', PROFILE_IMAGE_MAX_BYTES)
PROFILE_IMAGE_MIN_BYTES = ENV_TOKENS.get('PROFILE_IMAGE_MIN_BYTES', PROFILE_IMAGE_MIN_BYTES)
-PROFILE_IMAGE_DEFAULT_FILENAME = 'images/profiles/default'
+if FEATURES['IS_EDX_DOMAIN']:
+ PROFILE_IMAGE_DEFAULT_FILENAME = 'images/edx-theme/default-profile'
+else:
+ PROFILE_IMAGE_DEFAULT_FILENAME = ENV_TOKENS.get('PROFILE_IMAGE_DEFAULT_FILENAME', PROFILE_IMAGE_DEFAULT_FILENAME)
# EdxNotes config
diff --git a/lms/envs/common.py b/lms/envs/common.py
index 70e90a1ee7..d9f7675995 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -2601,7 +2601,7 @@ PROFILE_IMAGE_BACKEND = {
'base_url': os.path.join(MEDIA_URL, 'profile-images/'),
},
}
-PROFILE_IMAGE_DEFAULT_FILENAME = 'images/profiles/default'
+PROFILE_IMAGE_DEFAULT_FILENAME = 'images/default-theme/default-profile'
PROFILE_IMAGE_DEFAULT_FILE_EXTENSION = 'png'
# This secret key is used in generating unguessable URLs to users'
# profile images. Once it has been set, changing it will make the
diff --git a/lms/static/images/profiles/default_120.png b/lms/static/images/default-theme/default-profile_120.png
similarity index 100%
rename from lms/static/images/profiles/default_120.png
rename to lms/static/images/default-theme/default-profile_120.png
diff --git a/lms/static/images/profiles/default_30.png b/lms/static/images/default-theme/default-profile_30.png
similarity index 100%
rename from lms/static/images/profiles/default_30.png
rename to lms/static/images/default-theme/default-profile_30.png
diff --git a/lms/static/images/profiles/default_50.png b/lms/static/images/default-theme/default-profile_50.png
similarity index 100%
rename from lms/static/images/profiles/default_50.png
rename to lms/static/images/default-theme/default-profile_50.png
diff --git a/lms/static/images/profiles/default_500.png b/lms/static/images/default-theme/default-profile_500.png
similarity index 100%
rename from lms/static/images/profiles/default_500.png
rename to lms/static/images/default-theme/default-profile_500.png
diff --git a/lms/static/images/logo-large.png b/lms/static/images/default-theme/logo-large.png
similarity index 100%
rename from lms/static/images/logo-large.png
rename to lms/static/images/default-theme/logo-large.png
diff --git a/lms/static/images/logo.png b/lms/static/images/default-theme/logo.png
similarity index 100%
rename from lms/static/images/logo.png
rename to lms/static/images/default-theme/logo.png
diff --git a/themes/edx.org/lms/static/images/profiles/default_120.png b/lms/static/images/edx-theme/default_120.png
similarity index 100%
rename from themes/edx.org/lms/static/images/profiles/default_120.png
rename to lms/static/images/edx-theme/default_120.png
diff --git a/themes/edx.org/lms/static/images/profiles/default_30.png b/lms/static/images/edx-theme/default_30.png
similarity index 100%
rename from themes/edx.org/lms/static/images/profiles/default_30.png
rename to lms/static/images/edx-theme/default_30.png
diff --git a/themes/edx.org/lms/static/images/profiles/default_50.png b/lms/static/images/edx-theme/default_50.png
similarity index 100%
rename from themes/edx.org/lms/static/images/profiles/default_50.png
rename to lms/static/images/edx-theme/default_50.png
diff --git a/themes/edx.org/lms/static/images/profiles/default_500.png b/lms/static/images/edx-theme/default_500.png
similarity index 100%
rename from themes/edx.org/lms/static/images/profiles/default_500.png
rename to lms/static/images/edx-theme/default_500.png
diff --git a/themes/edx.org/lms/static/images/logo.png b/lms/static/images/edx-theme/edx-header-logo.png
similarity index 100%
rename from themes/edx.org/lms/static/images/logo.png
rename to lms/static/images/edx-theme/edx-header-logo.png
diff --git a/themes/edx.org/lms/static/images/logo-large.png b/lms/static/images/edx-theme/edx-logo-bw.png
similarity index 100%
rename from themes/edx.org/lms/static/images/logo-large.png
rename to lms/static/images/edx-theme/edx-logo-bw.png
diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html
index c8df28da92..870d4785ed 100644
--- a/lms/templates/courseware/course_about.html
+++ b/lms/templates/courseware/course_about.html
@@ -17,7 +17,7 @@ from edxmako.shortcuts import marketing_link
ga=microsite.get_value('google_analytics_file', 'theme-google-analytics.html')
)
else:
- google_analytics_file = '../google-analytics.html'
+ google_analytics_file = '../google_analytics.html'
%>
<%include file="${google_analytics_file}" />
diff --git a/lms/templates/google-analytics.html b/lms/templates/google_analytics.html
similarity index 100%
rename from lms/templates/google-analytics.html
rename to lms/templates/google_analytics.html
diff --git a/lms/templates/main.html b/lms/templates/main.html
index bafffe7462..1ff63edf9d 100644
--- a/lms/templates/main.html
+++ b/lms/templates/main.html
@@ -61,13 +61,7 @@ from branding import api as branding_api
<%static:css group='style-vendor'/>
- ## route around the overwhelmingly complicated static:css nonsense
- <%
- application_css_path = "css/lms-main{rtl}.css".format(
- rtl="-rtl" if get_language_bidi() else "",
- )
- %>
-
+ <%static:css group='style-main'/>
% if disable_courseware_js:
<%static:js group='base_vendor'/>
@@ -90,7 +84,30 @@ from branding import api as branding_api
<%block name="headextra"/>
- <%static:optional_include_mako file="header-extra.html" with_microsite="True" />
+<%
+ if theme_enabled() and not is_microsite():
+ header_extra_file = 'theme-head-extra.html'
+ header_file = 'theme-header.html'
+ google_analytics_file = 'theme-google-analytics.html'
+
+ style_overrides_file = None
+
+ else:
+ header_extra_file = microsite.get_template_path('header_extra.html')
+
+ if settings.FEATURES['IS_EDX_DOMAIN'] and not is_microsite():
+ header_file = microsite.get_template_path('navigation-edx.html')
+ else:
+ header_file = microsite.get_template_path('navigation.html')
+
+ google_analytics_file = microsite.get_template_path('google_analytics.html')
+
+ style_overrides_file = microsite.get_value('css_overrides_file')
+%>
+
+ % if header_extra_file:
+ <%include file="${header_extra_file}" />
+ % endif
<%include file="widgets/optimizely.html" />
<%include file="widgets/segment-io.html" />
@@ -98,7 +115,11 @@ from branding import api as branding_api
- <%static:optional_include_mako file="google-analytics.html" with_microsite="True" />
+ <%include file="${google_analytics_file}" />
+
+% if style_overrides_file:
+
+% endif
@@ -110,7 +131,7 @@ from branding import api as branding_api
#content%block>">${_("Skip to main content")}
% if not disable_header:
- <%include file="header.html" />
+ <%include file="${header_file}" />
% endif
@@ -119,7 +140,16 @@ from branding import api as branding_api
% if not disable_footer:
- <%include file="themable-footer.html" />
+ <%block name="footer">
+ ## Can be overridden by child templates wanting to hide the footer.
+ % if theme_enabled() and not is_microsite():
+ <%include file="theme-footer.html" />
+ % elif settings.FEATURES.get('IS_EDX_DOMAIN', False) and not is_microsite():
+ <%include file="footer-edx-v3.html" />
+ % else:
+ <%include file="${microsite.get_template_path('footer.html')}" />
+ % endif
+ %block>
% endif
% if not disable_window_wrap:
diff --git a/lms/templates/themable-footer.html b/lms/templates/themable-footer.html
deleted file mode 100644
index dc688d9f43..0000000000
--- a/lms/templates/themable-footer.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<%!
-from microsite_configuration import microsite
-%>
-<%
-theme_enabled = settings.FEATURES.get("USE_CUSTOM_THEME", False)
-is_microsite = microsite.is_request_in_microsite()
-%>
-
-% if theme_enabled and not is_microsite:
- <%include file="theme-footer.html" />
-% else:
- <%include file="${microsite.get_template_path('footer.html')}" />
-% endif
diff --git a/themes/README.rst b/themes/README.rst
index 547c7d01f1..88fe30dc17 100644
--- a/themes/README.rst
+++ b/themes/README.rst
@@ -90,28 +90,6 @@ in the appropriate place, and making the changes you need. Keep in mind that
in the future if you upgrade the Open edX code, you may have to update the
copied template in your theme also.
-Template Names
-==============
-
-Here are the list of template names that you *should* use in your comprehensive
-theme (so far):
-
-* ``header.html``
-* ``footer.html``
-
-You should **not** use the following names in your comprehensive theme:
-
-* ``themable-footer.html``
-
-If you look at the ``main.html`` template file, you will notice that it includes
-``header.html`` and ``themable-footer.html``, rather than ``footer.html``.
-You might be inclined to override ``themable-footer.html`` as a result. DO NOT
-DO THIS. ``themable-footer.html`` is an additional layer of indirection that
-is necessary to avoid breaking microsites, which also refers to a file named
-``footer.html``. The goal is to eventually make comprehensive theming do
-everything that microsites does now, and then deprecate and remove microsites
-from the codebase. At that point, the ``themable-footer.html`` file will go
-away, since the additional layer of indirection will no longer be necessary.
Installing your theme
---------------------
diff --git a/themes/edx.org/lms/templates/footer.html b/themes/edx.org/lms/templates/footer.html
deleted file mode 100644
index d74638c628..0000000000
--- a/themes/edx.org/lms/templates/footer.html
+++ /dev/null
@@ -1,81 +0,0 @@
-## mako
-<%!
- from django.utils.translation import ugettext as _
- from branding.api import get_footer
-%>
-<% footer = get_footer(is_secure=is_secure) %>
-<%namespace name='static' file='static_content.html'/>
-
-## WARNING: These files are specific to edx.org and are not used in installations outside of that domain. Open edX users will want to use the file "footer.html" for any changes or overrides.
-
-% if include_dependencies:
- <%static:js group='base_vendor'/>
- <%static:css group='style-vendor'/>
- <%include file="widgets/segment-io.html" />
-% endif
-% if footer_css_urls:
- % for url in footer_css_urls:
-
- % endfor
-% endif
-% if footer_js_url:
-
-% endif
-
diff --git a/themes/edx.org/lms/templates/header.html b/themes/edx.org/lms/templates/header.html
deleted file mode 100644
index 3194120dc9..0000000000
--- a/themes/edx.org/lms/templates/header.html
+++ /dev/null
@@ -1,157 +0,0 @@
-## mako
-<%namespace name='static' file='static_content.html'/>
-<%namespace file='main.html' import="login_query"/>
-<%!
-from django.core.urlresolvers import reverse
-from django.utils.translation import ugettext as _
-
-from microsite_configuration import microsite
-from microsite_configuration.templatetags.microsite import platform_name
-
-# App that handles subdomain specific branding
-import branding
-# app that handles site status messages
-from status.status import get_site_status_msg
-%>
-
-## Provide a hook for themes to inject branding on top.
-<%block name="navigation_top" />
-
-<%block>
-<%
-try:
- course_id = course.id.to_deprecated_string()
-except:
- # can't figure out a better way to get at a possibly-defined course var
- course_id = None
-site_status_msg = get_site_status_msg(course_id)
-%>
-% if site_status_msg:
-