Compare commits

...

2 Commits

Author SHA1 Message Date
Jonas Schäfer
3d62efccfc admin: Show deleted users in circle members
This helps with removing those users from circles, to avoid them
popping up in peoples roster again.

Even though removal from a circle also only partially works
(roster entries are for instance not cleared), this helps with
ghost users reappearing all the time.
2021-06-18 16:18:22 +02:00
Jonas Schäfer
9d26e39025 Merge pull request #87 from snikket-im/feature/mypy-ci-fix
Install build requirements for mypy CI check
2021-06-18 16:18:12 +02:00
3 changed files with 36 additions and 24 deletions

View File

@@ -485,21 +485,21 @@ async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
return redirect(url_for(".circles")) return redirect(url_for(".circles"))
raise raise
users = sorted( users = {
await client.list_users(), user.localpart: user
key=lambda x: x.localpart for user in await client.list_users()
) }
circle_members = [ circle_members = [
user for user in users (localpart, users.get(localpart))
if user.localpart in circle.members for localpart in sorted(circle.members)
] ]
form = EditCircleForm() form = EditCircleForm()
form.user_to_add.choices = [ form.user_to_add.choices = sorted(
(user.localpart, user.localpart) (localpart, localpart)
for user in users for localpart in users.keys()
if user.localpart not in circle.members if localpart not in circle.members
] )
valid_users = [x[0] for x in form.user_to_add.choices] valid_users = [x[0] for x in form.user_to_add.choices]
invite_form = InvitePost() invite_form = InvitePost()

View File

@@ -1,5 +1,5 @@
{% extends "admin_app.html" %} {% extends "admin_app.html" %}
{% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button, clipboard_button %} {% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button, clipboard_button, icon %}
{% block head_lead %} {% block head_lead %}
{{ super() }} {{ super() }}
{% include "copy-snippet.html" %} {% include "copy-snippet.html" %}
@@ -61,9 +61,16 @@
<th>{% trans %}Actions{% endtrans %}</th> <th>{% trans %}Actions{% endtrans %}</th>
</thead> </thead>
<tbody> <tbody>
{%- for member in circle_members -%} {%- for localpart, member in circle_members -%}
<tr> <tr>
<td>{{ member.localpart }}</td> <td>
{%- if member -%}
{{ localpart }}
{%- else -%}
{{ localpart }}
<span class="with-tooltip above" data-tooltip="{% trans %}The user has been deleted from the server.{% endtrans %}"><em> ({% trans %}deleted{% endtrans %})</em></span>
{%- endif -%}
</td>
<td class="collapsible">{% call value_or_hint(member.display_name) %}{% endcall %}</td> <td class="collapsible">{% call value_or_hint(member.display_name) %}{% endcall %}</td>
<td class="nowrap"> <td class="nowrap">
{%- call custom_form_button("remove_user", form.action_remove_user.name, member.localpart, class="primary danger", slim=True) -%} {%- call custom_form_button("remove_user", form.action_remove_user.name, member.localpart, class="primary danger", slim=True) -%}

View File

@@ -591,28 +591,37 @@ msgstr ""
msgid "Circle members" msgid "Circle members"
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:70 #: snikket_web/templates/admin_edit_circle.html:71
msgid "The user has been deleted from the server."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:71
#: snikket_web/templates/library.j2:108
msgid "deleted"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:77
#, python-format #, python-format
msgid "Remove user %(username)s from circle" msgid "Remove user %(username)s from circle"
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:78 #: snikket_web/templates/admin_edit_circle.html:85
msgid "This circle currently has no members." msgid "This circle currently has no members."
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:80 #: snikket_web/templates/admin_edit_circle.html:87
msgid "Invite more members" msgid "Invite more members"
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:83 #: snikket_web/templates/admin_edit_circle.html:90
msgid "Add existing user" msgid "Add existing user"
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:94 #: snikket_web/templates/admin_edit_circle.html:101
msgid "All users added" msgid "All users added"
msgstr "" msgstr ""
#: snikket_web/templates/admin_edit_circle.html:95 #: snikket_web/templates/admin_edit_circle.html:102
msgid "All users on this service are already in this circle." msgid "All users on this service are already in this circle."
msgstr "" msgstr ""
@@ -1316,10 +1325,6 @@ msgstr ""
msgid "Invalid input" msgid "Invalid input"
msgstr "" msgstr ""
#: snikket_web/templates/library.j2:108
msgid "deleted"
msgstr ""
#: snikket_web/templates/library.j2:122 #: snikket_web/templates/library.j2:122
msgid "Can be used multiple times to create accounts on this Snikket service." msgid "Can be used multiple times to create accounts on this Snikket service."
msgstr "" msgstr ""