Commit Graph

4136 Commits

Author SHA1 Message Date
Will Daly
e2acf3ab87 Credit eligibility/provider refactor
* Remove m2m relation between credit course and credit providers.
* Separate eligibility and provider APIs into different modules.
* Add API call for retrieving a user's eligibilities.
* Cache credit course list.
* Style the dashboard purchase button.
* Display a link for the credit provider on the dashboard.
* Add analytics events for clicks on the purchase button.
* Expose more credit models to Django admin and add search functionality.
2015-07-02 10:03:52 -07:00
Akiva Leffert
07fda73ffa Remove border from chromeless xblock
JIRA: https://openedx.atlassian.net/browse/MA-972
2015-07-01 12:11:15 -04:00
Marco Morales
b9ed758246 Initial syles cleanup and changes for course discovery on openedx 2015-07-01 13:46:54 +02:00
Zia Fazal
ad1f4951fc get_certificate_url should return certificate download_url in case of non html certificates 2015-07-01 16:14:37 +05:00
Ahsan Ulhaq
7787974dd5 Order of Credit Eligibility line items
Displayed eligibility line items on the Progress page of a Credit course
in the order of appearance in the courseware.

ECOM-1782
2015-07-01 13:40:39 +05:00
Adam Palay
4bb4efe9d9 Merge remote-tracking branch 'origin/release' into rc/2015-06-29
Conflicts:
	requirements/edx/github.txt
2015-06-29 16:55:57 -04:00
Adam Palay
61431015c2 update xblock only to mark field values as dirty if they've changed (TNL-2475)
force save "download_video" field if not set

set timezone to UTC explicitly
2015-06-29 14:28:45 -04:00
Awais
b8e04f30a1 ECOM-1597 adding signals to update min-grade requirement. 2015-06-29 15:01:19 +05:00
Zia Fazal
bcbd1464d4 New course cannot be started till web certificate is active
fixed broken test

changes based on feedback on 6/24

fixed broken unit test after feedback changes

added more checks and updated tests

fixed broken bok choy test

Fixed pylint quality error

trying to fix pylint quality error
2015-06-29 12:53:21 +05:00
Sarina Canelake
9f46d9f0c5 Regression test: dark lang stays set through multiple pages 2015-06-26 13:15:44 -04:00
Sarina Canelake
cf80c96f0b Add i18n roundtrip regression tests for language pref and dark lang
Tests would have caught issues raised in LOC-87
2015-06-26 13:15:44 -04:00
Sarina Canelake
5fcdafd0cf Add i18n regression tests (LOC-72, LOC-85) 2015-06-26 13:15:42 -04:00
Calen Pennington
ba971db1ba Merge pull request #8594 from cpennington/pass-xblock-parents
Pass xblock parents
2015-06-26 12:15:41 -04:00
Matt Drayer
700eb8b702 mattdrayer/fix-progress/template: Improved web certificates support 2015-06-26 10:43:26 -04:00
Calen Pennington
fdf81042f5 Pass XBlock parents down to their children when constructing them, for caching 2015-06-25 13:59:46 -04:00
Nimisha Asthagiri
8b5e5c5910 Merge branch 'release' 2015-06-25 13:11:41 -04:00
Utkarsh
dac018f459 Adding dependency for edx-user-state-client 2015-06-25 03:10:50 +00:00
Will Daly
75d194e279 Update credit eligibility
* Update credit eligibility when a user satisfies an eligibility requirement.
* Refactor set_credit_requirement_status arguments.
* Use django-simple-history to track requirement status changes.
* Refactor progress page by moving credit into a helper function and adding comments.
2015-06-24 15:19:27 -07:00
Marco Morales
2dfca626a7 Merge pull request #8151 from edx/marco/capa-styling
Updated styling for basic capa problems (multiple choice, dropdown, checkboxes, numerical input and text input) including support for mobile app experience.
2015-06-24 09:05:34 -04:00
Diana Huang
ecd237396e Merge pull request #8617 from edx/diana/course-tab-cleanup
Switch tabs to use ugettext_noop for titles.
2015-06-23 12:33:06 -04:00
Diana Huang
e6cbff47b7 Switch tabs to use ugettext_noop for titles. 2015-06-23 11:08:41 -04:00
Kyle McCormick
aa5e2f49bd Fixes tests, adds internationalized strings for new state tooltips, corrected tooltip javascript, etc. 2015-06-23 10:27:22 -04:00
Kyle McCormick
d84c3bd7a9 MA-776 change UserCourseEnrollmentsList endpoint to use course_overviews 2015-06-22 18:33:12 -04:00
Sarina Canelake
e7cbcfff20 Merge pull request #8618 from edx/sarina/revert-8402
Revert "Merge pull request #8402 from edx/sarina/annotate-middleware"
2015-06-22 16:05:49 -04:00
Matt Drayer
f0f3766443 mattdrayer/ECOM-1773: Fixed invalid URL reversal 2015-06-22 14:04:43 -04:00
Sarina Canelake
1e21945e22 Revert "Merge pull request #8402 from edx/sarina/annotate-middleware"
This reverts commit 09425c3d8f, reversing
changes made to 410b9282af.
2015-06-22 13:55:53 -04:00
Marco Morales
8acc72975e Iniital refactor of capa styling for basic checkbox and multiple choice problem types, including additional comments to sass styles 2015-06-22 10:50:58 -04:00
Ahsan Ulhaq
6fdff766bc Credit eligibility requirements display on student progress page
ECOM-1523
2015-06-22 18:36:54 +05:00
utkjad
59e0d22fc3 Adding call stack manager 2015-06-19 20:43:26 +00:00
Diana Huang
d779466f09 Make course tab refreshing safer. 2015-06-19 14:53:49 -04:00
Calen Pennington
e3d820a7a4 Merge pull request #8519 from jazkarta/check-ccx-enabled
WIP: Limit application of CCX overrides to enabled courses and providers
2015-06-17 16:15:01 -04:00
Calen Pennington
b8e63cbb4d Disable lineage traversal when no providers are specified in OverrideFieldData 2015-06-17 15:26:10 -04:00
Carlos de la Guardia
d56303dd0f Only enable the OverrideFieldData when there are active overrides on a course. 2015-06-17 15:26:10 -04:00
Awais
4d5a4b035d ECOM-1683 removing regen-cert code. 2015-06-16 20:08:57 +05:00
Ahsan Ulhaq
d35b652843 Display Eligibility table on progress page
1-Adding basic html for displaying eligibility table
2-Updated Eligibility Requirements Dynamically

ECOM-1523
2015-06-16 16:19:33 +05:00
Matt Drayer
c3b78ea90a Merge pull request #8448 from edx/ziafazal/SOL-886
certificates event tracking SOL-886
2015-06-15 15:09:35 -04:00
Zia Fazal
6afaa3cce3 certificates event tracking
some optimisations

refactored code and added created event

added test to make sure generate event is emitted

changes based on feedback on 6/11

added certificate web page and tests

fixed quality violations
2015-06-15 19:53:47 +05:00
Sarina Canelake
ed2f73e6d2 Add i18n regression tests (LOC-72, LOC-85) 2015-06-12 18:14:26 -04:00
Calen Pennington
83fce4d61f Merge pull request #8395 from jazkarta/ccx-custom-ids
MIT CCX: Use CCX Keys
2015-06-12 16:19:12 -04:00
cewing
cb431ccb24 MIT CCX: Use CCX Keys: further revisions in response to code review
only require ccx-keys once

get_current_ccx will now expect a CourseKey instance as its argument, and will raise a value error if this expectation is not met.

document reason for local import

add special methods to pass attribute setting and deletion through to the wrapped modulestore

add __setattr__ and __delattr__ per code review, update __init__ to work with new methods

style change per code review

clean up context manager usage as recommended by code review

remove unused code and imports

convert modulestore type tests to use the `get_modulestore_type` api, remove unused imports

code quality: add docstrings

increase coverage for utils tests

fix bug found in testing.

increase test coverage on modulestore wrapper

code quality fixes

code-quality: ignore import error, but mark site for future consideration
2015-06-12 11:20:30 -07:00
Calen Pennington
c1ace04483 Merge pull request #8391 from edx/alawibaba/plat5892
First draft.
2015-06-12 12:39:38 -04:00
Calen Pennington
b9f5eef4ae Log an exception before swallowing it in a KeyValueMultiSaveError 2015-06-12 12:37:49 -04:00
Calen Pennington
0f6ef44476 Don't pass in a user object to DjangoUserStateClient 2015-06-12 12:37:49 -04:00
Ali Mohammad
69772ef20e Convert access to StudentModuleHistory to use the UserStateClient API. 2015-06-12 12:37:34 -04:00
Nimisha Asthagiri
1a15bd7bed Merge pull request #8209 from edx/mobile/xblock-support
Course Blocks + Navigation API (feature flagged) for Mobile
2015-06-12 11:25:23 -04:00
Phil McGachey
c3106bc4bd This change cleans up the work in progress request at #8176
This is an initial authentication implementation that allows LTI users to
log in transparently to edX. The behavior is driven by pilot users at
Harvard; this was the most requested feature.

The patch creates a new database model that maps users' LTI identifiers
to newly-created edX accounts. If an LTI launch comes in with a user_id
field that is not in the database, a new edX account is created with a
random user name and password. This account is then stored in the
database, so that it is permanently associated with the LTI user ID.

This patch takes a simplistic approach to session management. If a user
is logged in with a different account when they perform an LTI launch,
they will be logged out and then re-logged in using their LTI account.

In order to keep the patch simple, I have split out some refactoring
that needs to be done into a separate branch that I'll post once this
has been merged. Since we no longer redirect to the login page, we don't
need to maintain two separate LTI endpoints (one for the LTI launch and
one for authenticated users), or deal with the session management that
requires. There are also multiple fetches of the LtiConsumer object
(one in the view, one in the signature validation) that the later
patch will consolidate into one.

This branch fixes the previous conflicts with the test refactoring
carried out in PR 8240.
2015-06-12 10:21:48 -04:00
Nimisha Asthagiri
4921ec48c8 MA-792 Course Blocks and Navigation API (user-specific) 2015-06-12 09:27:20 -04:00
Nimisha Asthagiri
037ef3be77 Video module support for student_view_json. 2015-06-12 09:27:17 -04:00
cewing
ef4836503f MIT CCX: Use CCX Keys - responses to code review
remove references to middleware that were missed previously

use key apis rather than local implementation of key conversion.  remove local implementationa

remove spurious test for attribute

fix test setUp to avoid unneeded flattening

code quality fixes

add security check ensuring that the coach is coach for *this* CCX.

prevent ccx/deprecated course id problems

1.  do not allow ccx objects to be created if the course id is deprecated
2.  filter out any ccx memberships that involve deprecated course ids (in case there are bad ccxs in the database)

Fix test failures and errors arising from incorrect code path execution

Create context manager to handle unwrapping and restoring ccx values for the modulestore wrapper, employ it throughout modulestore wrapper implementation
2015-06-12 00:01:24 -07:00
cewing
6a0c9aee9d MIT CCX: Use CCX Keys
Implement the use of CCX opaque keys throughout the ccx code base

include the new custom ccx id package in the github checkouts list

update the coach dashboard wrapper to get CCX information from the incoming course_id, if possible

update function signatures for all view functions to expect CCX as passed by the dashboard wrapper (default to None), remove calls to get_ccx_for_coach as the ccx is passed in.

update reverse calls in python view code to use a CCXLocator for the URL instead of a CourseLocator

use CCXLocator where necessary

use course id to find ccx, instead of thread local

remove unused method and related tests

use course id for getting ccx

provide course id to the get_current_ccx method

ensure the course id passed in is a CourseKey instance of some type whether it starts out as a string or not

use the provided block to figure out what the course_id should be, then get the ccx for that

redirect to ccx dashboard using coach ccx if no ccx is passed in

update student dashboard listing for ccx to build an appropriate url from a CCXLocator, not from the course locator.

refactor building the ccx locator so we don't have to do it repeatedly

begin test refactoring after ccx_keys introduction

Ensure that when access checking happens, the course_locator form of a ccx locator is used.  This ensures that the access check happens against the course and it is not necesarry to duplicate the entire access control structure for the course.

pick up api change in ccx-keys

create and conditionally use a wrapper for the mixed modulestore returned by xmodule.modulestore.django.modulestore

the wrapper will strip and restore ccx values from CourseKey and UsageKey objects

fix return values on a few methods

remove unused symbol

pull updated ccx-keys package

set course_id on the caching descriptor system to avoid api incompatibilities in some subsystems

use ccx.course instead of self.course

fix get method to find course keys from blocks that are not themselves keys but have a location attribute (which will be a key)

if an item coming out of the db has children, restore the ccx to them as well

if the block passed in has a CCX key, unwrap that before we try to look up the override, otherwise it will never be found.

pick up a change in the ccx keys package that allows for stripping CCX identity from a usage key

begin writing tests to cover this modulestore wrapper

remove the switch_pocs view, the url pattern for it, and the tests that covered it

remove the ccx context and the middleware responsible for setting the current CCX.  These are no longer needed

all dashboard views should raise 404 if a ccx is not provided by the coach_dashboard decorator

code quality

prevent errors resulting from trying to `get` a ccx based on non-unique criteria.

remove obsolete usage of ACTIVE_CCX_KEY

fix setUp method for grading tests to properly create grades for the ccx rather than for the course.

clean up reverse calls

code quality

adding docstrings to clarify purpose of this patch

fix bug in getting ccx for coach

fix grading views to properly fetch a ccx-ified course so that grades for that version will be calculated

fix small errors in modulestore implementation

fix errant merge marker

update call to get_current_ccx after key refactoring merged with tab changes
2015-06-12 00:01:24 -07:00