From 08e7a9ae054245bd7988444fffd1cfbb278257ac Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 24 Jun 2022 22:40:47 +0200
Subject: [PATCH] Remove coords from form; instead add a checkbox to
 enable/disable

---
 aleksis/apps/paweljong/forms.py | 14 ++++++++++----
 aleksis/apps/paweljong/views.py |  2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/aleksis/apps/paweljong/forms.py b/aleksis/apps/paweljong/forms.py
index bac09b2..697ff92 100644
--- a/aleksis/apps/paweljong/forms.py
+++ b/aleksis/apps/paweljong/forms.py
@@ -508,8 +508,7 @@ class EventCheckpointForm(forms.Form):
         js = ("https://unpkg.com/html5-qrcode", "js/paweljong/checkpoint.js")
 
     layout = Layout(
-        "username", "comment",
-        Row("lat", "lon"),
+        "comment", "use_latlon",
     )
 
     comment = forms.CharField(
@@ -523,6 +522,13 @@ class EventCheckpointForm(forms.Form):
         label=_("Person"),
         widget=forms.TextInput(attrs={"autofocus": "", "autocomplete": "off"}),
         help_text=_("Please enter a username."),
+        widget=forms.HiddenInput(),
+    )
+
+    use_latlon = forms.BooleanField(
+        required=False,
+        label=_("Submit geolocation"),
+        default=True,
     )
 
     lat = forms.DecimalField(
@@ -531,7 +537,7 @@ class EventCheckpointForm(forms.Form):
         max_value=90.0,
         max_digits=10,
         decimal_places=8,
-#        widget=forms.HiddenInput()
+        widget=forms.HiddenInput(),
     )
     lon = forms.DecimalField(
         required=False,
@@ -539,5 +545,5 @@ class EventCheckpointForm(forms.Form):
         max_value=180.0,
         max_digits=11,
         decimal_places=8,
-#        widget=forms.HiddenInput()
+        widget=forms.HiddenInput(),
     )
diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py
index dbb3e27..f9353e6 100644
--- a/aleksis/apps/paweljong/views.py
+++ b/aleksis/apps/paweljong/views.py
@@ -992,7 +992,7 @@ class EventCheckpointView(PermissionRequiredMixin, FormView):
 
         checkpoint.comment = form.cleaned_data["comment"]
         checkpoint.timestamp = timezone.now()
-        if "lat" in form.cleaned_data and "lon" in form.cleaned_data:
+        if form.cleaned_data["use_latlon"]:
             checkpoint.lat = form.cleaned_data["lat"]
             checkpoint.lon = form.cleaned_data["lon"]
 
-- 
GitLab