mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2026-03-31 16:16:03 +01:00
display drawings on wallet data
This commit is contained in:
@@ -434,15 +434,31 @@ class Wallet(models.Model):
|
|||||||
files_list = self.get_fnames()
|
files_list = self.get_fnames()
|
||||||
files = []
|
files = []
|
||||||
sexytopo = False
|
sexytopo = False
|
||||||
|
topodroid = False
|
||||||
|
zipfiles = False
|
||||||
for f in files_list:
|
for f in files_list:
|
||||||
if isinstance(f, Path): # ignore directories which have been turned into strings
|
if isinstance(f, Path): # ignore directories which have been turned into strings
|
||||||
files.append(f)
|
files.append(f)
|
||||||
if str(f).endswith(".data.json"): # we have sexytopo data
|
if str(f).endswith(".data.json"): # we have sexytopo data
|
||||||
sexytopo = True
|
sexytopo = True
|
||||||
|
if str(f)=="manifest" or str(f)=="survey.sql": # we probably have topodroid..
|
||||||
|
topodroid = True
|
||||||
|
if str(f).endswith(".zip") or str(f).endswith(".top"): # might be anything
|
||||||
|
zipfiles = True
|
||||||
|
|
||||||
|
if zipfiles:
|
||||||
|
print(f".zip file or .top file found at {self.walletname}")
|
||||||
|
waldata["electronic survey"] = True
|
||||||
|
|
||||||
|
if topodroid:
|
||||||
|
waldata["electronic survey"] = True
|
||||||
|
print(f"topodroid found at {self.walletname}")
|
||||||
|
|
||||||
if sexytopo:
|
if sexytopo:
|
||||||
waldata["electronic survey"] = True
|
waldata["electronic survey"] = True
|
||||||
|
print(f"sexytopo found at {self.walletname}")
|
||||||
for f in files:
|
for f in files:
|
||||||
|
# This list 'files' is only used to calculate tick lists and to colour the boxes
|
||||||
if str(f).endswith("ext-elevation.json"):
|
if str(f).endswith("ext-elevation.json"):
|
||||||
files.remove(f)
|
files.remove(f)
|
||||||
if str(f).endswith(".plan.json"):
|
if str(f).endswith(".plan.json"):
|
||||||
@@ -466,11 +482,14 @@ class Wallet(models.Model):
|
|||||||
plan_drawing_required = not (plan_scanned or waldata["plan drawn"] or waldata["plan not required"])
|
plan_drawing_required = not (plan_scanned or waldata["plan drawn"] or waldata["plan not required"])
|
||||||
if plan_drawing_required:
|
if plan_drawing_required:
|
||||||
if waldata["electronic survey"]:
|
if waldata["electronic survey"]:
|
||||||
ticks["P"] = "seagreen"
|
ticks["P"] = "maroon"
|
||||||
else:
|
else:
|
||||||
ticks["P"] = "red"
|
ticks["P"] = "red"
|
||||||
else:
|
else:
|
||||||
ticks["P"] = "green"
|
if waldata["electronic survey"]:
|
||||||
|
ticks["P"] = "limegreen"
|
||||||
|
else:
|
||||||
|
ticks["P"] = "green"
|
||||||
|
|
||||||
# Elev drawing required
|
# Elev drawing required
|
||||||
elev_scanned = reduce(operator.or_, [f.stem.startswith("elev") for f in files], False)
|
elev_scanned = reduce(operator.or_, [f.stem.startswith("elev") for f in files], False)
|
||||||
@@ -479,11 +498,14 @@ class Wallet(models.Model):
|
|||||||
elev_drawing_required = not (elev_scanned or waldata["elev drawn"] or waldata["elev not required"])
|
elev_drawing_required = not (elev_scanned or waldata["elev drawn"] or waldata["elev not required"])
|
||||||
if elev_drawing_required:
|
if elev_drawing_required:
|
||||||
if waldata["electronic survey"]:
|
if waldata["electronic survey"]:
|
||||||
ticks["E"] = "seagreen"
|
ticks["E"] = "maroon"
|
||||||
else:
|
else:
|
||||||
ticks["E"] = "red"
|
ticks["E"] = "red"
|
||||||
else:
|
else:
|
||||||
ticks["E"] = "green"
|
if waldata["electronic survey"]:
|
||||||
|
ticks["E"] = "limegreen"
|
||||||
|
else:
|
||||||
|
ticks["E"] = "green"
|
||||||
|
|
||||||
# Tunnel / Therion
|
# Tunnel / Therion
|
||||||
ticks["T"] = "red" # default is that it is not tunnelled
|
ticks["T"] = "red" # default is that it is not tunnelled
|
||||||
@@ -505,7 +527,6 @@ class Wallet(models.Model):
|
|||||||
else:
|
else:
|
||||||
ticks["W"] = "red"
|
ticks["W"] = "red"
|
||||||
|
|
||||||
|
|
||||||
return ticks
|
return ticks
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from django.shortcuts import render
|
|||||||
import settings
|
import settings
|
||||||
from troggle.core.models.caves import Cave
|
from troggle.core.models.caves import Cave
|
||||||
from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry
|
from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry
|
||||||
from troggle.core.models.survex import SurvexBlock, SurvexFile, SurvexPersonRole
|
from troggle.core.models.survex import SurvexBlock, SurvexFile, SurvexPersonRole, DrawingFile
|
||||||
from troggle.core.models.troggle import DataIssue, Expedition, Person
|
from troggle.core.models.troggle import DataIssue, Expedition, Person
|
||||||
from troggle.core.models.wallets import YEAR_RANGE, Wallet, make_valid_date
|
from troggle.core.models.wallets import YEAR_RANGE, Wallet, make_valid_date
|
||||||
from troggle.core.utils import (
|
from troggle.core.utils import (
|
||||||
@@ -951,6 +951,10 @@ def walletedit(request, path=None):
|
|||||||
# print(f"--- {wallet} {thiswallet} walletdate={thiswallet.walletdate} immediately before form render")
|
# print(f"--- {wallet} {thiswallet} walletdate={thiswallet.walletdate} immediately before form render")
|
||||||
except:
|
except:
|
||||||
thiswallet = None
|
thiswallet = None
|
||||||
|
drawings = []
|
||||||
|
drawingfiles = DrawingFile.objects.filter(dwgwallets=thiswallet)
|
||||||
|
for d in drawingfiles:
|
||||||
|
drawings.append(d.dwgpath)
|
||||||
context = {
|
context = {
|
||||||
"year": year,
|
"year": year,
|
||||||
"recent_year": recent_year,
|
"recent_year": recent_year,
|
||||||
@@ -963,6 +967,7 @@ def walletedit(request, path=None):
|
|||||||
"waldata": waldata,
|
"waldata": waldata,
|
||||||
"svxfiles": svxfiles,
|
"svxfiles": svxfiles,
|
||||||
"survex": waldata["survex file"],
|
"survex": waldata["survex file"],
|
||||||
|
"drawings": drawings,
|
||||||
"survexsize": survexsize,
|
"survexsize": survexsize,
|
||||||
"checked": checked,
|
"checked": checked,
|
||||||
"trips": trips,
|
"trips": trips,
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ necessarily what is currently in the wallet.
|
|||||||
|
|
||||||
{% for dwgfile in dwgfiles %}
|
{% for dwgfile in dwgfiles %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{% url "dwgfilesingle" dwgfile.dwgpath %}">{{dwgfile.dwgpath}}</a></td>
|
<td id="{{dwgfile.dwgpath}}"><a href="{% url "dwgfilesingle" dwgfile.dwgpath %}">{{dwgfile.dwgpath}}</a></td>
|
||||||
<td align="right" style="padding:2px">{{dwgfile.filesize}}</td>
|
<td align="right" style="padding:2px">{{dwgfile.filesize}}</td>
|
||||||
<td align="right" style="padding:2px">{{dwgfile.npaths}}</td>
|
<td align="right" style="padding:2px">{{dwgfile.npaths}}</td>
|
||||||
|
|
||||||
|
|||||||
@@ -164,6 +164,14 @@ and <em>also</em> the exported files in standard formats: svx, svg etc. See why
|
|||||||
<br>
|
<br>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if drawings %}<u>Drawings</u>: <br />
|
||||||
|
<span style="font-family: monospace; font-size: 80%; ">
|
||||||
|
{% for d in drawings %}
|
||||||
|
<a href="/dwgfiles#{{d|urlencode}}">{{d}}</a></br />
|
||||||
|
{% endfor %}
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
<span style="font-family: monospace; font-size: 130%; ">
|
<span style="font-family: monospace; font-size: 130%; ">
|
||||||
@@ -226,7 +234,7 @@ and <em>also</em> the exported files in standard formats: svx, svg etc. See why
|
|||||||
<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>
|
<br>
|
||||||
<label for="tunnelled">Drawn up (Tunnel or Therion) ?</label>
|
<label for="tunnelled">Drawn up (Tunnel or Therion) or not needed ?</label>
|
||||||
<input {% if not user.username %} disabled{% endif %} type="checkbox" name="tunnelled" id="tunnelled" value="True" {% if "tunnelled" in checked %}checked{% endif %}>
|
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user