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
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
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.
Update edx-lint to the version that checks if tearDown uses super.
Convert a number of tearDown methods into addCleanup.
Remove some unneeded tearDown methods: no need to call patch.stopall if
none of them were started with patch.start.
This file was never run, because of a missing __init__.py. It needs a
super() call to make the ModuleStoreTestCase work properly.
Then one test failed, because of a missed change from dollar to
configurable currency.
Allow global staff to generate example certificates
on the instructor dashboard.
Allow global staff to enable/disable self-generated
certificates for a course.
Conflicts:
lms/djangoapps/courseware/courses.py
lms/djangoapps/instructor_task/api.py
refined entrance exam student attempts reset
Quality improvements 1/16
added rescore, delete state and task history functionality
added unit tests for entrance exam reset attempts
added unit tests for re scoring of entrance exam and task history
improved test coverage
Got rid of pep violation
feedback changes and added jasmine test
added more jasmine tests for Javascript changes
added bok-choy tests for UI changes
replaced input containing <p> tags with <label>
Removed ee element assertions to avoid js error
Added call to super.setUp()
changes based on feedback on 2/18
Writing tests in JS instead of coffee script
commit related to skip entrance exam 2/13
fixed bad-continuation quality error
fixed broken bok-choy test
changes based on feedback on 2/18
added js tests and removed coffee script tests
fixed broken bok-choy and unit tests
changes left while rebasing
rephrase test titles
do not need these libs
changes based on feedback on 2/24
changes text which was left
Changes based on feedback on 3/3
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.
In a structure like:
@override_settings(MODULESTORE=store_a)
class BaseTestCase(ModuleStoreTestCase):
def setUp(self):
# use store
@override_settings(MODULESTORE=store_b)
class ChildTestCase(BaseTestCase):
def setUp(self):
# use store
In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.
To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.
[PLAT-419]
Added receipts_pdf.py
Used Paragraph for displaying a large body of text.
added the table
Line breaks in the para text. font size adjusted.
Improved the main table (alignments) and totals (converted to a table as well)
Converted the footer into a table, and allowed for pagination.
Added pagination to item data table.
Handled wrapping of long descriptions into multiple lines.
email attachment for both invoice and receipt
added the currency from the settings
Removed magic numeric literals and added meaningful variables.
Added initial set of substitutions from configuration
add defining logo paths via configuration
Removed font dependencies. Will use the system default fonts which appear good enough to me.
Alignment adjustments as per suggestions.
Fixed the pep8 violations. Added comments to styling
added the decimal points to the price values
Cleanup. Docstrings.
i18n the text in the pdf file
fix pep8/pylint issues
Changed the amounts from string to float.
Overrode the 'pdf_receipt_display_name' property in the OrderItem subclass Donation.
used the PaidCourseRegistration instead of the parent OrderItem to avoid course_id related exceptions.
quality fixes
added the test cases for the pdf
made the changes in the pdf suggested by griff
updated the pdf tests to assert the pdf content
used the pdfminor library
fix quality issues
made the changes suggested by Will
added the text file that says "pdf file not available. please contact support"
in case pdf fails to attach in the email
Update the redeem code schema
Updating the redeem code schema.
Adding migration file.
Adding course mode support when redeeming a code.
Conflicts:
lms/djangoapps/shoppingcart/views.py
Add sales admin privileges for redeem code generation.
Making sure redeem code URLs work for verified courses.
pep8 violations
Code Review and Test Cleanup changes
Added tests, fixed tests.
Updating the boolean checks in ecommerce template
added the functionality of adding the expiration date, and also handled in the shopping cart when the user try to add the expired coupon code in the shopping cart
added expiration date in the coupons list in the ecommerce page
added the unit tests and jasmine tests
fix the quality issues and rebased with master
regenerated the migration file with a different number
i18n and verified te course mode
changes suggested by stephan
Move modulestore config for tests to an importable location
Disable pylnt warning for lms imports in common tests
Refactor all testcases that loaded all xml courses
TE-610
TE-489