Commit Graph

52 Commits

Author SHA1 Message Date
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
Chris Rossi
0a1ed11daa Make mako template lookups pluggable.
This code adds the ability to add Mako template lookup directories on
the fly, allowing third party add-ons to contribute their own Mako templates.
A new API function for registering Mako templates is introduced::

    from edxmako import add_lookup

    add_lookup('main', '/path/to/templates')

    # Or, specify a package to lookup using pkg_resources.  This will
    # add the 'templates' directory inside the current package:
    add_lookup('main', 'templates', package=__name__)
2014-01-31 13:55:36 -05:00
David Baumgold
b25b3e1bef Move doc_url function out of edxmako middleware 2014-01-29 14:52:43 -05:00
David Ormsbee
42e0ec403e Merge pull request #2251 from edx/release
Merging Release 2014-01-21
2014-01-21 12:41:05 -08:00
Chris Dodge
c9718380ea catch additional FEATURE['ENABLE_MKTG_SITE'] checks and make sure MicrositeConfigurations will override the global setting
one more faulty login regarding ENABLE_MKTG_SITE=true situations
2014-01-16 17:04:17 -05:00
David Baumgold
7928535b7b Add function to generate documentation links
STUD-1090
2014-01-16 14:11:15 -05:00
Chris Dodge
a3211a7405 Introduction of the Microsite feature which allows for limited multi-tenant branding on a subdomain basis, e.g. foo.edx.org and bar.edx.org
fix errorenous logic when running a microsite that could reside in a hosting environment with a marketing site in front of it

pep8/pylint fixes

address PR feedback, remove underscore from test hostname

more pep8/pylint cleanup. Skip test_microsites test, it works on localdev, not on Jenkins. Need to talk with QA team

manually add Ned's single-to-double quote fix

change aws.py runtimes so that the microsite_dir that is read from configuration is changed to a python path

Conflicts:
	lms/templates/help_modal.html
2014-01-14 14:36:01 -05:00
David Baumgold
85453f703e Fix theme issues in Sass preprocessing 2014-01-10 10:40:09 -05:00
Julia Hansbrough
f351b05031 Fixing email link injection bug
Several templates used a variable set by the user (the request host header).  This led to a vulnerability where an attacker could inject their domain name into these templates (i.e., activation emails).  This patch fixes this vulnerability.

LMS-532
2013-12-18 13:38:36 -05:00
David Baumgold
b32f2bc170 MITX_ROOT_URL => EDX_ROOT_URL 2013-12-04 12:59:35 -05:00