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 %}
Name | Caves | Point | Position | |
---|---|---|---|---|
Entrance | Caves | Point | Tag Position | Other |
{{ entrance }} | {% for cave in entrance.cavelist %}{{ cave }}{% endfor %} | {{ entrance.best_station }} | {{ entrance.latlong }} | |
{{ entrance }} | {% for cave in entrance.cavelist %}{{ cave }}{% endfor %} | +{% if entrance.best_station%} +{{ entrance.best_station }} +{% endif %} | +{% if entrance.tag %} +{{ entrance.tag.latlong.0|floatformat:5}} N, {{ entrance.tag.latlong.1|floatformat:5 }} E +{% endif %} | + +{% if entrance.other %} +{{ entrance.other.latlong.0|floatformat:5}} N, {{ entrance.other.latlong.1|floatformat:5 }} E +{% endif %} | +