middleware: Show translated error messages when operation completes

Tests:

- Change locale to Spanish. Raise an exception in bepasty.privileged.setup().
Try to install bepasty. Without the patch, error is not translated. With the
patch, it is.

- Successful installation of an app shows translated success message.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2024-10-18 15:50:37 -07:00 committed by James Valleroy
parent fbed7e93e8
commit 9459ef4be4
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
2 changed files with 4 additions and 4 deletions

View File

@ -32,10 +32,10 @@ def _collect_operations_results(request, app):
operations = operation_module.manager.collect_results(app.app_id)
for operation in operations:
if operation.exception:
views.messages_error(request, operation.message,
views.messages_error(request, operation.translated_message,
operation.exception)
else:
messages.success(request, operation.message)
messages.success(request, operation.translated_message)
class SetupMiddleware(MiddlewareMixin):

View File

@ -150,8 +150,8 @@ class TestSetupMiddleware:
"""Test that module installation result is collected properly."""
resolve.return_value.namespaces = ['mockapp']
operation_manager.collect_results.return_value = [
Mock(message='message1', exception=None),
Mock(message='message2', exception='x-exception')
Mock(translated_message='message1', exception=None),
Mock(translated_message='message2', exception='x-exception')
]
app.get_setup_state = lambda: app_module.App.SetupState.UP_TO_DATE