diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2023-10-15 01:11:21 +0300 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2023-10-15 01:11:21 +0300 |
commit | c51c2326feb2a05629ca720fed31740cf73a8aa3 (patch) | |
tree | cdc4e80d9a2c729e2a2f23ad7e2f19ef71adb03f | |
parent | 5d383e0445357740b02093957aa7149975b90669 (diff) | |
download | troggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.tar.gz troggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.tar.bz2 troggle-c51c2326feb2a05629ca720fed31740cf73a8aa3.zip |
Better standard entrances report
-rw-r--r-- | core/models/caves.py | 14 | ||||
-rw-r--r-- | templates/cave.html | 4 | ||||
-rw-r--r-- | templates/entranceindex.html | 17 |
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> |