diff --git a/core/models/wallets.py b/core/models/wallets.py index 0d9f0d3..fa8f029 100644 --- a/core/models/wallets.py +++ b/core/models/wallets.py @@ -463,18 +463,17 @@ class Wallet(models.Model): # if electronic, don't require P or E if waldata["electronic survey"]: - # ticks["N"] = "green" ticks["P"] = "green" ticks["E"] = "green" # ticks["T"] = "green" # No, this does not mean it has been 'tunneled' properly # Tunnel / Therion # complete change in logic 2025 - ticks["T"] = "fuchsia" - # if elev_drawing_required or plan_drawing_required: - # ticks["T"] = "red" - # else: - # ticks["T"] = "green" + ticks["T"] = "fuchsia" # default + + if "tunnelled" in waldata: + if waldata["tunnelled"]: + ticks["T"] = "green" # Website if waldata["website updated"]: diff --git a/core/views/wallets_edit.py b/core/views/wallets_edit.py index 113c914..8513812 100644 --- a/core/views/wallets_edit.py +++ b/core/views/wallets_edit.py @@ -57,6 +57,7 @@ WALLET_BLANK_JSON = { "free text": "", # "description url": "1623/NNN", "description written": False, + "tunnelled": False, "electronic survey": False, "elev drawn": 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) plannr = 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) pland = forms.CharField(strip=True, required=False) elevd = forms.CharField(strip=True, required=False) @@ -112,6 +114,7 @@ xlate = { "qmsw": "qms written", "elevnr": "elev not required", "websiteupt": "website updated", + "tunnelled": "tunnelled", "electronic": "electronic survey", "pland": "plan drawn", "elevd": "elev drawn", @@ -207,6 +210,7 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl): if survex_complaint: complaints.append(survex_complaint) + ticks = w.get_ticks() # 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." ) - # Therion + # Therion/Tunnel if ticks["T"] != "green": 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 @@ -476,6 +480,7 @@ def walletedit(request, path=None): else: # no JSON file exists print("--- No JSON exists, so using default copy") waldata = WALLET_BLANK_JSON.copy() + if not waldata["survex file"]: try: w = Wallet.objects.get(walletname=wallet) @@ -488,7 +493,7 @@ def walletedit(request, path=None): return waldata 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): print(f"--- No wallet directory in :drawings: repo, so creating it {contents_path.parent}") os.makedirs(contents_path.parent) @@ -668,6 +673,7 @@ def walletedit(request, path=None): "elev not required", "elev drawn", "notes not required", + "tunnelled", "electronic survey", ] @@ -710,9 +716,10 @@ def walletedit(request, path=None): # print(f'--- wd ${f}$ - {wd[f]}') for f in posted: wd[xlate[f]] = posted[f].replace("'", '"') - print(f"'{f}' -{xlate[f]}- {posted[f]}") + # print(f"'{f}' -{xlate[f]}- {posted[f]}") if posted[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"]) 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 = make_wallet(wallet) walletobject.walletdate = newdate # must be valid date - print(f"---Setting VALID new date to db {walletobject} {walletobject.walletdate}") 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) else: @@ -885,7 +891,10 @@ def walletedit(request, path=None): if 'notes not required' not in waldata: # cope with schema change 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 walletobject = make_wallet(wallet) if waldata["date"]: diff --git a/templates/walletform.html b/templates/walletform.html index 72f2e7a..2e2dda5 100644 --- a/templates/walletform.html +++ b/templates/walletform.html @@ -225,6 +225,9 @@ and also the exported files in standard formats: svx, svg etc. See why
+
+ +