diff --git a/apps/activity/templates/activity/activity_entry.html b/apps/activity/templates/activity/activity_entry.html
index 0286bdb7..c5368c2d 100644
--- a/apps/activity/templates/activity/activity_entry.html
+++ b/apps/activity/templates/activity/activity_entry.html
@@ -38,6 +38,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
+
@@ -63,15 +64,46 @@ SPDX-License-Identifier: GPL-3.0-or-later
refreshBalance();
}
+ function process_qrcode() {
+ let name = alias_obj.val();
+ $.get("/api/note/note?search=" + name + "&format=json").done(
+ function (res) {
+ let note = res.results[0];
+ $.post("/api/activity/entry/?format=json", {
+ csrfmiddlewaretoken: CSRF_TOKEN,
+ activity: {{ activity.id }},
+ note: note.id,
+ guest: null
+ }).done(function () {
+ addMsg(interpolate(gettext(
+ "Entry made for %s whose balance is %s €"),
+ [note.name, note.balance / 100]), "success", 4000);
+ reloadTable(true);
+ }).fail(function (xhr) {
+ errMsg(xhr.responseJSON, 4000);
+ });
+ }).fail(function (xhr) {
+ errMsg(xhr.responseJSON, 4000);
+ });
+ }
+
alias_obj.keyup(function(event) {
let code = event.originalEvent.keyCode
if (65 <= code <= 122 || code === 13) {
debounce(reloadTable)()
}
+ if (code === 0)
+ process_qrcode();
});
$(document).ready(init);
+ alias_obj2 = document.getElementById("alias");
+ $("#trigger").click(function (e) {
+ addMsg("Clicked", "success", 1000);
+ alias_obj.val(alias_obj.val() + "\0");
+ alias_obj2.dispatchEvent(new KeyboardEvent('keyup'));
+ })
function init() {
$(".table-row").click(function (e) {
let target = e.target.parentElement;
@@ -168,4 +200,4 @@ SPDX-License-Identifier: GPL-3.0-or-later
});
}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
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 %}
{% 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..00e1256c
--- /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 %}
+
+
+
+{% endblock %}
+
+{% block extrajavascript %}
+
+
+{% endblock %}
+
+{% block extracss %}
+
+{% endblock %}
diff --git a/apps/member/urls.py b/apps/member/urls.py
index 51d506ab..a052d03d 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 7c72d3d4..21611ab2 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 #