Commit Graph

549 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
Braden MacDonald
7437bcfe12 New provider config options, New Institution Login Menu - PR 8603 2015-06-26 13:24:01 -07:00
Braden MacDonald
cd941eada7 New SAML/Shibboleth tests - PR 8518 2015-06-26 13:24:00 -07:00
Braden MacDonald
b4904adc1e Use ConfigurationModels for third_party_auth, new metadata fetching - PR 8155 2015-06-26 13:23:59 -07:00
Braden MacDonald
caca3e1bdf SAML2 third_party_auth provider(s) - PR 8018 2015-06-26 13:23:59 -07:00
Will Daly
754eb9af18 Merge pull request #8655 from edx/will/more-login-cookie-info
User info cookie
2015-06-26 07:34:07 -07:00
Nimisha Asthagiri
8b5e5c5910 Merge branch 'release' 2015-06-25 13:11:41 -04:00
Will Daly
5e86a64729 User info cookie
* Add a new cookie for user information
* Make marketing cookie names configurable.
* Handle URL reversal when URLs don't exist (in Studio)
* Move cookie code from student/helpers.py into its own module.
2015-06-24 09:44:50 -07:00
aamir-khan
987889fc37 ECOM-1524: Display credit availability on the dashboard 2015-06-24 16:50:38 +05:00
Will Daly
b89ad57cb7 Remove duplicate logged-in-cookie helper methods
There were two helper methods that set the marketing site
"logged in" cookie.  This commit deletes one of them
and ensures that all callers are using the other one.
2015-06-23 12:47:15 -07:00
Matt Drayer
f0f3766443 mattdrayer/ECOM-1773: Fixed invalid URL reversal 2015-06-22 14:04:43 -04:00
Will Daly
8c52c92bcb Reverification iOS support and refactor
* Delete reverification templates
* Delete photocapture.js
* Delete unused "name change" end-points
* Rebuild the reverification views using Backbone sub-views
* Stop passing template names to the JavaScript code
* Avoid hard-coding the parent view ID in the webcam view (for getting the capture click sound URL)
2015-06-22 08:45:12 -07:00
Braden MacDonald
345fcabd05 Fix CRI-9 so third_party_auth pipeline always completes, and consolidate auto-enrollment code 2015-06-18 20:57:19 -07:00
Braden MacDonald
350f98ebde Changes for compatibility with latest python-social-auth (0.2.7) 2015-06-18 19:31:47 -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
Awais
ed02d9cc5c ECOM-1494 removing models only. 2015-06-10 11:19:51 +05:00
Sarina Canelake
e53b9c83d9 Use Django 1.4 @ensure_csrf_cookie method PLAT-664 2015-06-06 08:48:36 -04:00
Muhammad Shoaib
65c4f1df89 SOL-236 Manual Enrollments 2015-06-02 13:19:32 -04:00
Christina Roberts
46cb847eb9 Merge pull request #8306 from edx/christina/delete-unused-methods
Delete change_email_request and lang_pref_set_language
2015-06-02 11:30:35 -04:00
cahrens
410beb8485 Delete unused methods.
This functionality is provided to the user_api accounts and preferences api.
TNL-1701
2015-06-02 10:03:19 -04:00
Matt Drayer
af7277cdd9 New Feature: Certificates Web View
- SOL-465: Initial implementation of certificates web view and signatories (names/titles)

- SOL-718 Close button is working properly

- SOL-801 Backbone Signatories Modeling

- SOL-803 Underscore template: Editor (Add)

- SOL-802 Signatories: Underscore template - Details

- SOL-804 Signatories: Underscore template: Editor (Edit)

- Add signatory delete Django view

- SOL-805 Signatory editor (Delete)

- Add Coffeescript router

- SOL-716 Jasmine Tests

- Added missing minified JS library

- client side validation of signatory fields

- SOL-390 signatories names

- Remove obsolete extends Sass files

- input maxlength limiting for signatory information

- SOL-389: Course title override

- SOL-466: Add capability to upload digitized signatures in Studio

- ziafazal: fixed css for upload signature image

- ziafazal: completed deletion of signature images

- UX-1741: Add initial static rendering/styling for Open edX web certs
  * creating new global static dir
  * adding static version of edX UX pattern library assets
  * adding web certificates static assets
  * adding static (+abstracted) web certificates rendering
  * creating two tiers of rendering (base + distinguished)
  * providing sample assets for certificate rendering
  * supporting RTL layouts
  * adding certifcates assests to edX static asset pipeline
  * temporarily hiding the mozilla open badges share action
  * wiring print button to print view/page
  * fixup! addressing conflict artifact in valid cert template
  * fixup! adding missing %hd-subsection sass extend + components comment clean up
  * fixup! correcting pattern library .hd-4 font-weight value

- SOL-468 Linked Student View for Web View Credential

- SOL-467: Add capability to upload organization logos for certificates

- SOL-391 / SOL-387: Signatory related info (assets) in certificates web view

- kelketek: Fixes for static asset collection in certificate HTML view.

- SOL-398 Web View: Public Access

- mattdrayer: Post-merge branch stabilization

- catong: Initial changes to Studio template and Help config file

- ziafazal: Branch stabilizations

- SOL-387: Display organization logo on LMS web view

- talbs/mattdrayer: Branch Stabilizations

- talbs: converting backpack action to use a button HTML element

- talbs: revising placeholder assets + their rendering in cert view

- mattdrayer: Username web view wireup

- SOL-386 Certificate Mode Previews

- SOL-905: Make organization logo and signatory signature uneditable

- SOL-922: Improve test coverage

- SOL-765: Add LinkedIn sharing

- [marco] temporary styling adjustment to account for smaller linkedin share image / fake button

- SOL-921: Address hardcoded template items

- SOL-927: Deleting certificate should delete org logo image also
  * updated invalid template
  * removed hr
  * fix invalid certificate error

- clrux: Add i18n to certificate templates and partials

- mattdrayer: Pylint violations

- SOL-920 Certificate Activation/Deactivation

- mattdrayer: Added LMS support

- SOL-932: Fix preview mode support in certificate view

- SOL-934: Fixed bug reported and broken tests

- SOL-935 removed the 'valid' word from web view title

- talbs: RTL support updates/fixes
  * revising certificate type icon/name vertical alignment
  * removing unused older certificate template
  * revising styling for message/banner actions
  * abstracting accomplishment type to use course mode + adding in honor/verified-specific placeholders

- mattdrayer: JSHint violations
2015-06-01 19:48:04 -04:00
Daniel Friedman
9e0dcb7239 Add JSON response to auto_auth with anonymous_id 2015-06-01 14:21:42 -04:00
Awais
d0df626685 ECOM-1494 removing code from models. 2015-05-27 16:32:26 +05:00
Randy Ostler
93e6434e19 Create email message only when it will be sent 2015-05-19 10:01:48 -04:00
Awais Jibran
1d9499e1ad Fixed change email address error from student dashboard
TNL-1745
2015-04-20 14:36:31 +05:00
cahrens
938dcce061 Event change_initiated for password and email change requests. 2015-04-17 17:23:16 -04:00
muzaffaryousaf
3110cf6bb6 Remove account settings display and editing from dashboard sidebar.
TNL-1516
2015-04-17 17:23:15 -04:00
jsa
1d11345e90 make auto_auth users satisfy PARENTAL_CONSENT_AGE_LIMIT 2015-04-17 17:23:13 -04:00
David Ormsbee
03c3bbb379 Merge pull request #6636 from jazkarta/feature-pocs
MIT CCx (was Personal Online Courses)
2015-04-11 11:15:43 -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
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
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 Dodge
31f2e42c02 be sure to take platform_name from microsite config paths in the dashboard
add some more microsite aware config checks
2015-04-08 10:07:47 -04:00
Piotr Mitros
c656998e8d Make e-mail activation optional 2015-04-06 12:50:18 -04:00
Nimisha Asthagiri
dd8aba8fc9 Fixes merge conflict with account creation transaction. 2015-03-21 09:23:27 -04:00
Nimisha Asthagiri
289469dd3a Merge pull request #7353 from edx/mobile/third-party-oauth-reg
Mobile registration with Google/FB
2015-03-20 17:04:37 -04:00
Nimisha Asthagiri
dfcef9ddcb MA-95: Update Registration endpoint to support 3rd party credentials
Automatically link edX account with social account in login mobile API path
2015-03-20 15:43:40 -04:00
Sarina Canelake
90a0459e50 Merge pull request #7380 from OmarIthawi/edraak/platform-name-in-password-reset-confirm
Keep platform_name in the password_reset_confirm.html always TNL-1654
2015-03-20 09:14:40 -04:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
Omar Al-Ithawi
3d107c04eb Keep platform_name in the password_reset_confirm.html always TNL-1654 2015-03-17 10:24:20 +02:00
Andy Armstrong
6976a33a85 Add the preferences endpoint to the User API
TNL-1493

See https://openedx.atlassian.net/wiki/display/TNL/User+API for details
2015-03-16 23:34:35 -04:00
Awais
4bab316bb9 ECOM-911 no-id-professional mode registration flow 2015-03-13 10:03:05 +00:00
cahrens
e30ea5c08b Switch to api directory and improve error handling. 2015-03-09 12:51:43 -04:00
cahrens
c8a20df210 Combine account and profile into same API. 2015-03-05 16:13:49 -05:00
Will Daly
7bad603978 Merge pull request #7076 from edx/will/deprecate-embargo
Deprecate old embargo implementation.
2015-03-03 15:54:41 -05:00
Andy Armstrong
dfe0057b79 Implement profile API
TNL-1491

See the API design here:

https://openedx.atlassian.net/wiki/display/TNL/User+API
2015-03-02 16:28:52 -05:00
cahrens
3ed31c2b1b Add name change and email change support to accounts API.
Name change is immediate, email change is multi-step.
2015-02-27 16:35:05 -05:00
Will Daly
ae8ddc8aee Deprecate old embargo implementation.
The new "country access" implementation replaces the old
implementation.  Middleware and tests have been updated
accordingly, but deprecated models are preserved
for backwards compatibility.
2015-02-23 15:48:04 -05:00
Will Daly
f854726efc Add tracking code to LinkedIn URL.
Add client-side analytics event for LinkedIn Add to Profile button click.

Add management command for generating certs for testing.

Update styling of the certificate messages.
2015-02-23 11:52:47 -05:00