diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2025-02-09 22:06:19 +0000 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2025-02-09 22:06:19 +0000 |
commit | 10352f2ccb194e9fca562b19cecbe294e93d2d8c (patch) | |
tree | f6c639098a7e5259cbcb65e782b414896c3b5c45 /core/views/signup.py | |
parent | 0e2ccee6788f41cc9113925575502a4a44182978 (diff) | |
download | troggle-10352f2ccb194e9fca562b19cecbe294e93d2d8c.tar.gz troggle-10352f2ccb194e9fca562b19cecbe294e93d2d8c.tar.bz2 troggle-10352f2ccb194e9fca562b19cecbe294e93d2d8c.zip |
Signup adds person to current expedition
Diffstat (limited to 'core/views/signup.py')
-rw-r--r-- | core/views/signup.py | 23 |
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") |