Switch to font awesome icons, to fix issue with toggling collapsible sections of the schedule in ccx coach dashboard
Ensure access check takes place after descriptor is bound to the user, or field override checks will never happen
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.
Fixesjazkarta/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.
Fixesjazkarta/edx-platform#36
updating tests and utility code to match changes in infrastructure from latest rebase
Django double-importing overwrites the TESTUSER object, invalidating identity comparisons. Use a string instead to avoid the problem.
The get_current_poc function operates using a threadlocal and so no longer requires the user as an argument
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.
Add date widget for setting start and due dates for the course sections, plus simple server side validation for avoiding db corruption from bad dates
Add immediate feedback for date validation errors
Ensure there is a consistent key for the session dict that will store the value of the poc_id if one is active. If none is active, the mooc is assumed to be active.
Add mooc_name, mooc_url and active to the dict for each poc membership.
Update the navigation template to show link to mooc if poc is active, or to poc if not.
Ensure the switch_active_pocs view is covered well with tests.
Story #35 As a coach I can see and edit the json for the grading policy.
Story #34 Recalculate grading policy
Repair the broken test for grading by providing an explicit POC context for the request to run in
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.
The written style ```interpolate(gettext('some text'), {...}, ...)``` will will cause the string inside gettext() not be extracted.
So a separate line is needed for ```gettext``` when gettext function is directly called inside a call to the interpolate function.
- reversing the positions of the sidebar and course listing
- html for new social icons (not currently wired up)
- new actions dropdown for unenrollment and email settings
- partial reorganization of dashboard.scss styles
- text fix for unenrollment
- added missing endif, p/hgroup closures
- reverted la.course-item
- removed extra operator
- fixed broken bok choy test
Add querystring param "course_mode" to the login/registration
page so the user can skip track selection.
This supports upcoming changes to the course details page
that allow the user to choose the track when clicking
"enroll", which will replace the functionality of the track
selection page.