2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2026-02-08 13:18:15 +00:00

Signup adds person to current expedition

This commit is contained in:
2025-02-09 22:06:19 +00:00
parent 0e2ccee678
commit 10352f2ccb
3 changed files with 38 additions and 13 deletions

View File

@@ -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")