summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/views/signup.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/core/views/signup.py b/core/views/signup.py
index 04e7539..7536556 100644
--- a/core/views/signup.py
+++ b/core/views/signup.py
@@ -8,7 +8,8 @@ from django.shortcuts import redirect, render
from django.urls import reverse
import troggle.settings as settings
-from troggle.core.models.troggle import DataIssue, Person
+from troggle.core.models.troggle import DataIssue, Person, PersonExpedition
+from troggle.core.models.logbooks import Expedition
from troggle.core.views.editor_helpers import HTMLarea
from troggle.core.utils import (
COOKIE_MAX_AGE,
@@ -51,7 +52,7 @@ def signupok(request):
def signup(request):
- """Display and processes the applicant signup form for the forthcoming expo
+ """Displays and processes the applicant signup form for the forthcoming expo
The user must be logged-on as a personal login and that is
who is being signed up. You can't signup someone else.
"""
@@ -85,6 +86,7 @@ def signup(request):
if pageform.is_valid():
clean = pageform.cleaned_data
print(f" # Signup form OK {clean['name']}")
+ register_on_expo(signup_person)
save_signups(editor, signup_person.slug, clean)
return HttpResponseRedirect("/signupok")
@@ -123,8 +125,14 @@ def signup(request):
},
)
+def register_on_expo(signup_person):
+ signup = PersonExpedition(person=signup_person, expedition=Expedition.objects.get(year=SIGNUP_YEAR))
+ signup.save()
+
def read_signups():
# print(f" + READ signups")
+ # This has a big BUG. when it works, it returns a dict with keys such as "philip-sargent"
+ # but the error conditions are returning a dict of dicts
f = get_encryptor()
signups_dir = settings.EXPOWEB / ENCRYPTED_DIR / current_expo()
if not signups_dir.is_dir():
@@ -132,7 +140,7 @@ def read_signups():
signupsfile = signups_dir / SIGNUPS_FILE
if not signupsfile.is_file():
- return { SIGNEDUP: {} } # dict where e.g. {"philip-sargent": encrypted_form_data, more users etc.}
+ return { "SIGNEDUP": {} } # dict where e.g. {"philip-sargent": encrypted_form_data, more users etc.}
with open(signupsfile, 'r', encoding='utf-8') as json_f:
message = ""
@@ -147,7 +155,7 @@ def read_signups():
if message:
print(message)
DataIssue.objects.update_or_create(parser="_signups", message=message, url="") ###########################
- return { SIGNEDUP: {} }
+ return { "SIGNEDUP": {} }
signups_dict = signups_single_dict[SIGNEDUP]
# print("ALL:",signups_dict)
signups_clear ={}
@@ -158,6 +166,13 @@ def read_signups():
return signups_clear
+# def is_signedup(person):
+ # signups_clear = read_signups()
+ # print(signups_clear)
+ # if person.slug in signups_clear:
+ # return True
+ # return False
+
def save_signups(editor, person_slug, clean):
# print(f" + SAVE: Saving all signups")