Commit Graph

10827 Commits

Author SHA1 Message Date
Carlos de la Guardia
f9351ef830 MIT: CCX. Code Quality Fixes
Remove duplicated course listings template code on the student dashboard.
2015-04-10 23:30:27 -04:00
cewing
8ba74429b1 MIT: CCX. Fixes for API changes that affect the binding of descriptors to student context.
fix for making sure all descriptor fields are always available for course descriptors despite module_class tricks

add required fields to cache data for tests

use a different strategy to mock up the get_children method
2015-04-10 23:30:27 -04:00
Carlos de la Guardia
9ddee93401 MIT: CCX. Code Quality fixes
add doc strings; fix pep8 warning
address some minor issues brought up by the code review process
2015-04-10 23:30:26 -04:00
Carlos de la Guardia
b3da2a54bb MIT: CCX. Fix issues identified in code review
Original Commit Messages:

use edx's own get_parent method, rather than our own.

add field to unique constraint to avoid MultipleObjectsReturned in case of multiple browser clicks on submit

fix 0011 migration, inherit from TimeStampedField and add composite index (migration only)

fix bug where adding an already registered user to a ccx would cause a crash due to an undefined variable

add assertNumQueries tests to test modules where override field providers are used

remove unnecessary teardown

implement recommended style for checking empty list

import utility methods rather than use duplicate code

added comment explaining date conversion to string for json

add logging for invalid users or emails when enrolling students

add comment about xmodule user state

avoid using get_or_create, which seems to be causing a race condition on schedule change save

relocate badly placed edvent handlers to fix multiple submit problem
2015-04-10 23:30:26 -04:00
Carlos de la Guardia
3425424696 MIT: CCX. Use request thread local for access control decisions.
Use in tabs and other code to show or hide ccx coach tab depending on if the user has the coach role or not
2015-04-10 23:30:26 -04:00
cewing
7f691e4a92 MIT: CCX. Rename POC to CCX
Final official name is Custom Courses for EdX (CCX), rename all code to remove previous name.

Rename the FEATURE constant used to identify this feature

Rename the middleware for the CCX change

rename the constant used for storing the current poc id on the session.

rename the _PocContext threading local

rename the override provider in all places where it is referenced

`PersonalOnlineCoursesOverrideProvider` -> `CustomCoursesForEdxOverrideProvider`

generally rename symbols from overrides.py to replace `poc` with `ccx` where possible without changing model names or attributes

rename more symbols from poc to ccx
rename util functions from app utils module

general symbol renaming poc -> ccx in views.py and related url changes

Rename the coach role wherever it is used.

reword poc_coach to ccx_coach

UI rename

replace POC with CCX globally

template context variable renamed

rename poc_ to ccx_ in urls and all related locations (views, js, scss etc)

remove pocs migrations

Final massive renaming, including models.  Re-built migration.

cleaning up a few tailing references

Fix reference typo in schedule template JS

undo modifications made on the fly in test setup to ensure that our tests are properly isolated from the rest of the system tests.

Fixes jazkarta/edx-platform#38

Clean up some leftover strings and comments

fixing more strings and comments in python files

fix a naming error in the schedule tab that was causing problems in deleting courseware items.

Fixes jazkarta/edx-platform#36

updating tests and utility code to match changes in infrastructure from latest rebase
2015-04-10 23:30:25 -04:00
cewing
fbaab9674f MIT CCX: Prevent the discussion tab from displaying
When the POC feature is enabled and there is an active poc displaying discussions leads to undefined behaviors.  Hide the tab to prevent usability problems.
2015-04-10 23:30:25 -04:00
cewing
0b184881f5 MIT: CCX. Implement display of CCXs in user-facing templates such as dashboard
Show the display name for the POC in the menu for switching.

Remove the MOOC: prefix from the MOOC title to avoid truncation issues.

Incorporate the display name of the POC into the display of course org/number/name at the top of the page in the default theme.

Provide warning on the grading policy page in system warning style.

Provide a PocMembership model api that returns PocMemberships for a user.  Default to active memberships.

Build generator that yields triplets of poc, membership and course for each poc membership a user has.

This is an analog of the `get_course_enrollment_pairs` in common/djangoapps/students/views.py and is used in the student dashboard to provide pocs as options for a student to view.

refactor to use model api instead of inline code.

provide pocs as possible targets for a student to visit from their dashboard.

Unset the current active poc when visiting the dashboard so as to avoid needing to switch active pocs when viewing a plain course.  This ensures we can leave template code for the display of courses unchanged.

Update templates to show pocs in a course-like view on a student's dashboard.

Revert a portion of the template change so that the poc title will still render properly when a poc is being viewed.
2015-04-10 23:28:09 -04:00
cewing
d4a1e99a83 MIT: CCX. Implement auto-enroll for CCX students
Based loosely on course enrollment model

Ensure that registered users are 'active' when they are enrolled in a POC

Respect the 'auto enroll' and 'email students' checkboxes in the UI

Add an auto_enroll flag to the PocFutureMembership model so we can automatically enroll non-users when they have registered and activated their account.

Build a future enrollment using the auto_enroll value from the request so we can ensure that non-existent users can be auto-enrolled

Ensure that any user added by way of the one-at-a-time UI is automatically auto-enrolled

Update tests with email sending to use the flag from the request

Provide api on the PocMembership object to auto-enroll a newly active member in this poc.

This method will delete the passed PocFutureMembership object and will automatically enroll the user in the POC named in that future membership as well as the MOOC from which it was created

Conditionally activate poc memberships that are pending when a new registree first activates their account.
2015-04-10 23:18:39 -04:00
Chris Rossi
aa1333c363 MIT: CCX. Hide course blocks not in the CCX from view for coaches and students 2015-04-10 23:13:11 -04:00
Chris Rossi
a2cb7fd276 MIT: CCX. Implement Custom Courses for Edx.
This feature provides the ability to designate a "coach" who can create customized runs of an existing course, invite students to participate, and manage students through the run of the course.

In this squashed commit we implement the initial scifi, add the 'POC Coach' course role, refine the scifi, add migrations for models, create POCs, enforce POC Coach role, provide panels for Coach Dashboard, set up rudimentary display of course outline, add and remove units, show/hide all units, and save schedule changes, set dates when adding units, edit dates on units already added and provide some tests.

We also provide mechanisms for invitation and enrollment in a POC (to become CCX) and control the display of blocks to students in a POC.
2015-04-10 23:10:48 -04:00
Chris Rossi
3256eb1ff6 Architecture for arbitrary field overrides, field overrides for
individual students, and a reimplementation of the individual due date
feature.

This work introduces an architecture, used with the 'authored_data'
portion of LmsFieldData, which allows arbitrary field overrides to be
made for fields that are part of the course content or settings (Mongo
data).  The basic architecture is extensible by means of writing and
configuring arbitrary field override providers.

One concrete implementation of a field override provider is provided
which allows for overrides to be for individual students.  This provider
is then used as a basis for reimplementing the individual due date
extensions feature as a proof of concept for the design.

One can imagine writing override providers that provide overrides based
on a student's membership in a cohort or other similar idea.  This work
is being done, in fact, to pave the way for the Personal Online Courses
feature being developed by MIT, which will use an override provider very
much long those lines.
2015-04-06 13:04:44 -07:00
Piotr Mitros
cd8147cbde Merge pull request #7451 from edx/pmitros/disable-email-auth
Make e-mail activation optional
2015-04-06 20:38:51 +03:00
Piotr Mitros
c656998e8d Make e-mail activation optional 2015-04-06 12:50:18 -04:00
Renzo Lucioni
e39bc1a813 Merge pull request #7581 from edx/renzo/clean-up-admin
Update SKU field help text and verbose name
2015-04-03 13:52:59 -04:00
Kelketek
5795ba3faf Merge pull request #7482 from open-craft/fix_duplicate_rcb
Fix duplication of Randomized Content Blocks
2015-04-03 12:50:09 -05:00
Nimisha Asthagiri
a204cacd74 Merge pull request #7561 from edx/mobile/PLAT-520
PLAT-520 Fix Asset store import of null values.
2015-04-03 12:46:21 -04:00
Jonathan Piacenti
e95e5e7090 Changed RCB recursive copy function to private function. 2015-04-03 10:40:44 -05:00
Nimisha Asthagiri
d9d4a007b9 PLAT-520 Fix Asset store import of null values 2015-04-03 11:39:51 -04:00
Renzo Lucioni
a8c8863409 Update SKU field help text and verbose name 2015-04-03 11:24:19 -04:00
Jonathan Piacenti
5bf2c23f59 Fixed issue with block IDs being different across library versions. 2015-04-03 13:51:03 +00:00
Matt Drayer
241133f0ae Merge pull request #7540 from edx/mattdrayer/SOL-462
Add social sharing feature (Twitter, Facebook) to student dashboard
2015-04-03 09:18:36 -04:00
louyihua
0d0d1a0ccd Ignore pylint error 7610 (translation-of-non-string) on where it is intended to do
As some i18n features need ```ugettext``` or its shorcut ```_``` to be called on a non-string-literal, so the pylint check of ```translation-of-non-string``` should be explicitly disabled in such situations.
2015-04-03 11:59:53 +08:00
Marco Morales
ebdcc3bb6a Add social sharing feature (Twitter, Facebook) to student dashboard 2015-04-02 23:05:13 -04:00
Braden MacDonald
8d8fa0faaf Partial fix perhaps? 2015-04-03 02:05:22 +00:00
Nimisha Asthagiri
58afd8a7c7 Merge pull request #7541 from edx/mobile/import_fix_course_id
MA-410 Update video_module import to use target course_id.
2015-04-02 19:56:04 -04:00
Jonathan Piacenti
bf414cf9bb Redid _get_library one more time, for giggles 2015-04-02 21:46:33 +00:00
Jonathan Piacenti
fa95d323c6 Tested version handling, modified modulestore when it didn't work. 2015-04-02 21:41:27 +00:00
Adam
9ad4b71688 Merge pull request #7572 from edx/release
Release
2015-04-02 17:24:50 -04:00
Carol Tong
85b36acaa8 Merge pull request #7568 from edx/carol/docs/AdvancedSettingsUIHelp
Edits to Advanced Settings UI text for Discussion Blackout Dates, Discussion Topic Mapping
2015-04-02 17:03:47 -04:00
Carol Tong
4ebefce767 Fix line length 2015-04-02 16:04:32 -04:00
Carol Tong
f318f1b355 Edits to UI text for Discussion Blackout Dates, Discussion Topic Mapping
to address DOC-1434, DOC-1828
2015-04-02 14:32:25 -04:00
Jesse Zoldak
ab63243d01 Decorate flaky test SOL-618 2015-04-02 14:26:46 -04:00
Jonathan Piacenti
ce19c769eb Fix handling of library versions in the library tools. 2015-04-02 18:26:04 +00:00
Jonathan Piacenti
51905f0cd5 Addressed notes for RCB duplication, removed management buttons from RCB container 2015-04-02 18:26:04 +00:00
Jonathan Piacenti
a6c00635b2 Fix issues with overrides on duplicated RCBs. 2015-04-02 18:23:28 +00:00
Nimisha Asthagiri
7e1104c421 MA-410 Update video_module import to use target course_id. 2015-04-02 11:38:01 -04:00
Will Daly
464bcf336e Show certificates for all verified modes 2015-04-02 11:21:54 -04:00
Waheed Ahmed
62a515f038 Fixed static pages removed on import for split course.
PLAT-484
2015-04-02 20:14:46 +05:00
Ahsan Ulhaq
badbc3e3b7 Merge pull request #7499 from edx/ahsan/tnl-1784-every-keystroke-triggers-aria-live-region-announcements
DOM updates on every keystroke are triggering aria-live region announcements
2015-04-02 15:07:10 +05:00
Will Daly
bedba6a600 Merge pull request #7529 from edx/will/cors-iframe-proxy
Add proxy to allow IE9 to make xdomain requests
2015-04-01 14:18:42 -04:00
Christine Lytwynec
0370e90611 skip acid block tests 2015-04-01 12:23:31 -04:00
zubair-arbi
1f9ead5d46 Merge pull request #7547 from edx/zub/bugfix/ecom-1273-enrollment-api-catch-NoneType-courses
log and ignore invlaid/deleted courses in Enrollment API
2015-04-01 19:23:40 +05:00
Will Daly
fcc5b1e347 Add proxy to allow IE9 to make xdomain requests
Adds an /xdomain_proxy.html endpoint that serves
the proxy file from the xdomain library.  This
allows IE9 users to iframe in the proxy page
to simulate a cross-domain request with cookies.
2015-04-01 09:16:42 -04:00
zubair-arbi
ec2f4dc2fe Merge pull request #7523 from edx/zub/bugfix/ecom-579-change-education-level-option-label
change education level option label to read "Associate" degree
2015-04-01 17:17:58 +05:00
zubair-arbi
a9b13f0e72 log and ignore invlaid/deleted courses in Enrollment API
ECOM-1273
2015-04-01 16:26:24 +05:00
Greg Price
c860f790c2 Merge pull request #7508 from edx/gprice/export-import-val
Include VAL data in video module export/import
2015-03-31 20:28:31 -04:00
Greg Price
cfcb304885 Include VAL data in video module export/import
This is required so that an a video module exported by one Open edX
deployment and imported by another will work correctly if it contains an
edx_video_id but does not populate other URL fields.

JIRA: MA-110
2015-03-31 19:35:06 -04:00
Calen Pennington
e394c18188 Merge pull request #7476 from cpennington/bulk-assert-all-assertions
Make BulkAssertionTest.bulk_assertions work with any assert* method
2015-03-31 15:19:44 -04:00
Jesse Zoldak
8bfc948b37 Merge pull request #7533 from cpennington/add-mixins-to-mixed-modulestore-tests
Pass standard list of xblock mixins to MixedModulestore in tests
2015-03-31 14:29:35 -04:00