* Introduce and use a ``roles_api`` module and use the roles API in signal receivers that need to create or delete role assignments. * For created or updated learner and admin enterprise users, associate their user-role with the ``enterprise_customer`` to which that user is linked. * Install django-cache-memoize.
3.17.20
---------
* Adds better exception handling to the SAP integrated channels. * Adds better logging to the base transmission process in the integrated channels.
3.17.19
---------
* Removes the sync_enterprise_catalog_query boolean field from the EnterpriseCustomerCatalog model. * Adds migration to remove the sync_enterprise_catalog_query boolean field.
3.17.18
---------
* Removes all references to the sync_enterprise_catalog_query boolean field from the EnterpriseCustomerCatalog model. * Updates all conditional use of the sync_enterprise_catalog_query field to be True. * A second PR will follow to remove the model field and perform the db migration (blue/green deployment safe).
3.17.17
---------
* Added a catch all exception block to ensure login flow is not interrupted by analytics user sync.
3.17.16
---------
* Include course mode for the user's ``student.CourseEnrollment`` in the ``EnterpriseCourseEnrollmentSerializer``.