diff --git a/snikket_web/admin.py b/snikket_web/admin.py
index f8b84da..3a5cf76 100644
--- a/snikket_web/admin.py
+++ b/snikket_web/admin.py
@@ -148,8 +148,13 @@ class InvitePost(flask_wtf.FlaskForm): # type:ignore
default=7*86400,
)
- reusable = wtforms.BooleanField(
- _l("Invite a group of people"),
+ type_ = wtforms.RadioField(
+ _l("Invitation type"),
+ choices=[
+ ("account", _l("Individual")),
+ ("group", _l("Group")),
+ ],
+ default="account",
)
action_create_invite = wtforms.SubmitField(
@@ -228,7 +233,7 @@ async def create_invite() -> typing.Union[str, quart.Response]:
(c.id_, c.name) for c in circles
]
if form.validate_on_submit():
- if form.reusable.data:
+ if form.type_.data == "group":
invite = await client.create_group_invite(
group_ids=form.circles.data,
ttl=form.lifetime.data,
diff --git a/snikket_web/templates/admin_create_invite_form.html b/snikket_web/templates/admin_create_invite_form.html
index 3a7a2bf..16d03ff 100644
--- a/snikket_web/templates/admin_create_invite_form.html
+++ b/snikket_web/templates/admin_create_invite_form.html
@@ -5,8 +5,8 @@
{% trans %}Create a new invitation link to invite more users to your Snikket service by clicking the button below.{% endtrans %}
- {{ invite_form.reusable }}
- {{ invite_form.reusable.label }}
+ {{ invite_form.type_.label }}
+ {{ invite_form.type_ }}
{{ invite_form.lifetime.label }}
diff --git a/snikket_web/templates/admin_edit_invite.html b/snikket_web/templates/admin_edit_invite.html
index ac3d362..c6936d9 100644
--- a/snikket_web/templates/admin_edit_invite.html
+++ b/snikket_web/templates/admin_edit_invite.html
@@ -14,7 +14,7 @@
{{ invite.expires | format_date }}
{% trans %}Link{% endtrans %}
{% call showuri(invite.landing_page) %}{% endcall %}
-
{% trans %}Reusability{% endtrans %}
+
{% trans %}Invitation type{% endtrans %}
{% if invite.reusable %}{% trans %}This invitation link can be used arbitrarily often, until it expires, is revoked or a service-wide user limit is reached.{% endtrans %}{% else %}{% trans %}This invitation link can only be used once and is then depleted.{% endtrans %}{% endif %}
{%- set ngroups = invite.group_ids | length -%}
{%- if ngroups > 1 -%}
diff --git a/snikket_web/templates/admin_invites.html b/snikket_web/templates/admin_invites.html
index ed9509d..1dad14b 100644
--- a/snikket_web/templates/admin_invites.html
+++ b/snikket_web/templates/admin_invites.html
@@ -1,5 +1,5 @@
{% extends "admin_app.html" %}
-{% from "library.j2" import action_button, icon, clipboard_button, form_button, custom_form_button, extract_circle_name %}
+{% from "library.j2" import action_button, icon, clipboard_button, form_button, custom_form_button, extract_circle_name, invite_type_name %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
@@ -19,7 +19,7 @@
| {% trans %}Valid until{% endtrans %} |
- {% trans %}Reusable{% endtrans %} |
+ {% trans %}Type{% endtrans %} |
{% trans %}Circle{% endtrans %} |
{% trans %}Actions{% endtrans %} |
@@ -28,8 +28,7 @@
{% for invite in invites %}
| {{ (invite.expires - now) | format_timedelta(add_direction=True) }} |
- {% if invite.reusable %}{% trans %}Yes{% endtrans %}{% else %}{% trans
- %}No{% endtrans %}{% endif %} |
+ {% call invite_type_name(invite) %}{% endcall %} |
{#- -#}
diff --git a/snikket_web/templates/library.j2 b/snikket_web/templates/library.j2
index b9ffdb5..2f60f7f 100644
--- a/snikket_web/templates/library.j2
+++ b/snikket_web/templates/library.j2
@@ -107,3 +107,11 @@
{% trans %}deleted{% endtrans %}
{%- endif -%}
{% endmacro %}
+
+{%- macro invite_type_name(invite_info, caller=None) -%}
+{%- if invite_info.reusable -%}
+{% trans %}Group{% endtrans %}
+{%- else -%}
+{% trans %}Individual{% endtrans %}
+{%- endif -%}
+{%- endmacro -%}
diff --git a/snikket_web/translations/messages.pot b/snikket_web/translations/messages.pot
index a2196d9..0eb19e9 100644
--- a/snikket_web/translations/messages.pot
+++ b/snikket_web/translations/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-27 15:34+0100\n"
+"POT-Creation-Date: 2021-01-27 15:55+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -53,39 +53,47 @@ msgstr ""
msgid "Four weeks"
msgstr ""
-#: snikket_web/admin.py:152
-msgid "Invite a group of people"
+#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
+msgid "Invitation type"
msgstr ""
-#: snikket_web/admin.py:156
+#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
+msgid "Individual"
+msgstr ""
+
+#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
+msgid "Group"
+msgstr ""
+
+#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr ""
-#: snikket_web/admin.py:218
+#: snikket_web/admin.py:223
msgid "Revoke"
msgstr ""
-#: snikket_web/admin.py:274 snikket_web/admin.py:318
+#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr ""
-#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:44
+#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:44
msgid "Create circle"
msgstr ""
-#: snikket_web/admin.py:323
+#: snikket_web/admin.py:328
msgid "Select user"
msgstr ""
-#: snikket_web/admin.py:328
+#: snikket_web/admin.py:333
msgid "Update circle"
msgstr ""
-#: snikket_web/admin.py:332
+#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr ""
-#: snikket_web/admin.py:338
+#: snikket_web/admin.py:343
msgid "Add user"
msgstr ""
@@ -472,10 +480,6 @@ msgstr ""
msgid "Link"
msgstr ""
-#: snikket_web/templates/admin_edit_invite.html:17
-msgid "Reusability"
-msgstr ""
-
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -573,30 +577,22 @@ msgid "Pending invitations"
msgstr ""
#: snikket_web/templates/admin_invites.html:22
-msgid "Reusable"
+msgid "Type"
msgstr ""
-#: snikket_web/templates/admin_invites.html:31
-msgid "Yes"
-msgstr ""
-
-#: snikket_web/templates/admin_invites.html:31
-msgid "No"
-msgstr ""
-
-#: snikket_web/templates/admin_invites.html:44
+#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr ""
-#: snikket_web/templates/admin_invites.html:47
+#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr ""
-#: snikket_web/templates/admin_invites.html:50
+#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr ""
-#: snikket_web/templates/admin_invites.html:58
+#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr ""
|