Use more personalised messages for the current user in the sessions list

pull/12185/head
Sage Abdullah 2024-07-15 15:56:26 +01:00 zatwierdzone przez Thibaud Colas
rodzic 5de63bd1b3
commit 791defed46
5 zmienionych plików z 54 dodań i 18 usunięć

Wyświetl plik

@ -15,9 +15,15 @@
</div>
{% endfragment %}
{% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar saved_new_version_message %}
{{ user_name }} saved a new version
{% endblocktranslate %}
{% if current_session.user == session.user %}
{% blocktranslate trimmed asvar saved_new_version_message %}
You saved a new version in another session
{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar saved_new_version_message %}
{{ user_name }} saved a new version
{% endblocktranslate %}
{% endif %}
{% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--latest" toggle_label=avatar_decorated toggle_aria_label=saved_new_version_message|capfirst %}
<div class="w-editing-sessions__popup">
@ -34,9 +40,15 @@
</div>
{% enddropdown %}
{% elif session.is_editing %}
{% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar has_unsaved_changes_message %}
{{ user_name }} has unsaved changes
{% endblocktranslate %}
{% if current_session.user == session.user %}
{% blocktranslate trimmed asvar has_unsaved_changes_message %}
You have unsaved changes in another session
{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar has_unsaved_changes_message %}
{{ user_name }} has unsaved changes
{% endblocktranslate %}
{% endif %}
{% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--editing" toggle_label=avatar toggle_aria_label=has_unsaved_changes_message|capfirst %}
<div class="w-editing-sessions__popup">
@ -86,16 +98,28 @@
{% if sessions.0.revision_id %}
<template data-controller="w-teleport" data-w-teleport-target-value="#title-text-w-overwrite-changes-dialog" data-w-teleport-reset-value="true">
{% blocktranslate trimmed with user_name=sessions.0.user|user_display_name|default:_("system") model_name=_("page") asvar someone_has_saved_message %}
{{ user_name }} has saved a newer version of this {{ model_name }}
{% endblocktranslate %}
{% if current_session.user == sessions.0.user %}
{% blocktranslate trimmed with model_name=_("page") asvar someone_has_saved_message %}
You have saved a newer version of this {{ model_name }} in another session
{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed with user_name=sessions.0.user|user_display_name|default:_("system") model_name=_("page") asvar someone_has_saved_message %}
{{ user_name }} has saved a newer version of this {{ model_name }}
{% endblocktranslate %}
{% endif %}
{{ someone_has_saved_message|capfirst }}
</template>
<template data-controller="w-teleport" data-w-teleport-target-value="#subtitle-w-overwrite-changes-dialog" data-w-teleport-reset-value="true">
{% blocktranslate trimmed with user_name=sessions.0.user|user_display_name|default:_("system") asvar overwrite_message %}
Proceeding will overwrite the changes made by {{ user_name }}. Refreshing the page will lose any of your unsaved changes.
{% endblocktranslate %}
{% if current_session.user == sessions.0.user %}
{% blocktranslate trimmed asvar overwrite_message %}
Proceeding will overwrite the changes you made in that session. Refreshing the page will lose any of your unsaved changes in the current session.
{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed with user_name=sessions.0.user|user_display_name|default:_("system") asvar overwrite_message %}
Proceeding will overwrite the changes made by {{ user_name }}. Refreshing the page will lose any of your unsaved changes.
{% endblocktranslate %}
{% endif %}
{{ overwrite_message|capfirst }}
</template>
{% endif %}

Wyświetl plik

@ -4,14 +4,23 @@ from wagtail.admin.ui.components import Component
class EditingSessionsModule(Component):
template_name = "wagtailadmin/shared/editing_sessions/module.html"
def __init__(self, ping_url, release_url, sessions, revision_id=None):
def __init__(
self,
current_session,
ping_url,
release_url,
other_sessions,
revision_id=None,
):
self.current_session = current_session
self.ping_url = ping_url
self.release_url = release_url
self.sessions_list = EditingSessionsList(sessions)
self.sessions_list = EditingSessionsList(current_session, other_sessions)
self.revision_id = revision_id
def get_context_data(self, parent_context):
return {
"current_session": self.current_session,
"ping_url": self.ping_url,
"release_url": self.release_url,
"sessions_list": self.sessions_list,
@ -22,8 +31,9 @@ class EditingSessionsModule(Component):
class EditingSessionsList(Component):
template_name = "wagtailadmin/shared/editing_sessions/list.html"
def __init__(self, sessions):
self.sessions = sessions
def __init__(self, current_session, other_sessions):
self.current_session = current_session
self.sessions = other_sessions
def get_context_data(self, parent_context):
return {"sessions": self.sessions}
return {"current_session": self.current_session, "sessions": self.sessions}

Wyświetl plik

@ -180,7 +180,7 @@ def ping(request, app_label, model_name, object_id, session_id):
}
for other_session in other_sessions
],
"html": EditingSessionsList(other_sessions).render_html(),
"html": EditingSessionsList(session, other_sessions).render_html(),
}
)

Wyświetl plik

@ -698,6 +698,7 @@ class CreateEditViewOptionalFeaturesMixin:
)
revision_id = self.object.latest_revision_id if self.revision_enabled else None
return EditingSessionsModule(
session,
reverse(
"wagtailadmin_editing_sessions:ping",
args=(

Wyświetl plik

@ -891,6 +891,7 @@ class EditView(WagtailAdminTemplateMixin, HookResponseMixin, View):
last_seen_at=timezone.now(),
)
return EditingSessionsModule(
session,
reverse(
"wagtailadmin_editing_sessions:ping",
args=("wagtailcore", "page", self.page.pk, session.id),