summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@gmail.com>2023-10-15 01:11:21 +0300
committerPhilip Sargent <philip.sargent@gmail.com>2023-10-15 01:11:21 +0300
commitc51c2326feb2a05629ca720fed31740cf73a8aa3 (patch)
treecdc4e80d9a2c729e2a2f23ad7e2f19ef71adb03f
parent5d383e0445357740b02093957aa7149975b90669 (diff)
downloadtroggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.tar.gz
troggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.tar.bz2
troggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.zip
Better standard entrances report
-rw-r--r--core/models/caves.py14
-rw-r--r--templates/cave.html4
-rw-r--r--templates/entranceindex.html17
3 files changed, 28 insertions, 7 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 433ef87..a731dff 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -265,13 +265,16 @@ class Entrance(TroggleModel):
return str(self.slug)
def single(self, station):
+ if not station:
+ return None
try:
single = SurvexStation.objects.get(name = station)
return single
except:
stations = SurvexStation.objects.filter(name = station)
- print(f" # MULTIPLE stations found with same name '{station}' in Entrance {self}:")
+ print(f" # EXCEPTION looking for '{station}' in all stations. (Entrance {self})")
if len(stations) > 1:
+ print(f" # MULTIPLE stations found with same name '{station}' in Entrance {self}:")
for s in stations:
print(f" # {s.id=} - {s.name} {s.latlong()}") # .id is Django internal field, not one of ours
return stations[0]
@@ -357,6 +360,8 @@ class Entrance(TroggleModel):
def tag(self):
return self.single(self.tag_station)
+ def other(self):
+ return self.single(self.other_station)
def needs_surface_work(self):
return self.findability != "S" or not self.has_photo or self.marking != "T"
@@ -371,7 +376,12 @@ class Entrance(TroggleModel):
if e.cave:
rs.append(e.cave)
return rs
-
+
+ def firstcave(self):
+ for e in CaveAndEntrance.objects.filter(entrance=self):
+ if e.cave:
+ return(e.cave)
+
def get_file_path(self):
return Path(settings.ENTRANCEDESCRIPTIONS, self.filename)
diff --git a/templates/cave.html b/templates/cave.html
index 870df95..c7e7a16 100644
--- a/templates/cave.html
+++ b/templates/cave.html
@@ -174,9 +174,7 @@
{% if ent.entrance.explorers %}
<dt>Explorers</dt><dd>{{ ent.entrance.explorers|safe }}</dd>
{% endif %}
- {% if ent.entrance.northing %}
- <dt>Location</dt><dd> Easting: {{ ent.entrance.easting|safe }}, Northing: {{ ent.entrance.northing|safe }} (UTM or BMN, depending...), {{ ent.entrance.alt|safe }}m</dd>
- {% endif %}
+
{% if ent.entrance.lat_wgs84 %}
<dt>Location</dt><dd><a href="https://www.openstreetmap.org/?mlat={{ ent.entrance.lat_wgs84|floatformat:7}}&mlon={{ent.entrance.long_wgs84|floatformat:7}}">WGS84 Lat.: {{ ent.entrance.lat_wgs84|floatformat:7 }} N, Long.:{{ ent.entrance.long_wgs84|floatformat:7 }} E</a></dd>
{% endif %}
diff --git a/templates/entranceindex.html b/templates/entranceindex.html
index 520b090..115c33b 100644
--- a/templates/entranceindex.html
+++ b/templates/entranceindex.html
@@ -7,14 +7,27 @@
<h1>Entrance Index</h1>
+{% for entrance in entrances %}{% if entrance.lat_wgs84 %}<a href="{{ entrance.firstcave.url }}">{{ entrance }}</a> has "floating" lat/long <em>{{entrance.lat_wgs84}} N, {{entrance.long_wgs84}} E</em> instead of having a proper tag station or other station<br />{% endif %}{% endfor %}
+<p>
<table>
<theader>
-<tr><th>Name</th><th>Caves</th><th>Point</th><th>Position</th></tr>
+<tr><th>Entrance</th><th>Caves</th><th>Point</th><th>Tag Position</th><th>Other</th></tr>
</theader>
<tbody>
<ul>
{% for entrance in entrances %}
-<tr><td>{{ entrance }}</td><td>{% for cave in entrance.cavelist %}<a href="{{ cave.url }}">{{ cave }}</a>{% endfor %}</td><td>{{ entrance.best_station }}</td><td>{{ entrance.latlong }}</td></tr>
+<tr><td>{{ entrance }}</td><td>{% for cave in entrance.cavelist %}<a href="{{ cave.url }}">{{ cave }}</a>{% endfor %}</td><td>
+{% if entrance.best_station%}
+{{ entrance.best_station }}
+{% endif %}</td>
+<td>{% if entrance.tag %}
+<a href="https://www.openstreetmap.org/?mlat={{ entrance.tag.latlong.0|floatformat:7}}&mlon={{entrance.tag.latlong.1|floatformat:7}}">{{ entrance.tag.latlong.0|floatformat:5}} N, {{ entrance.tag.latlong.1|floatformat:5 }} E</a>
+{% endif %}</td>
+
+<td>{% if entrance.other %}
+<a href="https://www.openstreetmap.org/?mlat={{ entrance.other.latlong.0|floatformat:7}}&mlon={{entrance.other.latlong.1|floatformat:7}}">{{ entrance.other.latlong.0|floatformat:5}} N, {{ entrance.other.latlong.1|floatformat:5 }} E</a>
+{% endif %}</td>
+</tr>
{% endfor %}
</tbody>
</ul>