This code adds the ability to add Mako template lookup directories on
the fly, allowing third party add-ons to contribute their own Mako templates.
A new API function for registering Mako templates is introduced::
from edxmako import add_lookup
add_lookup('main', '/path/to/templates')
# Or, specify a package to lookup using pkg_resources. This will
# add the 'templates' directory inside the current package:
add_lookup('main', 'templates', package=__name__)
First set of fixes from the pull request
This does not include some of the testing files. The textannotation and
videoannotation test files are not ready. waiting for an answer on the
issue.
Deleted token line in api.py and added test for token generator
Added notes_spec.coffee
remove spec file
fixed minor error with the test
fixes some quality errors
fixed unit test
fixed unit test
added advanced module
Added notes_spec.coffee
remove spec file
Quality and Testing Coverage
1. in test_textannotation.py I already check for line 75 as it states
in the diff in line 43, same with test_videoanntotation
2. Like you said, exceptions cannot be checked for
firebase_token_generator.py. The version of python that is active on
the edx server is 2.7 or higher, but the code is there for correctness.
Error checking works the same way.
3. I added a test for student/views/.py within tests and deleted the
unused secret assignment.
4. test_token_generator.py is now its own file
Added Secret Token data input
fixed token generator
Annotation Tools in Place
The purpose of this pull request is to install two major modules: (1) a
module to annotate text and (2) a module to annotate video. In either
case an instructor can declare them in advanced settings under
advanced_modules and input content (HTML in text, mp4 or YouTube videos
for video). Students will be able to highlight portions and add their
comments as well as reply to each other. There needs to be a storage
server set up per course as well as a secret token to talk with said
storage.
Changes:
1. Added test to check for the creation of a token in tests.py (along
with the rest of the tests for student/view.py)
2. Removed items in cms pertaining to annotation as this will only be
possible in the lms
3. Added more comments to firebase_token_generator.py, the test files,
students/views.py
4. Added some internationalization stuff to textannotation.html and
videoannotation.html. I need some help with doing it in javascript, but
the html is covered.
incorporated lib for traslate
fixed quality errors
fixed my notes with catch token
Text and Video Annotation Modules - First Iteration
The following code-change is the first iteration of the modules for
text and video annotation.
Installing Modules:
1. Under “Advanced Settings”, add “textannotation” and
“videoannotation” to the list of advanced_modules.
2. Add link to an external storage for annotations under
“annotation_storage_url”
3. Add the secret token for talking with said storage under
“annotation_token_secret”
Using Modules
1. When creating new unit, you can find Text and Video annotation
modules under “Advanced” component
2. Make sure you have either Text or Video in one unit, but not both.
3. Annotations are only allowed on Live/Public version and not Studio.
Added missing templates and fixed more of the quality errors
Fixed annotator not existing issue in cmd and tried to find the get_html() from the annotation module class to the descriptor
Added a space after # in comments
Fixed issue with an empty Module and token links
Added licenses and fixed vis naming scheme and location.
Added fixtures for course and xblock creation
Added bok-choy Studio tests
Added bok-choy tests for ora self- and ai- assessment
Refactored auto-auth; added staff and course-enrollment options
Removed extra javascript properties from page objects
Studio doesn't do email changes, thus has no email reset template; thus, we must disable password/email-reset related tests when running with studio settings
Several templates used a variable set by the user (the request host header). This led to a vulnerability where an attacker could inject their domain name into these templates (i.e., activation emails). This patch fixes this vulnerability.
LMS-532
This does not yet replace the existing per-student anonymous id, but
is intended to do so in the future.
Co-author: Alexander Kryklia <kryklia@edx.org>
Co-author: Ned Batchelder <ned@edx.org>
Co-author: Oleg Marchev <oleg@edx.org>
Co-author: Valera Rozuvan <valera@edx.org>
Co-author: polesye
The "mode" was remaining unchanged when a student unenrolled & re-enrolled in a course--i.e., someone who was verified when first registering would still be verified when unenrolling and re-registering in audit mode. This commit fixes this problem.
LMS-1526
Added an expiration_datetime field to CourseModes, intended to eventually replace expiration_date.
Included relevant schema and data migration file.
LMS-1454
With tests, some settings changes
(all should default to not breaking anything for edx)
Added styling for shopping cart User Experience
- Styled shoppingcart list page
- Styled navigation shopping cart button
- Styled receipt page
- Styled course about page for shopping cart courses
Addressed HTML/SCSS issues
Remove offending body class and unnecessary sass changes
Addresses many review comments on stanford shopping cart
* framework for generating order instructions on receipt page
in shoppingcart.models
* move user_cart_has_item into shoppingcart.models
* move min_course_price_for_currency into course_modes.models
* remove auto activation on purchase
* 2-space indents in templates
* etc
revert indentation on navigation.html for ease of review
pep8 pylint
move logging/error handling from shoppingcart view to model
Addressing @dave changes
* Fix open redirect vulnerability
* Add Logging To AUDIT_LOG : Note I had to change existing tests
that mocked AUDIT_LOG with this
* Use external_auth.views.SHIBBOLETH_DOMAIN_PREFIX in student.views
* Add a bunch of documentation
* PEP8 / Pylint
* If a shib users type in their email on the regular login page,
redirects them to /shib-login/
* Modify student.views.accounts_login to handle redirects
generated by @login_required for courses that use shib for
access control.
Redirect those logins to /shib-login/?next=