Commit Graph

513 Commits

Author SHA1 Message Date
Peter Fogg
497622d4b4 Switch default course mode to 'audit'.
ECOM-2972
2015-11-25 11:22:29 -05:00
Ahsan Ulhaq
bc64c66835 Refund Policy on Prof Ed Receipts
ECOM-2562
2015-11-24 17:42:09 +05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
Usman Khalid
6cb62f2697 Rebase upgrade Django to v1.8.5
Please note that this is a squshed commit and the work of:
Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
2015-11-10 15:00:19 -05:00
Bill DeRusha
6123827ab1 Compare all refund dates in UTC 2015-11-02 20:00:06 -05:00
Bill DeRusha
1f77810fad Add configurable refund window
Add configuration model for enrollment refunds.

Use order info from otto in refund window calculation

Delete dupe tests. Extend tests to include window tests

Move ecom client from lib to djangoapps in openedx
2015-10-30 09:01:53 -04:00
Zia Fazal
9bb6f6e88d use a generic function check if entrance_exam is enabled or not 2015-10-22 16:45:19 +05:00
Ned Batchelder
322ca34b20 Remove pylint pragmas from "class Meta"
Also remove useless docstrings where they were added to keep pylint
quiet.
2015-10-21 07:37:00 -04:00
Sarina Canelake
105d611cc9 Create distinct terms for gender, education sign up terms 2015-10-20 18:55:51 -04:00
Afeef Janjua
713689dffe invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[62dd3f1] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[eb32c9a] fixed the python quality issue of accessing protected fields
fixed the failing tests

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+2 squashed commits)
Squashed commits:
[4bfe22b] remove the delete case because there is none in current scenario
[802c259] moved the test case to user profile properties file

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[eb32c9a] fixed the python quality issue of accessing protected fields
fixed the failing tests

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[98d2415] added better log info message

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[62dd3f1] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[eb32c9a] fixed the python quality issue of accessing protected fields
fixed the failing tests

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+2 squashed commits)
Squashed commits:
[4bfe22b] remove the delete case because there is none in current scenario
[802c259] moved the test case to user profile properties file

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[eb32c9a] fixed the python quality issue of accessing protected fields
fixed the failing tests

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[4269e3b] disble protected access in pylint

invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
Squashed commits:
[7c4fecf] invalidate UserProfile.country cache when UserProfile is updated
2015-10-20 18:32:21 +05:00
Bill DeRusha
fe23052511 Merge pull request #9979 from edx/bderusha/boardman-traffic
Add IP to all python Segment tracking calls
2015-10-05 14:55:55 -04:00
Bill DeRusha
ca6633bd98 Add IP to all python Segment tracking calls 2015-10-01 21:21:16 -04:00
Bill DeRusha
bcb71a3255 Rename SEGMENT_KEY to have a unique key name for both CMS and LMS 2015-10-01 19:40:27 -04:00
Bill DeRusha
c721ff5a82 Replace SEGMENT_IO_LMS & SEGMENT_IO_LMS_KEY with single key SEGMENT_KEY 2015-09-24 11:49:03 -04:00
Bill DeRusha
ccc43cfe98 Add mailchimp list fields and config for new users 2015-09-22 10:24:24 -04:00
Tasawer
02d4606e57 Fixing IntegrityError happened on concurrent requests for course enrollment
ECOM-1730
2015-09-10 10:51:14 +00:00
Afzal Wali
257aaaee83 Added the ability to change the enrollment mode in the auto_auth API (used for bokchoy and load tests).
Modified some tests to use the modified API.

Quality

Quality

Updated the comment.

Quality
2015-09-02 19:05:34 +05:00
zubair-arbi
ec28a75f14 In-course reverification access control
* Automatically create user partitions on course publish for each ICRV checkpoint.
* Disable partitions for ICRV checkpoints that have been deleted.
* Skip partitions that have been disabled when checking access.
* Add verification access control UI to visibility settings.
* Add verification access control UI to sequential and vertical settings.
* Add partition scheme for verification partition groups.
* Cache information used by verification partition scheme and invalidate the cache on update.
* Add location parameter to UserPartition so the partition scheme can find the associated checkpoint.
* Refactor GroupConfiguration to allow multiple user partitions.
* Add special messaging to ICRV for students in the honor track.

Authors: Zubair Arbi, Awais Qureshi, Aamir Khan, Will Daly
2015-08-20 08:43:55 -07:00
Brandon DeRosier
34526ddf6a Revert "Revert "Merge pull request #8986 from jazkarta/remove-ccx-enrollment""
This reverts commit 42e78463a7.
2015-08-11 13:03:58 -04:00
Peter Fogg
42e78463a7 Revert "Merge pull request #8986 from jazkarta/remove-ccx-enrollment"
This reverts commit 53db053c18, reversing
changes made to 386a8a27dd.
2015-08-07 16:59:56 -04:00
Ned Batchelder
ceb5655b2d Merge pull request #9171 from edx/ned/update-pylint
Update pylint and astroid, reduces pylint count by 400
2015-08-04 09:28:35 -04:00
Ned Batchelder
f54fe787c6 Remove needless 'disable=no-member' pragmas 2015-08-03 17:47:44 -04:00
Jim Abramson
0e3be9de80 Merge pull request #9123 from edx/jsa/xcom-442
Add historical course enrollment table.
2015-08-03 17:06:24 -04:00
Carlos de la Guardia
458ed0a64e Use the standard enrollment table instead of a custom CCX table for CCX
enrollments.

The goal for this PR is to have a single mechanism for registering users and
reducing the number of places where special-casing for ccx courses is needed. The
migration at this point is purposefully limited to convert ccx memberships into
student enrollments when moving forward. No backward migration is in place at the
moment. The ccx membership tables are not removed at this time. It is possible to go
backwards and forwards multiple times with no errors or data loss.
2015-08-01 02:59:10 -05:00
jsa
810d623325 Add historical course enrollment table.
XCOM-442
2015-07-29 17:35:41 -04:00
Renzo Lucioni
b50c905865 Remove modulestore dependency from Enrollment API
Sets the Enrollment API free of the modulestore by replacing modulestore queries with calls to the CourseOverview model. Course deletion invalidates the corresponding CourseOverview. XCOM-462.
2015-07-20 13:41:19 -04:00
Sarina Canelake
8283c07e32 Remove superfluous-parens pylint violations
Skipped 'print' statement violations, as print() is Py3k syntax.
2015-07-13 17:33:28 -04:00
Sarina Canelake
22bbdacee9 Convert Meta classes to new-style classes 2015-07-13 17:33:26 -04:00
Kyle McCormick
1dfe9ed9e8 MA-779 Update student dashboard to use CourseOverview 2015-07-08 12:05:38 -04:00
Ahsan Ulhaq
8d9d4b85d5 LMS: Modification in enrollment API
Changed enrollment api to set enrollment atributes if the course is
credit course

ECOM-1719
2015-07-07 00:49:02 +05:00
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
Kyle McCormick
1726c136fa MA-772 create app course_overviews for caching course metadata 2015-06-22 18:33:12 -04:00
Ahsan Ulhaq
20e6c7625c LMS: Modification in enrollment API
Added CourseEnrollmentAttribute model

ECOM-1719
2015-06-16 10:39:04 +05: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
Tim Krones
f711a32e3d TNL-1652: Allow instructors to obtain CSV file listing students who may
enroll in a course but have not signed up yet.
2015-06-04 20:50:04 +02:00
Ben McMorran
9d336c33eb TNL-1897 Implement Course Team API 2015-06-03 18:04:17 +00:00
Diana Huang
15291aa43b Merge pull request #8015 from edx/andya/add-tab-extensions
Add extensible course view types for edX platform
2015-06-02 17:08:45 -04:00
Muhammad Shoaib
65c4f1df89 SOL-236 Manual Enrollments 2015-06-02 13:19:32 -04:00
Andy Armstrong
94e1c42314 Add extensible course view types for edX platform 2015-06-02 13:12:40 -04:00
Muhammad Shoaib
b555c869bf SOL-794 Detailed Enrollment Report
- added the abstract and concrete layers of enrollment report provider
- created a celery task.
-added the button in the e-commerce reports section

added the enrollment data backend

added the payment data and start writing the test cases.

updated the code with the feedback suggestions and wrote some test cases.
- all the downloadable reports are now visible in the ecommerce download section.
Pending instructor tasks is also visible in the ecommerce section

added the fields in the user profile information
changed the report store configuration key
added the new http endpoint for financial reports to add more permissions for finance_admin to access.

fix quality issues

added test cases to check csv content data

rebased with master and resolved conflicts

changed the log messages

added the changes as per code clintonb suggestions during code review

updated the test cases for the finance_admin decorator

changes suggested by clinton.

Created and moved Table level filters to the Custom Manager for the CourseEnrollment model.

ecommerce.js file was loaded twice in the instructor_dashboard.js fixed the issues

added the registration code column in the csv

added the full gender in the csv file

Update data sources and add display name translations for the report columns

fix meta name

Make sure the reports section does not appear on non whitelabel courses

pylint fixes

expand out enumerated values
2015-05-22 15:16:57 -04:00
cahrens
4af79d6f76 Don't event first_name and last_name.
TNL-2044
2015-04-21 16:03:59 -04:00
Andy Armstrong
17392ef3bf Code review feedback and test cleanup. 2015-04-17 17:23:19 -04:00
cahrens
4797a74e5c Emit events for language proficiencies from the update_account_settings method. 2015-04-17 17:23:18 -04:00
Daniel Friedman
97c43adaa4 Track user settings changed events on User save 2015-04-17 17:23:18 -04:00
Diana Huang
3f20a6f304 Add model change event tracking to UserProfile. 2015-04-17 17:23:18 -04:00
Andy Armstrong
c3a39934a0 Limit the size of the user profile's "bio" field
TNL-1990
2015-04-17 17:23:16 -04:00
jsa
bb2599cecd Include profile image version in URLs.
TNL-1860
2015-04-17 17:23:13 -04:00
Daniel Friedman
97e44ed20f Implement language proficiencies.
TNL-1488
2015-04-17 17:23:12 -04:00
Andy Armstrong
650a9a9b85 Implement parental controls for user profiles
TNL-1606
2015-04-17 17:23:11 -04:00
Daniel Friedman
6f6fdbfb5f Integrate profile images into Accounts API
TNL-1545
2015-04-17 17:23:11 -04:00