diff --git a/cms/djangoapps/contentstore/context_processors.py b/cms/djangoapps/contentstore/context_processors.py new file mode 100644 index 0000000000..66ba685661 --- /dev/null +++ b/cms/djangoapps/contentstore/context_processors.py @@ -0,0 +1,20 @@ +import ConfigParser +from django.conf import settings + +config_file = open(settings.REPO_ROOT / "docs" / "config.ini") +config = ConfigParser.ConfigParser() +config.readfp(config_file) + + +def doc_url(request): + # in the future, we will detect the locale; for now, we will + # hardcode en_us, since we only have English documentation + locale = "en_us" + + def get_doc_url(token): + try: + return config.get(locale, token) + except ConfigParser.NoOptionError: + return config.get(locale, "default") + + return {"doc_url": get_doc_url} diff --git a/cms/envs/common.py b/cms/envs/common.py index bd19b365b9..7185670b81 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -117,6 +117,7 @@ TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', # this is required for admin 'django.core.context_processors.csrf', 'dealer.contrib.django.staff.context_processor', # access git revision + 'contentstore.context_processors.doc_url', ) # use the ratelimit backend to prevent brute force attacks diff --git a/common/djangoapps/edxmako/middleware.py b/common/djangoapps/edxmako/middleware.py index 9587c0b2b0..27b129f571 100644 --- a/common/djangoapps/edxmako/middleware.py +++ b/common/djangoapps/edxmako/middleware.py @@ -12,8 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import ConfigParser -from django.conf import settings from django.template import RequestContext from util.request import safe_get_host requestcontext = None @@ -26,21 +24,3 @@ class MakoMiddleware(object): requestcontext = RequestContext(request) requestcontext['is_secure'] = request.is_secure() requestcontext['site'] = safe_get_host(request) - requestcontext['doc_url'] = self.get_doc_url_func(request) - - def get_doc_url_func(self, request): - config_file = open(settings.REPO_ROOT / "docs" / "config.ini") - config = ConfigParser.ConfigParser() - config.readfp(config_file) - - # in the future, we will detect the locale; for now, we will - # hardcode en_us, since we only have English documentation - locale = "en_us" - - def doc_url(token): - try: - return config.get(locale, token) - except ConfigParser.NoOptionError: - return config.get(locale, "default") - - return doc_url