Commit Graph

95 Commits

Author SHA1 Message Date
Jeremy Bowman
103c723c6d PLAT-1801 Preserve new user login behavior under Django 1.10+ 2017-12-05 10:20:25 -05:00
bmedx
5fbbf4979a Tag LMS Unit 1 tests that fail in Django 1.11 2017-11-22 15:46:45 -05:00
Ned Batchelder
e23e3a0486 Fix a number of unused-import pylint violations 2017-11-21 19:57:06 -05:00
Hamza Munir
4a3164e2e3 Footer New design using bootstrap
This is a work in progress finished the 320px - 539px mobile
screen design.

LEARNER-2311
2017-10-30 14:55:26 +05:00
Waheed Ahmed
c56f72878e Fix edX logo links to home page instead of dashboard.
When you are on the Dashboard, or on any page in courseware, the logo
in the Header links to dashboard and the logo in the footer links
to edX home page.

LEARNER-2881
2017-10-20 14:49:06 +05:00
Hasnain
bb33a3aa25 LEARNER-1146 | Removed the flag and their corresponding code. 2017-08-23 14:58:47 +05:00
Afzal Wali
b8a310d54b Put the program_types filter under the waffle switch 2017-07-06 13:12:43 -04:00
Afzal Wali
383208c4c8 multitenant Program cache.
Fetched Programs and Program details from Course Discovery service for all sites and stored the uuids in cache with site-specfic keys.
Learner-1146
2017-07-04 14:20:55 +05:00
Ned Batchelder
01018ec418 Correct spelling of 'Open edX', and pedantic typography in the copyright footer 2017-06-29 10:22:38 -04:00
Ned Batchelder
6adca0ff11 Add a link to edx.org in the default Open edX footer 2017-06-20 10:18:54 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Anthony Mangano
70d8c5c22c update footer endpoint in branding api to support inclusion of language selector 2017-05-17 12:33:00 -04:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Hasnain
41f3bba058 Backend code for program detail page.
This adds functions to the catalog utils which munge data
collected from the program endpoint and LMS database to construct
data structures that are ready for use by view and templates
related to the Open EdX marketing pages that live in LMS.

WL-766
2017-02-13 20:37:56 -05:00
Renzo Lucioni
e7771148b7 Load all programs from the catalog
This commit contains back end changes necessary to load programs from the catalog in all contexts. The existing program munging utility is applied as late as possible to avoid conflating this work with changes to the front end; those will be made separately.

ECOM-4422
2017-02-06 23:16:29 -05:00
Afzal Wali
e44e18592f Programs list conditionally added to the context of index and courses page. 2016-12-15 18:16:48 +05:00
Brittney Exline
a42bbd57fb ENT-11 Adding link to enterprise page in the footer
Added enterprise link, moved media kit down to second line, and adjusted styling
to avoid wrapping when possible.
2016-12-07 15:51:30 -05:00
Matthew Piatetsky
ae7020cbf9 Add Media Kit and move sitemap in footer 2016-11-22 13:20:29 -05:00
Douglas Hall
1d1952c8d3 Added SiteMixin for tests that need to test Site specific functionality 2016-09-23 15:57:08 -04:00
Sanford Student
fc943ff539 moving milestones check to access.py and upgrading milestones version 2016-08-04 14:47:15 -04:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
Saleem Latif
5503285f5c Fix branding api get_logo_url return value 2016-07-13 09:25:22 +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
Michael Frey
6efc461fb6 mjfrey/micro-settings-merge: Override base dictionary keys with microsite configuration keys
* mattdrayer: Add helpers.get_value test
* mattdrayer: Change to simpler implementation, per @douglashall
* mattdrayer: Address quality violations and test failures
2016-06-21 23:28:36 -04:00
Calen Pennington
7d32129b9f Use the Django TestClient for branding unit tests, so that middleware is cleaned up properly 2016-06-08 16:43:31 -04:00
Nimisha Asthagiri
c6954902e3 Create courseware/views folder 2016-05-03 09:02:45 -04:00
Douglas Hall
37a7fdc0f2 Added subsection gating feature 2016-01-28 14:05:20 -05:00
Zia Fazal
c0648ab164 moved IS_EDX_DOMAIN dependent feature to edx.org theme 2016-01-22 15:32:19 -05:00
Nimisha Asthagiri
d6364312f4 Course Overview - require manual seeding of the table. 2015-12-13 23:35:46 -05:00
Davorin Sego
8d6df18357 Course discovery UI improvements 2015-07-28 11:59:44 +02:00
Chris Dodge
b741ce786b fix python unit tests 2015-07-01 13:46:55 +02:00
Will Daly
2fd68dc983 ECOM-1724 a11y footer updates
* Add action text to social media links.
* Make the alt text for mobile links more descriptive.
2015-06-12 11:34:39 -04:00
Chris Dodge
e47c97b465 make courses.html also honor the ENABLE_COURSE_DISCOVERY feature flag 2015-06-08 07:46:55 -04:00
Kevin Falcone
fecd3d55a7 Merge branch 'release' 2015-06-03 16:12:32 -04:00
Will Daly
70c6ce8ddb ECOM-1678: Fix broken footer image URLs when using a CDN. 2015-06-01 13:03:16 -04:00
Martyn James
7f633fc045 Course Discovery feature using edx-search 2015-06-01 10:33:45 +02:00
Will Daly
6af5fc1452 ECOM-1339 Branding API footer
Serve branded footer JSON/HTML/CSS/JS from an API endpoint
in the branding app.  Refactor OpenEdX and EdX.org footer templates
to use the Python version of the API, ensuring that the API
values are consistent with the footer included in main.html.

Detailed changes:

* Added footer API end-point to the branding app.
* Footer API allows the language to be set with querystring parameters.
* Footer API allows showing/hiding of the OpenEdX logo using querystring parameters.
* Deprecate ENABLE_FOOTER_V3 in favor of the branding API configuration flag.
* Move no referrer script into main.html from the edx footer template.
* Rename rwd_header_footer.js to rwd_header.js
* Cache API responses.

Authors:
Awais Qureshi, Aamir Khan, Will Daly
2015-05-28 08:30:45 -04:00
Christine Lytwynec
ddb1ae667e Split lms unittests into multiple shards 2015-05-07 09:17:26 -04:00
marjev
939a3672d4 (SOL-531)(SOL-532)Course Cards update; A link to course discovery page has been added to the OpenEdX homepage 2015-04-14 14:58:06 +02:00
Ned Batchelder
81d17c516e Fix or remove tearDown methods that don't use super.
Update edx-lint to the version that checks if tearDown uses super.

Convert a number of tearDown methods into addCleanup.

Remove some unneeded tearDown methods: no need to call patch.stopall if
none of them were started with patch.start.
2015-03-17 15:14:52 -04:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
Calen Pennington
b353ed2ea2 Better support specifying of modulestore configuration in test cases
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.

In a structure like:

    @override_settings(MODULESTORE=store_a)
    class BaseTestCase(ModuleStoreTestCase):
        def setUp(self):
            # use store

    @override_settings(MODULESTORE=store_b)
    class ChildTestCase(BaseTestCase):
        def setUp(self):
            # use store

In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.

To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.

[PLAT-419]
2015-02-04 09:09:14 -05:00
Calen Pennington
03a05fd9d4 Always call super(..).setUp() from setUp 2015-02-04 09:09:14 -05:00
Chris Rodriguez
9e2494b21d Video player branding addition for XuetangX 2015-01-28 06:39:21 -05:00