2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-19 13:17:08 +00:00

add TUNNELLED as a field on wallets

This commit is contained in:
2025-07-25 18:24:38 +02:00
parent 5204e3cc68
commit 4fa767585c
3 changed files with 24 additions and 13 deletions

View File

@@ -463,18 +463,17 @@ class Wallet(models.Model):
# if electronic, don't require P or E # if electronic, don't require P or E
if waldata["electronic survey"]: if waldata["electronic survey"]:
# ticks["N"] = "green"
ticks["P"] = "green" ticks["P"] = "green"
ticks["E"] = "green" ticks["E"] = "green"
# ticks["T"] = "green" # No, this does not mean it has been 'tunneled' properly # ticks["T"] = "green" # No, this does not mean it has been 'tunneled' properly
# Tunnel / Therion # Tunnel / Therion
# complete change in logic 2025 # complete change in logic 2025
ticks["T"] = "fuchsia" ticks["T"] = "fuchsia" # default
# if elev_drawing_required or plan_drawing_required:
# ticks["T"] = "red" if "tunnelled" in waldata:
# else: if waldata["tunnelled"]:
# ticks["T"] = "green" ticks["T"] = "green"
# Website # Website
if waldata["website updated"]: if waldata["website updated"]:

View File

@@ -57,6 +57,7 @@ WALLET_BLANK_JSON = {
"free text": "", "free text": "",
# "description url": "1623/NNN", # "description url": "1623/NNN",
"description written": False, "description written": False,
"tunnelled": False,
"electronic survey": False, "electronic survey": False,
"elev drawn": False, "elev drawn": False,
"elev not required": False, "elev not required": False,
@@ -88,6 +89,7 @@ class WalletForm(forms.Form): # not a model-form, just a form-form
freetext = forms.CharField(strip=True, required=False) freetext = forms.CharField(strip=True, required=False)
plannr = forms.CharField(strip=True, required=False) plannr = forms.CharField(strip=True, required=False)
notesnr = forms.CharField(strip=True, required=False) notesnr = forms.CharField(strip=True, required=False)
tunnelled = forms.CharField(strip=True, required=False)
electronic = forms.CharField(strip=True, required=False) electronic = forms.CharField(strip=True, required=False)
pland = forms.CharField(strip=True, required=False) pland = forms.CharField(strip=True, required=False)
elevd = forms.CharField(strip=True, required=False) elevd = forms.CharField(strip=True, required=False)
@@ -112,6 +114,7 @@ xlate = {
"qmsw": "qms written", "qmsw": "qms written",
"elevnr": "elev not required", "elevnr": "elev not required",
"websiteupt": "website updated", "websiteupt": "website updated",
"tunnelled": "tunnelled",
"electronic": "electronic survey", "electronic": "electronic survey",
"pland": "plan drawn", "pland": "plan drawn",
"elevd": "elev drawn", "elevd": "elev drawn",
@@ -207,6 +210,7 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl):
if survex_complaint: if survex_complaint:
complaints.append(survex_complaint) complaints.append(survex_complaint)
ticks = w.get_ticks() ticks = w.get_ticks()
# Notes required # Notes required
@@ -227,10 +231,10 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl):
"The elevation needs drawing (or renaming, or tick 'Elev drawn' checkbox or 'Elev not required' checkbox): no elevNN.jpg or XXelev.jpg file found." "The elevation needs drawing (or renaming, or tick 'Elev drawn' checkbox or 'Elev not required' checkbox): no elevNN.jpg or XXelev.jpg file found."
) )
# Therion # Therion/Tunnel
if ticks["T"] != "green": if ticks["T"] != "green":
complaints.append( complaints.append(
"Tunnel or Therion drawing files need drawing, or tick 'Plan/Elev drawn' checkbox or 'Plan/Elev not required' checkboxes" "Tunnel or Therion drawing files need drawing, tick 'Drawn up' checkbox when done"
) )
# Description # Description
@@ -476,6 +480,7 @@ def walletedit(request, path=None):
else: # no JSON file exists else: # no JSON file exists
print("--- No JSON exists, so using default copy") print("--- No JSON exists, so using default copy")
waldata = WALLET_BLANK_JSON.copy() waldata = WALLET_BLANK_JSON.copy()
if not waldata["survex file"]: if not waldata["survex file"]:
try: try:
w = Wallet.objects.get(walletname=wallet) w = Wallet.objects.get(walletname=wallet)
@@ -488,7 +493,7 @@ def walletedit(request, path=None):
return waldata return waldata
def save_json(jsondict): def save_json(jsondict):
# print(f'--- Wallet directory in :drawings: repo {newfolder=} {jsondict}') # print(f'--- Wallet directory in :drawings: repo \n {jsondict}')
if not os.path.exists(contents_path.parent): if not os.path.exists(contents_path.parent):
print(f"--- No wallet directory in :drawings: repo, so creating it {contents_path.parent}") print(f"--- No wallet directory in :drawings: repo, so creating it {contents_path.parent}")
os.makedirs(contents_path.parent) os.makedirs(contents_path.parent)
@@ -668,6 +673,7 @@ def walletedit(request, path=None):
"elev not required", "elev not required",
"elev drawn", "elev drawn",
"notes not required", "notes not required",
"tunnelled",
"electronic survey", "electronic survey",
] ]
@@ -710,9 +716,10 @@ def walletedit(request, path=None):
# print(f'--- wd ${f}$ - {wd[f]}') # print(f'--- wd ${f}$ - {wd[f]}')
for f in posted: for f in posted:
wd[xlate[f]] = posted[f].replace("'", '"') wd[xlate[f]] = posted[f].replace("'", '"')
print(f"'{f}' -{xlate[f]}- {posted[f]}") # print(f"'{f}' -{xlate[f]}- {posted[f]}")
if posted[f] == "True": if posted[f] == "True":
wd[xlate[f]] = True wd[xlate[f]] = True
#print(f" Ticked checkboxes: {f=} - {xlate[f]=} {wd[xlate[f]]=}")
newdate = make_valid_date("no id yet in form", posted["date"]) newdate = make_valid_date("no id yet in form", posted["date"])
wd["people"] = wd["people"][1:-1].replace('"', "").split(",") wd["people"] = wd["people"][1:-1].replace('"', "").split(",")
@@ -736,9 +743,8 @@ def walletedit(request, path=None):
# walletobject will already exist as creation does not happen here anymore # walletobject will already exist as creation does not happen here anymore
walletobject = make_wallet(wallet) walletobject = make_wallet(wallet)
walletobject.walletdate = newdate # must be valid date walletobject.walletdate = newdate # must be valid date
print(f"---Setting VALID new date to db {walletobject} {walletobject.walletdate}")
walletobject.save() walletobject.save()
print(f"---Setting VALID new date to db {walletobject} {walletobject.walletdate}") # print(f"---Setting VALID new date to db {walletobject} {walletobject.walletdate}")
commit_json(wd) commit_json(wd)
else: else:
@@ -886,6 +892,9 @@ def walletedit(request, path=None):
if 'notes not required' not in waldata: # cope with schema change if 'notes not required' not in waldata: # cope with schema change
waldata['notes not required'] = False waldata['notes not required'] = False
if "tunnelled" not in waldata:# cope with schema change
waldata["tunnelled"] = False
# find trips and survex files of the same date # find trips and survex files of the same date
walletobject = make_wallet(wallet) walletobject = make_wallet(wallet)
if waldata["date"]: if waldata["date"]:

View File

@@ -225,6 +225,9 @@ and <em>also</em> the exported files in standard formats: svx, svg etc. See why
<br> <br>
<label for="websiteupt">Cave Description wepage updated ?</label> <label for="websiteupt">Cave Description wepage updated ?</label>
<input {% if not user.username %} disabled{% endif %} type="checkbox" name="websiteupt" id="websiteupt" value="True" {% if "website updated" in checked %}checked{% endif %}> <input {% if not user.username %} disabled{% endif %} type="checkbox" name="websiteupt" id="websiteupt" value="True" {% if "website updated" in checked %}checked{% endif %}>
<br>
<label for="tunnelled">Drawn up (Tunnel or Therion) ?</label>
<input {% if not user.username %} disabled{% endif %} type="checkbox" name="tunnelled" id="tunnelled" value="True" {% if "tunnelled" in checked %}checked{% endif %}>
<br> <br>
<label for="electronic">Electronic survey (upload digital data files) ?</label> <label for="electronic">Electronic survey (upload digital data files) ?</label>
<input {% if not user.username %} disabled{% endif %} type="checkbox" name="electronic" id="electronic" value="True" {% if "electronic survey" in checked %}checked{% endif %}> <input {% if not user.username %} disabled{% endif %} type="checkbox" name="electronic" id="electronic" value="True" {% if "electronic survey" in checked %}checked{% endif %}>