We reimplement `make translations` so that it does not depend on the
presence of the `.git` directory. This fixes the Tutor build error:
> [production 18/34] RUN make clean_translations:
git clean -fdX conf/locale
fatal: not a git repository (or any of the parent directories): .git
make: *** [Makefile:57: clean_translations] Error 128
Why is the .git directory missing during the Tutor translations build?
Because if it were present, it would tie the translations' layer cache
up with git state, which would lead to the Docker layer being rebuilt
any time there was any change to git state.
[APER-3229]
In a previous PR, I created a new utility function named `is_credentials_enabled()` that can be used to determine if use of the Credentials IDA is enabled by config in an Open edX instance.
This PR is some additional cleanup that replaces the direct import and use of the `CredentialsApiConfig` model with the new utility function.
I took some additional time to update some existing log messages to include more info while reducing our need to log PII. I've removed as much use of a learner's username as possible, replacing it with logging the learner's LMS User Id instead.
* fix: hide view button when block is not configured
* fix: remove script for load timer if no children or library
* fix: remove print message
* fix: NoneType error is tests
* feat: add comment to course reset model
* feat: add comment info to list endpoint
* feat: add comment to post endpoint
* fixup! feat: add comment to post endpoint
[APER-3228]
This PR tries to correct bad data on a course update before it enters the system. There are times when we are updating a course (via Studio) and we save bad data that has been persisted and passed to the backend from the CMS's legacy Django template-based frontend.
The bad data doesn't affect the LMS or CMS much, as there is extra logic in the monolith around course pacing. However, downstream services (e.g. Credentials) don't understand the concept of course pacing and will persist bad data (like a certificate available date associated with a self-paced course run).
The most common problem that manifests is that Credentials will hide a certificate from a learner on their Learner Record, even though the course certificate is visible and accessible to the learner from the LMS.
* feat: Add context to certificate webview.
Add support to instructor certificates generation. If user has instructor permissions over a course, the staff permissions are also granted.
* fix: rename local parameters to fix pylint redefined-outer-name alert
* feat: create a setting to enable certificate panel for instructors
* fix: remove unnecessary permisions
* fix: update persmissions and testing
* style: fix pylint issues
---------
Co-authored-by: Squirrel18 <daniel.quiroga@edunext.co>
Co-authored-by: Maria Fernanda Magallanes Zubillaga <maria.magallanes@edunext.co>
* feat: Add EnrollmentsService in XBlockRuntime and block renderer
These changes give ability to use `EnrollmentsService` in XBlocks
Add `get_active_enrollments_by_course_and_user` method to `EnrollmentsService` which can be used to get active enrollment of user for a give course
This change has been made to address 9 deprecation warnings which
can be seen after the tests are run.
`name` property of Locators has been deprecated and replaced by the
`block_id` property.
Co-authored-by: Lewis Kabui <lewisemm@users.noreply.github.com>