Commit Graph

61 Commits

Author SHA1 Message Date
Douglas Hall
1d1952c8d3 Added SiteMixin for tests that need to test Site specific functionality 2016-09-23 15:57:08 -04:00
Douglas Hall
8f6182aabf Allow for site override of MKTG_URLS setting in index view 2016-09-22 15:58:27 -04:00
Saleem Latif
6277bd27e6 Remove all usages of USE_CUSTOM_THEME and THEME_NAME from python files 2016-07-27 14:53:02 +05:00
Saleem Latif
8ae92901ef 1. Merge microsites into Comprehensive Theming
2. Add site configuration overrides to theming/helpers.py
3. Move microsite.get_value from theming/helpers to site_configuration/helpers
4. Move microsite_configuration.microsite.get_value usages to site_configuration.helpers.values
2016-07-27 13:55:14 +05:00
Matt Drayer
68312bdd2d Revert "Revert "saleem-latif/WL-328: Multi-Site Comprehensive Theming""
2. Update COMPREHNSIVE_THEME_DIR to COMPREHENSIVE_THEME_DIRS
3. Update paver commands to support multi theme dirs
4. Updating template loaders
5. Add ENABLE_COMPREHENSIVE_THEMING flag to enable or disable theming via settings
6. Update tests
7. Add backward compatibility for COMPREHEHNSIVE_THEME_DIR
2016-06-30 15:19:51 +05:00
Calen Pennington
a88fa5c07a Remove mako_middleware_process_request, which doesn't cleanup after itself 2016-06-09 10:10:40 -04:00
Calen Pennington
93970f3473 Allow edxmako to be passed an explicit request to create the RequestContext from 2016-06-08 16:35:25 -04:00
Calen Pennington
0e8af4cccc Use the non-deprecated functions for edxmako to access the request_cache 2016-06-08 16:35:24 -04:00
Calen Pennington
25c4398125 Convert edxmako to use django_crum to get the current request 2016-06-08 16:35:24 -04:00
Renzo Lucioni
affee69296 Manually merge release into master 2016-04-14 14:23:06 -04:00
Ned Batchelder
4f9f87c192 Fix encoding of Django-called Mako files to be safe
The old code set the output-encoding to None, which means, I want
Unicode strings as output.  This made Mako pass markupsafe objects to
"unicode()", which applied all the escaping.  Then the result would be
given to Django, would would html-escape it again, resulting in
over-escaping.

By setting the output-encoding to utf8, we use filters.encode.utf8
instead, which is aware of Markupsafe, which avoids the over-escaping.
2016-04-11 14:00:15 -04:00
Zia Fazal
a796b56314 saleem-latif/WL-328: Multi-Site Comprehensive Theming
ziafazal: improvements need for multi-tenancy
ziafazal: fixed broken tests
ziafazal: no need to add setting in test.py
ziafazal: added hostname validation
ziafazal: changes after feedback from mattdrayer
ziafazal: fixed branding and microsite broken tests
ziafazal: make STATICFILES_DIRS to list
ziafazal: added theme directory to mako lookup for tests
ziafazal: added more protection in test_util
saleem-latif: Enable SCSS Overrides for Comprehensive Theming
saleem-latif: Incoporate feedback changes, Correct test failures, add tests and enable theming for django templates
saleem-latif: Correct errors in python tests
mattdrayer: Fix invalid release reference
mattdrayer: Update django-wiki reference to latest release
saleem-latif: Update Theme storages to work with Caching, Pipeline and collectstatic
saleem-latif: Incorporate feedback changes
mattdrayer: Pylint violation fix
mattdrayer: Fix broken pavelib test
2016-03-28 14:57:01 -04:00
Jesse Zoldak
f891d27cbb Revert "ziafazal/WL-328: Multi-Site Comprehensive Theming"
This reverts commit 954dae584a.
2016-03-16 11:19:36 -04:00
Zia Fazal
954dae584a ziafazal/WL-328: Multi-Site Comprehensive Theming
ziafazal: improvements need for multi-tenancy
ziafazal: fixed broken tests
ziafazal: no need to add setting in test.py
ziafazal: added hostname validation
ziafazal: changes after feedback from mattdrayer
ziafazal: fixed branding and microsite broken tests
ziafazal: make STATICFILES_DIRS to list
ziafazal: added theme directory to mako lookup for tests
ziafazal: added more protection in test_util
saleem-latif: Enable SCSS Overrides for Comprehensive Theming
saleem-latif: Incoporate feedback changes, Correct test failures, add tests and enable theming for django templates
saleem-latif: Correct errors in python tests
mattdrayer: Fix invalid release reference
mattdrayer: Update django-wiki reference to latest release
2016-03-14 13:42:53 -04:00
David Ormsbee
13682e4694 Cache edxmako request context computation.
When capa problem rendering was moved to happen inline on courseware
page loads, we started executing many more Mako templates on sequences
with large numbers of thse problems. To help offset this, we're caching
the context generation (it showed up as the easiest piece of low
hanging fruit on profiles of the courseware index page).

[PERF-261]
2016-02-26 16:15:07 -05:00
Matjaz Gregoric
f4e462c728 Merge pull request #11316 from open-craft/remove-django-template-loaders
Remove default django template loaders.
2016-02-18 20:38:47 +01:00
Matjaz Gregoric
434f196550 Remove default django template loaders.
Mako filesystem/app_directories loaders already wrap default django template loaders.

Mako loaders delegate the `load_template_source` method to the base loader that
they wrap, so there's no reason to explicitly include the two django loaders in the settings.
2016-01-28 09:33:09 +01:00
Zia Fazal
c0648ab164 moved IS_EDX_DOMAIN dependent feature to edx.org theme 2016-01-22 15:32:19 -05:00
Matt Drayer
9bcb1166a1 Merge pull request #11073 from edx/ziafazal/WL-245
Ziafazal/wl-245: multiple backend support for microsite
2016-01-15 10:10:27 -05:00
Felipe Montoya
4742e661f4 Creating a settings object that is aware of the microsite settings.
Adding the declaration of the settings object to openedx.conf to be able to import it from a nicer location

Resolving quality violations

Merging dicts with the settings definition when they exist in the microsite configuration

Using a cache to improve the perfomance of quering any dictionary in the microsite definition

Ignoring the invalid-name pylint warning since the names must be kept thsi way to stay the same as the ones in django.
Removing the default dict argument as per https://docs.python.org/2/tutorial/controlflow.html#default-argument-values

Extracting the implementation of the microsite to a selectable backend.

Leaving the function startup.enable_microsites for backwards compatibilityy

Adding a database backend

Using a cache to improve the perfomance of quering any dictionary in the microsite definition.
Changed the database backend so that it extends the settings file backend and removed all the unnecessary methods.

Using the backend provider for the get_dict function

some tweeks and some initial unit tests

Using getattr as a function insteal of calling the underlying __getattr__ directly

Adding an ModelAdmin object for the microsite model in the django-admin panel

refactor enable_microsites()

consolidate/refactor some shared code

add config to aws.py and add migration files

fix tests

Changes to get the backends to run after the refactor

add archiving capabilities to microsites. Also make a few notes about performance improvements to make

fix tests

Making the query to find if microsites exist in the database faster

add ORG to microsite mapping tables and some performance improvements

allow for Mako templates to be pulled from the database

fix tests

For the database template backend the uri of the template does not use the filesystem relative path

Fixing pylint violations

Added caching of the templates stored in the database

Fixing pylint errors

fix pylint

Clearing the cache on model save

Fixing pylint errors

rebased and added test coverage

rebased cdodge/microsite-improvements branch with master and added test
coverage

added missing migration

fix quality violations

add more test coverage

mattdrayer: Add microsite_configuration to cms.INSTALLED_APPS

added microsite settings to cms/envs/test.py

run session cookie tests only in LMS

fixed broken tests

putting middleware changes back

Preventing the template_backend to be called on requests which have no microsite

changes to address feedback from mjfrey

changed BaseMicrositeBackend to AbstractBaseMicrositeBackend

changes after feedback from mattdrayer

fixed broken tests and quality violations

Allowing the backend to handle the enable_pre_startup routine

Typos and docstrings

Adressing feedback

Fixing python tests

add comment to explain why we need enable_microsites_pre_startup()
2016-01-15 14:52:36 +05:00
Hasnain
c14f65a293 Added site_map in static template
Allow file extensions in MKTG_URL_LINK_MAP template keys
Set content type on requests for static templates based on the template key
2016-01-14 13:44:54 -05:00
Dan Powell
31646e4a72 Don't render unconfigured marketing links in CMS footer. 2015-12-03 13:41:53 -05:00
Usman Khalid
6cb62f2697 Rebase upgrade Django to v1.8.5
Please note that this is a squshed commit and the work of:
Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
2015-11-10 15:00:19 -05:00
Ned Batchelder
5d64f9a80b Minor changes, responding to pull request comments 2015-09-17 15:39:03 -04:00
David Baumgold
6ebf2515f4 Comprehensive theming
This is a squash of 38 commits ending with
5b080f979d692804452400ac5bed9b17c50b001e
2015-09-17 15:39:03 -04:00
jsa
41b0b793de reduce log severity when building marketing links 2015-07-10 16:21:12 -04:00
Ned Batchelder
5d39b0ce29 Make edxmako cache properly with changing lookup paths 2015-06-17 11:32:59 -04:00
Ned Batchelder
78e9445aa1 Add super() calls to setUp/tearDown that are missing them
Also, I replaced a number of tearDown methods with addCleanup instead.
And also remove some unneeded patch.stopall() calls.
2015-05-14 18:14:21 -04:00
Ned Batchelder
a84735057d Move common/lib/*.py to openedx/core/lib
This makes these files importable, and puts them into the new best guess
as to where files should live.
2015-03-23 12:40:24 -04:00
Calen Pennington
cbcb0ee8ab Teach edx-mako to force csrf_tokens to unicode (from smart_strings) 2015-02-27 13:38:16 -05:00
Andy Armstrong
4d75c18098 Fix Mako templates to use latest request context
Fixed the edX middleware to lazily create request
context for Mako templates, so that it is based on
any changes made to the request object.

Verified that with this fix the "Instructor" tab is
correctly hidden when a staff member is viewing
the course as a student.
2014-12-09 23:38:31 -05:00
stv
fb9f324f2f Fix PEP8: E303 too many blank lines 2014-11-10 11:00:14 -08:00
stv
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
Sarina Canelake
725e4908e3 Remove more pep8 violations 2014-11-04 07:37:41 -05:00
stephensanchez
c15d97ea9b Removing the feature flags for new header and footer.
Fix acceptance tests

Updating lettuce tests.

Revert the deletion of the original edx header and footer.

Renaming old header and footers to legacy files.

Add IS_EDX_DOMAIN flag for header.

Updating tests and django main template.

renaming the header files for microsite backwards compat.
2014-10-14 17:47:46 +00:00
Chris Dodge
8e1d0f7f23 For microsites, since we don't have a footer override yet for django templates, remove the footer all together 2014-09-17 10:52:04 -04:00
Stephen Sanchez
2f4fb30592 Cleaning up ddt syntax for new footer test. 2014-09-02 13:14:28 +00:00
Stephen Sanchez
75d6f99fed The main django template needs header and footer feature flags. 2014-09-02 12:08:22 +00:00
Jesse Zoldak
96153ceed0 Revert "The main django template needs header and footer feature flags." 2014-08-29 16:43:30 -04:00
Stephen Sanchez
20a66ee2ef The main django template needs header and footer feature flags. 2014-08-29 15:38:28 +00:00
Waheed Ahmed
d9ccaa650a Check REQUEST_CONTEXT.context exists before accessing it.
LMS-11226
2014-08-14 12:21:54 -04:00
Waheed Ahmed
05b87fd99b Implemented process_response method to clear requestcontext global variable in mako middleware.
LMS-6622
2014-08-06 19:58:20 +05:00
Calen Pennington
c54972e855 Fix bad interaction between pluggable InputTypes and Microsites
Pluggable InputTypes use edxmako.paths.add_lookup to inject new
mako template directories. Those were getting clobbered by microsites
(and by theming), which were completely rebuilding the mako template
lookup list from scratch.

This commit switches those two features to use the same add_lookup
function as pluggable InputTypes.

[LMS-2489]
2014-04-01 16:49:15 -04:00
Will Daly
44dad41ede Switch from Rake to Paver 2014-03-25 11:32:19 -04:00
Bertrand Marron
efa8bd6755 Add method to clear mako template lookups
Quick and dirty fix (edxapp.startup.run is called twice, once before
loading the configuration, so the paths defined in lms.startup are
basically ignored).
2014-03-06 17:09:40 +01:00
Chris Dodge
aa43689a93 This PR addresses the open feedback on the Microsites feature 2014-02-28 16:27:12 -05:00
Will Daly
812e71bbbb Revert "Fix sys.path manipulation in pavement.py, with detailed comment"
This reverts commit 544616be4b.
2014-02-24 11:30:40 -05:00
Will Daly
544616be4b Fix sys.path manipulation in pavement.py, with detailed comment
Restore reverted changes from paver part 1
2014-02-18 15:09:07 -05:00
Will Daly
c85c4b22ed Revert "Replace rake functions with python paver functions"
This reverts commit df2e410f2a.
2014-02-14 14:25:28 -05:00
David Glance
df2e410f2a Replace rake functions with python paver functions
Deprecated rake functions issue a warning and then call paver
replacements

Bring Paver commands up to date with master for servers, assets, and docs.
Revert deprecation of quality, tests, and i18n for a future pull request.
Deprecate workspace migration
2014-02-14 11:25:55 -05:00