Commit Graph

292 Commits

Author SHA1 Message Date
Giulio Gratta
c18ee8cc09 Add cosmetic price field to studio & logic
- Price field added to Advanced Settings
- Function that decides which price to display
- Test added to check that the function outputs correct price
- Added feature flag and conditional to decide whether to display course price or not
- Feature Flag to show or hide course price on Course About page sidebar when not using shopping cart
2015-01-27 15:15:43 -08:00
Giulio Gratta
47a0e3441e Shortened line length of studio help strings 2015-01-22 09:48:41 -08:00
Matt Drayer
3c669e3838 New feature contribution: Entrance Exams 2015-01-15 20:35:24 -05:00
Zia Fazal
ca3d84a5d4 New pre-requisite course feature via milestones app 2015-01-15 15:17:38 -05:00
Jim Abramson
2eab51ab26 Merge pull request #4786 from aboudreault/inline-discusssion-cohorting
Add always_cohort_inline_discussions in course settings
2014-12-30 13:11:37 -05:00
Alan Boudreault
68fcdcc030 Add always_cohort_inline_discussions in course settings 2014-12-26 18:03:50 +00:00
Fred Smith
251407d7d2 Merge pull request #6314 from edx/release
Release
2014-12-19 13:23:22 -05:00
Waqas Khalid
d9d8775757 Advanced settings discussion category ids should be unique.
If the ids in the adnvaced setting discussion category are
not unique then threads under categories with different name
will come in every category with same id. Ids should be unique
inorder to differentiate between different categories.

TNL-752
2014-12-17 17:20:48 +05:00
Nimisha Asthagiri
0687a62a8f Add back end for Studio video upload feature
This feature allows upload of video assets to S3. This requires that the
VIDEO_UPLOAD_PIPELINE setting be properly configured and that each
course be configured with a token issued by the media team for their
processing purposes (e.g. linking the video with a YouTube channel).

Co-authored-by: Greg Price <gprice@edx.org>
2014-12-15 13:09:59 -05:00
David Baumgold
36e77c7463 Fixing pep8 issues 2014-12-11 13:04:49 -05:00
stv
aba9b3b96e Fix PEP8: E124 closing bracket does not match
visual indentation
2014-11-24 20:46:44 -05:00
stv
5a69feadeb Fix PEP8: E123 closing bracket does not match
indentation of opening bracket's line
2014-11-24 20:46:44 -05:00
stv
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
Chris Dodge
3c36f7cbad Add new course_module field which describes what the catalog visibility should be (both, about, none) 2014-11-09 10:36:00 -05:00
Chris Dodge
fea9432b50 Add the ability for course staff to specify a Survey and make it required so that a student must fill it out before starting the course 2014-10-30 13:11:02 -04:00
Oleg Marshev
21056b950e Use DATE_TIME format for course start or end time in student dashboard. 2014-10-22 16:23:32 +03:00
Nimisha Asthagiri
d7f850a764 Merge branch 'release'
Conflicts:
	lms/djangoapps/instructor/features/data_download.py
2014-10-07 16:23:28 -04:00
Don Mitchell
d723425a83 Fix cached definition change detection
LMS-11485
2014-10-02 14:22:07 -04:00
Andy Armstrong
ba491195e6 Update final text strings & readthedoc URL
TNL-401
2014-10-02 11:54:23 -04:00
Adam Palay
b0cbd2f612 update discussion blackout setting warning (TNL-442) 2014-09-29 13:59:18 -04:00
David Ormsbee
4f5d8b30de Basic Mobile API (v0.5) and Video Abstraction Layer integration.
Note that the features in this release are opt-in, and course and video
behavior will remain the same unless a course explicitly opts in.

Major pieces of functionality with this commit:

Allows the listing of a user's enrollments, course videos, and updates. In
order to make a course available for mobile use, course staff must explicitly
set the Course Advanced Setting "Mobile Course Available" to true. Course staff
will always see their own courses through the Mobile API regardless of this
setting, but students will only be allowed to see a course through the Mobile
API if this setting is set to "true". By default, a Course will *not* be
available for mobile use.

This is a Django app for video resource management. It is completely optional,
and is intended to allow video and operations teams to create new encodings of
videos (e.g. low res for mobile) and change CDNs without having to edit course
data directly. Course teams can now use a "EdX Video ID" setting for Videos,
which will leverage VAL. Video units that do not fill in an "EdX Video ID" will
behave exactly as they always have.

* The Mobile API is enabled with the ENABLE_MOBILE_REST_API feature flag.
* VAL is enabled with the ENABLE_VIDEO_ABSTRACTION_LAYER_API feature flag.
* VAL and the Mobile API both require ENABLE_OAUTH2_PROVIDER).
* The Mobile API is a read-only API, but VAL requires database migrations.
* Applications that make use of either the Mobile API or VAL must be registered
  with the OAuth2 provider app in Django Admin.
2014-09-23 12:31:46 -04:00
Alexander Kryklia
62afe9c3a5 Fix description for LTI passports field. 2014-09-04 16:17:27 +03:00
Diana Huang
0c3c7b5ab5 Merge pull request #4754 from edx/diana/show-cert-without-end-date
Show Certificates Before End
2014-08-08 14:58:02 -04:00
Diana Huang
7865e2fb3c Move certificates_show_before_end into a new variable
Mark it as deprecated, but maintain backwards compatibility.

ECOM-11
2014-08-08 14:29:57 -04:00
Ben McMorran
436d773987 Displays release date of unit in sidebar 2014-08-07 12:16:20 -04:00
Don Mitchell
d4776a151b Test both split and old mongo 2014-07-30 17:44:45 -04:00
Don Mitchell
6074e0b117 Split get_courses_for_wiki implementation [LMS-2914]
- Move Mongo tests to mixed ddt tests
- Check if `fields` is None before updating search targets
- Fix for double course version
2014-07-21 17:17:48 -04:00
David Adams
aa1b623904 Make text on register button on About page conditional.
Added a new advanced setting; invitation_only

 If invitation_only display "Enrollment in this course is by invitation only"
 Otherwise, if outside of enrollment period display "Enrollment is Closed"

 This issue is logged at LMS-2670

 Also fixed in this PR is issue LMS-2717; even though the Register button was greyed out,
 clicking it sent one to the registration page.
2014-07-15 12:51:12 -07:00
Mat Peterson
4f6088cbd1 Fixed some isinstance errors with opaque-keys 2014-07-11 15:40:08 -04:00
louyihua
ba30f0387e Missing "_()" in course_module.py 2014-07-03 10:55:00 +08:00
cahrens
a4b172d9d8 Display names, help text, and "deprecated" for Advanced Settings.
STUD-302, STUD-303
2014-06-26 16:54:22 -04:00
cahrens
5ab61fc4b2 Implement a custom editor for the split_module.
STUD-1529
2014-06-05 12:16:16 -04:00
Julia Hansbrough
6ccb11f03e Change Location, CourseLocator, etc to reference opaque-keys library 2014-05-30 20:32:38 +00:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Calen Pennington
29f7fe14fb Merge remote-tracking branch 'edx/master' into ok-merge-from-master 2014-05-23 10:05:56 -04:00
louyihua
34d2f051a4 i18n: Make checklists translatable
Now the description & action_text strings in checklists can be extracted and translated.
2014-05-22 22:15:45 +08:00
Calen Pennington
155ffe37ca Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master
Conflicts:
	cms/djangoapps/contentstore/views/item.py
	cms/djangoapps/contentstore/views/tests/test_container.py
	cms/djangoapps/contentstore/views/tests/test_tabs.py
	common/lib/xmodule/xmodule/modulestore/mongo/draft.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/certificates/queue.py
	lms/djangoapps/certificates/views.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/test_module_render.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/djangoapps/shoppingcart/tests/test_models.py
	lms/djangoapps/verify_student/views.py
2014-05-09 15:29:32 -04:00
Calen Pennington
d654798856 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates common/lib/xmodule.

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-08 20:28:53 -04:00
Joe Blaylock
ae8847cd6e Certificates: URL endpoint for cert gen
* API endpoint for certificate generation, an authenticated  post with course
  id requests that grading be carried out and a cert generated for
  request.user in that course, using the usual grading and certificate
  machinery (ie, it does not imply whitelisting, though whitelists and
  blacklists will be respected)
  - Logs each request as it comes in
  - Calls xq.add_cert() and consequently, does grading synchronously on
    this app host and then queues request for certificate agent.
  - example usage:
    ```
    curl --data "student_id=9999&course_id=Stanford/2013/Some_Class" http://127.0.0.1:8000/request_certificate
    ```

* Studio advanced setting added, "certificates_show_before_end", which
  determines whether a course should permit certificates to be downloadable
  by students before the coures's end date has passed.
  - Modifications to dashboard view and templates to allow display of
    certificate download links before course has ended.
    (XXX: may declare failing students as failing before the course has ended.)
  - To test, turn the setting on in a course which hasn't ended yet, and
    force certificate generation for a student, then check their
    dashboard.
2014-05-02 14:34:21 -07:00
Giulio Gratta
3456c1173b Added "Edit in CMS" links throughout courseware 2014-04-04 10:23:51 -07:00
Nimisha Asthagiri
e86b4a12dc Changes for viewing built-in tabs in studio
Changed "Status Page" -> "Page".

UX:
    support for displaying built-in tabs
    restored drag and drop on Studio Pages
    additional styling for fixed state on Studio Pages
    add a new page action added to bottom of Studio Pages

Dev
    changes for viewing tabs in studio,
    refactored the tab code,
    decoupled the code from django layer.
    is_hideable flag on tabs
    get_discussion method is needed to continue to support
external_discussion links for now since used by 6.00x course.
    override the __eq__ operator to support comparing with
dict-type tabs.

Test
    moved test code to common,
    added acceptance test for built-in pages
    added additional unit tests for tabs.
    changed test_split_modulestore test to support serializing objects
that are fields in a Course.

Env:
    updated environment configuration settings so they are
    consistent for both cms and lms.
2014-03-21 13:58:01 -04:00
Diana Huang
6f7c73cd4f Fix split_test import and export.
LMS-2405
2014-03-18 14:15:13 -04:00
Usman Khalid
d335713da5 Export CourseDescriptor wiki_slug field to xml.
LMS-2136
2014-03-10 16:13:18 +05:00
Diana Huang
bce7d9e43d Add tests and clean up A/B testing
Also fixes STUD-1351
2014-03-05 13:46:03 -05:00
Victor Shnayder
281ad63d2b split testing support in the LMS.
Adds a split_test_module XModule, that can choose one of its children
to display, based on a get_condition_for_user API added to the runtime.

To test, add something like this to an xml course, or make equivalent
 tweaks in mongo.

 <vertical url_name="split_test_vert">
    <split_test url_name="split1" experiment_id="0" condition_id_to_child='{"0": "i4x://MITx/6.00x/html/split_test_cond0", "1": "i4x://MITx/6.00x/html/split_test_cond1"}'>
       <html url_name="split_test_cond0">condition 0</html>
       <html url_name="split_test_cond1">condition 1</html>
    </split_test>
  </vertical>

Also needs an experiment configured in the course policy json: e.g.

        "user_partitions": [{"id": 0,
                                      "name": "Experiment 0",
                                      "description": "Unicorns?",
                                      "version": 1,
                                      "groups": [{"id": 0,
                                                        "name": "group 0",
                                                        "version": 1},
                                                        {"id": 1,
                                                        "name": "group 1",
                                                        "version": 1}]}]

(This particular snippet will work inside a course with org MITx
 and course name 6.00x)

Co-Author: Sarina Canelake <sarina@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Diana Huang <diana@edx.org>
Co-Author: Calen Pennington <cale@edx.org>

[LMS-2095]
2014-03-05 13:45:08 -05:00
Chris Dodge
10465e3eb0 add some authorization checks to the Wiki 2014-02-28 13:36:18 -05:00
Giulio Gratta
35112e9e78 Variable-ize "Certificate of Achievement" text 2014-02-25 10:19:03 -08:00
Don Mitchell
0b262e7cea Merge pull request #2660 from edx/dbarch/parse_course_id
Dbarch/parse course
2014-02-24 13:24:00 -05:00
Don Mitchell
81a92e4bfc Consolidate course_id triple parsing 2014-02-24 11:45:59 -05:00
Ned Batchelder
6bb0eee3c6 Make the i18n service available everywhere.
To get all dates localized, we need all runtimes to have the i18n
service, and since runtimes are made by the modulestores, we need to
pass it to them.

Soon (fingers crossed), modulestores won't be involved in making
runtimes, and many of these changes will go away.
2014-02-24 10:06:13 -05:00