mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-11-11 07:41:02 +00:00
530b26a5ff
See: https://discuss.overhang.io/t/no-activation-email-errors-logged-on-user-sign-up/1969 A 500 error was being triggered during user registration. Traceback (most recent call last): File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper return view(request, *args, **kwargs) File "./openedx/core/djangoapps/user_authn/views/register.py", line 485, in dispatch return super().dispatch(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch response = self.handle_exception(exc) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception self.raise_uncaught_exception(exc) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception raise exc File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/ratelimit/decorators.py", line 24, in _wrapped return fn(request, *args, **kw) File "./openedx/core/djangoapps/user_authn/views/register.py", line 529, in post response, user = self._create_account(request, data) File "./openedx/core/djangoapps/user_authn/views/register.py", line 572, in _create_account user = create_account_with_params(request, data) File "./openedx/core/djangoapps/user_authn/views/register.py", line 236, in create_account_with_params compose_and_send_activation_email(user, profile, registration) File "/openedx/edx-platform/common/djangoapps/student/views/management.py", line 214, in compose_and_send_activation_email send_activation_email.delay(str(msg)) File "/openedx/venv/lib/python3.8/site-packages/edx_ace/serialization.py", line 29, in __str__ return json.dumps(self, cls=MessageEncoder) File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/__init__.py", line 234, in dumps return cls( File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "/openedx/venv/lib/python3.8/site-packages/edx_ace/serialization.py", line 119, in default return super().default(o) # pragma: no cover File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 179, in default raise TypeError(f'Object of type {o.__class__.__name__} ' TypeError: Object of type LazyStaticAbsoluteUrl is not JSON serializable 2021-09-28 05:21:52,174 ERROR 122 [django.request] [user 11] [ip XY.XY.XY.XY] log.py:222 - Internal Server Error: /api/user/v2/account/registration/ Traceback (most recent call last): File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper return view(request, *args, **kwargs) File "./openedx/core/djangoapps/user_authn/views/register.py", line 485, in dispatch return super().dispatch(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch response = self.handle_exception(exc) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception self.raise_uncaught_exception(exc) File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception raise exc File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, *args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/openedx/venv/lib/python3.8/site-packages/ratelimit/decorators.py", line 24, in _wrapped return fn(request, *args, **kw) File "./openedx/core/djangoapps/user_authn/views/register.py", line 529, in post response, user = self._create_account(request, data) File "./openedx/core/djangoapps/user_authn/views/register.py", line 572, in _create_account user = create_account_with_params(request, data) File "./openedx/core/djangoapps/user_authn/views/register.py", line 236, in create_account_with_params compose_and_send_activation_email(user, profile, registration) File "/openedx/edx-platform/common/djangoapps/student/views/management.py", line 214, in compose_and_send_activation_email send_activation_email.delay(str(msg)) File "/openedx/venv/lib/python3.8/site-packages/edx_ace/serialization.py", line 29, in __str__ return json.dumps(self, cls=MessageEncoder) File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/__init__.py", line 234, in dumps return cls( File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "/openedx/venv/lib/python3.8/site-packages/edx_ace/serialization.py", line 119, in default return super().default(o) # pragma: no cover File "/opt/pyenv/versions/3.8.6/lib/python3.8/json/encoder.py", line 179, in default raise TypeError(f'Object of type {o.__class__.__name__} ' TypeError: Object of type LazyStaticAbsoluteUrl is not JSON serializable The reason for that was that edx-ace could not json-serialize the context to be passed to the registration email renderer. That was caused by the LazyStaticAbsoluteUrl object created to address missing logo in registration email. To make sure that this object is serializable by edx_ace.serialization.MessageEncoder, we add a trivial .to_json() method to the LazyStaticAbsoluteUrl class. This error could (at first) not be reproduced in development, because AUTOMATIC_AUTH_FOR_TESTING is set to true in devstack settings. |
||
---|---|---|
.github | ||
bin | ||
docs | ||
requirements | ||
tests | ||
tutor | ||
tutor-openedx | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.rst | ||
Dockerfile | ||
LICENSE.txt | ||
Makefile | ||
MANIFEST.in | ||
README.rst | ||
setup.py | ||
tutor.spec |
.. _readme_intro_start: Tutor: the docker-based Open edX distribution designed for peace of mind ======================================================================== | .. image:: https://overhang.io/static/img/tutor-logo.svg :alt: Tutor logo :width: 500px :align: center | .. image:: https://github.com/overhangio/tutor/actions/workflows/release.yml/badge.svg :alt: Release build status :target: https://github.com/overhangio/tutor/actions/workflows/release.yml .. image:: https://img.shields.io/badge/docs-current-blue.svg?style=flat-square :alt: Documentation :target: https://docs.tutor.overhang.io .. image:: https://img.shields.io/github/issues/overhangio/tutor.svg?style=flat-square :alt: GitHub issues :target: https://github.com/overhangio/tutor/issues .. image:: https://img.shields.io/github/issues-closed/overhangio/tutor.svg?colorB=brightgreen&style=flat-square :alt: GitHub closed issues :target: https://github.com/overhangio/tutor/issues?q=is%3Aclosed .. image:: https://img.shields.io/github/license/overhangio/tutor.svg?style=flat-square :alt: AGPL License :target: https://www.gnu.org/licenses/agpl-3.0.en.html .. image:: https://img.shields.io/twitter/follow/overhangio :alt: Follow us on Twitter :target: https://twitter.com/overhangio/ .. image:: https://img.shields.io/youtube/channel/views/UCe_p_Axq3PjRnbTqFZDY_iQ?label=Overhang.IO%20on%20Youtube :alt: Follow us on Youtube :target: https://www.youtube.com/c/OverhangIO **Tutor** is the Docker-based `Open edX <https://openedx.org>`_ distribution, both for production and local development. The goal of Tutor is to make it easy to deploy, customize, upgrade and scale Open edX. Tutor is reliable, fast, extensible, and it is already used by hundreds of Open edX platforms around the world. Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO provides online support as part of its `Long Term Support (LTS) offering <https://overhang.io/tutor/pricing>`__. Features -------- * 100% `open source <https://github.com/overhangio/tutor>`__ * Runs entirely on Docker * World-famous 1-click `installation and upgrades <https://docs.tutor.overhang.io/install.html>`__ * Comes with batteries included: `theming <https://github.com/overhangio/indigo>`__, `SCORM <https://github.com/overhangio/openedx-scorm-xblock>`__, `HTTPS <https://docs.tutor.overhang.io/configuration.html#ssl-tls-certificates-for-https-access>`__, `web-based administration interface <https://github.com/overhangio/tutor-webui>`__, `mobile app <https://github.com/tutor/tutor-android>`__, `custom translations <https://docs.tutor.overhang.io/configuration.html#adding-custom-translations>`__... * Extensible architecture with `plugins <https://docs.tutor.overhang.io/plugins.html>`__ * Works with `Kubernetes <https://docs.tutor.overhang.io/k8s.html>`__ * Amazing premium plugins available in the `Tutor Wizard Edition <https://overhang.io/tutor/wizardedition>`__, including `Cairn <https://overhang.io/tutor/plugin/cairn>`__ the next-generation analytics solution for Open edX. * No technical skill required with the `1-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#cloud-deployment>`__ .. _readme_intro_end: .. image:: ./docs/img/quickstart.gif :alt: Tutor local quickstart :target: https://terminalizer.com/view/91b0bfdd557 Quickstart ---------- 1. Install the `latest stable release <https://github.com/overhangio/tutor/releases>`_ of Tutor 2. Run ``tutor local quickstart`` 3. You're done! Documentation ------------- Extensive documentation is available online: https://docs.tutor.overhang.io/ Is there a problem? ------------------- Please follow the instructions from the `troubleshooting section <https://docs.tutor.overhang.io/troubleshooting.html>`__ in the docs. .. _readme_support_start: Support ------- To get community support, go to the official discussion forums: https://discuss.overhang.io. For official support, please subscribe to a Long Term Support (LTS) license at https://overhang.io/tutor/pricing. .. _readme_support_end: .. _readme_contributing_start: Contributing ------------ We welcome contributions to Tutor! To learn how you can contribute, please check the relevant section of the Tutor docs: `https://docs.tutor.overhang.io/tutor.html#contributing <https://docs.tutor.overhang.io/tutor.html#contributing>`__. .. _readme_contributing_end: