Commit Graph

98 Commits

Author SHA1 Message Date
Se Won Jang
11d260910f Implemented Validation for Course Advanced Setting
This commit adds validation for course advanced settings. Currently when course
administrators make invalid changes in the Settings/Advanced Settings tab,
they're not notified through a new modal window of the list of invalid settings
changes.

* Extending CourseMetadata
    - Previously, we only had update_from_json method in CourseMetadata.py,
      and it was only validating one field every POST request.
    - Now we have validate_and_update_from_json method that encapsulates the
      functionality of update_from_json into a validation call
    - To avoid discrepancy of validation standards between modules, validation
      uses the from_json method implemented to each field in xblock.

* Different Response in advanced settings ajax requests
    - After receiving a POST ajax request, course.py calls
      validate_and_update_from_json, and sends a json object of either:
        1) valid course metadata model
        2) error objects

* Error Messages shown in validation-error-modal
    - error objects passed through ajax are shown in a separate modal.
2014-08-26 11:24:38 -07:00
Usman Khalid
131c8cbf10 Catch InvalidKeyError in course_id_from_url().
LMS-9663
2014-08-08 18:21:48 +05:00
Nimisha Asthagiri
ea32529866 Fix all modulestore calls to pass in user ids. 2014-07-09 21:10:12 -04:00
Julia Hansbrough
d9dd45662e Enables LMS to handle deprecated URLs
LMS-2651
2014-07-09 21:51:37 +00:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Julia Hansbrough
6c46fb98ca Compare stringified course_ids to regexes for courses allowed to execute unsafe code 2014-05-13 21:34:15 +00:00
Calen Pennington
e2bfcf2a36 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates common/djangoapps.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-07 12:54:49 -04:00
Usman Khalid
7323341a4b Changed str->unicode in common/djangoapps/utils/.
LMS-2436
2014-03-25 20:43:12 +05:00
zubiar-arbi
714da6ab23 Enable/disable unicodes in course id's 2014-03-17 20:24:59 +05:00
Chris Dodge
aa43689a93 This PR addresses the open feedback on the Microsites feature 2014-02-28 16:27:12 -05:00
Adam Palay
89795191cb Merge remote-tracking branch 'origin/release'
Conflicts:
	cms/envs/common.py
	lms/envs/common.py
2014-02-27 17:33:40 -05:00
Chris Dodge
46fa943fc2 fix method name to actually make sense 2014-02-27 13:56:58 -05:00
Sarina Canelake
e71bbeb1e2 Tests for embargo middleware feature 2014-02-27 09:33:17 -05:00
Julia Hansbrough
a7ae152d9b Embargo Middleware feature
Adds configurable middleware in common/djangoapps/embargo that
allows specific courses to comply with US Export regulations by
embargoing students from specific countries, whilst simultaneously
allowing other courses to be freely open to all.
2014-02-27 08:37:58 -05:00
Chris Dodge
9431318467 add some rate limiting to the password reset functionality 2014-02-26 16:02:42 -05:00
Ned Batchelder
b21473f976 Make fake_ugettext et al more usable elsewhere. 2014-02-24 10:06:13 -05:00
Ned Batchelder
be17006022 Use strftime_localized for dates. 2014-02-18 17:35:56 -05:00
Ned Batchelder
66e598b75d Add strftime_localized function, not called yet. 2014-02-18 17:35:56 -05:00
Ned Batchelder
229f3522fa Move date_utils to common/djangoapps/util 2014-02-18 17:35:56 -05:00
Julia Hansbrough
0b7594178b Moved reverification windows into common
Added verification sidebar, banner for major courseware sections, quality & test improvements
2014-01-31 22:08:08 +00:00
Chris Dodge
0d49305c4d add ability to have an optional password policy enforcement on account creation 2014-01-30 15:32:05 -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
David Ormsbee
a18bce81f2 Basic cleanup of code to determine whether a user has a LinkedIn account. 2014-01-16 17:03:15 -05:00
Don Mitchell
3885e6cf78 Merge branch 'release'
Conflicts:
	lms/templates/help_modal.html
	lms/templates/index.html
2014-01-16 12:51:22 -05:00
Julia Hansbrough
ea0ae11171 Response to CR 1-14 2014-01-15 00:27:14 +00: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
Julia Hansbrough
95affba643 More response to CR 2014-01-06 15:53:28 +00: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
f3f4af8087 settings.MITX_FEATURES => settings.FEATURES 2013-12-03 15:34:55 -05:00
David Baumgold
8eff442752 mitxmako => edxmako 2013-12-03 14:15:09 -05:00
Don Mitchell
7f91ce40ae Restful api for course advanced settings
STUD-948
2013-11-26 10:17:52 -05:00
cahrens
569c86de74 Code review feedback. 2013-11-14 17:09:24 -05:00
cahrens
53a4016619 Utility method for converting string to bool. 2013-11-14 13:47:46 -05:00
cahrens
16766a5ee9 Change delete_item to RESTful URL.
Part of STUD-847.
2013-11-06 13:49:24 -05:00
Don Mitchell
45453fae61 Change expect_json to put parsed json in new attr 2013-10-29 16:13:58 -04:00
Chris Dodge
fbe2cde6e5 add simple unit test on the defaulting of the settings 2013-07-11 14:31:53 -04:00
Chris Dodge
c3ad168b10 also add some defaulting to the querying of the settings where it defaults to an empty set 2013-07-11 12:12:42 -04:00
David Baumgold
ef81556cc5 Use JsonResponse when it makes sense 2013-07-09 19:16:08 -04:00
David Baumgold
090d0d4464 Fix up unit tests 2013-07-09 19:16:08 -04:00
David Baumgold
27e895393c Added generic JsonResponse class
Based on http://djangosnippets.org/snippets/154/
2013-07-09 19:16:07 -04:00
Chris Dodge
ccfc4fc012 remove extra line space at end of file 2013-07-03 13:46:32 -04:00
Chris Dodge
5088450ed3 add another unit test to explicitly exercise the can_execute_unsafe_code() method 2013-07-03 13:46:32 -04:00
Chris Dodge
b32c4aaa56 actually, seems like we should be using double quotes for docstrings 2013-07-03 13:46:32 -04:00
Chris Dodge
aa7f1f867d actually, I think we use single quotes for docstrings 2013-07-03 13:46:32 -04:00
Chris Dodge
bcbac3aaa4 add docstring to newly refactored method 2013-07-03 13:46:32 -04:00
Chris Dodge
bf3a7287f0 do some lamda magic to refactor out the whitelist checking code to be shared between LMS and CMS 2013-07-03 13:46:31 -04:00
Calen Pennington
1a7b833146 Merge pull request #269 from edx/dhm/incidental-functionality-improvements
Incidental functionality improvements from Next Gen Modulestore work
2013-07-01 13:04:20 -07:00
David Baumgold
ce6b319288 Added jsonable_server_error in common/util/views.py 2013-07-01 15:09:41 -04:00
Don Mitchell
c7046df0f2 Make request.POST be only json content when using expect_json 2013-06-28 14:19:10 -04:00
Jay Zoldak
c98a77565f Make the UrlResetMixin load the urlconf after resetting it, and fix the comment client test that was leaving ENABLE_DISCUSSION_SERVICE at True 2013-06-27 11:05:09 -04:00