diff --git a/apps/member/templates/member/includes/profile_info.html b/apps/member/templates/member/includes/profile_info.html index 3a927c9f..f6471bc4 100644 --- a/apps/member/templates/member/includes/profile_info.html +++ b/apps/member/templates/member/includes/profile_info.html @@ -60,7 +60,10 @@ {% if user_object.pk == user.pk %}
- {% trans 'API token' %} +  {% trans 'API token' %} + + +  {% trans 'QR Code' %}
{% endif %} diff --git a/apps/member/templates/member/qr_code.html b/apps/member/templates/member/qr_code.html new file mode 100644 index 00000000..da9d6042 --- /dev/null +++ b/apps/member/templates/member/qr_code.html @@ -0,0 +1,36 @@ +{% extends "base.html" %} +{% comment %} +SPDX-License-Identifier: GPL-3.0-or-later +{% endcomment %} +{% load i18n %} + +{% block content %} +
+

+ {% trans "QR Code for" %} {{ user_object.username }} ({{ user_object.first_name }} {{user_object.last_name }}) +

+
+
+
+ + +{% endblock %} + +{% block extrajavascript %} + + +{% endblock %} + +{% block extracss %} + +{% endblock %} diff --git a/apps/member/urls.py b/apps/member/urls.py index 54b0f91d..a644c8dd 100644 --- a/apps/member/urls.py +++ b/apps/member/urls.py @@ -25,4 +25,5 @@ urlpatterns = [ path('user//aliases/', views.ProfileAliasView.as_view(), name="user_alias"), path('user//trust', views.ProfileTrustView.as_view(), name="user_trust"), path('manage-auth-token/', views.ManageAuthTokens.as_view(), name='auth_token'), + path('user//qr_code/', views.QRCodeView.as_view(), name='qr_code'), ] diff --git a/apps/member/views.py b/apps/member/views.py index 2f6348a6..90580d5e 100644 --- a/apps/member/views.py +++ b/apps/member/views.py @@ -365,6 +365,14 @@ class ManageAuthTokens(LoginRequiredMixin, TemplateView): context['token'] = Token.objects.get_or_create(user=self.request.user)[0] return context +class QRCodeView(LoginRequiredMixin, DetailView): + """ + Affiche le QR Code + """ + model = User + context_object_name = "user_object" + template_name = "member/qr_code.html" + extra_context = {"title": _("QR Code")} # ******************************* # # CLUB #