2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-15 10:37:07 +00:00

new report for Lost entrances

This commit is contained in:
2025-03-01 22:13:46 +00:00
parent 4e9c766493
commit 71c3fb12ab
4 changed files with 88 additions and 1 deletions

View File

@@ -266,6 +266,9 @@ class Entrance(TroggleModel):
def __str__(self):
return str(self.slug)
def name(self):
return str(self.slug)[5:]
def single(self, station):
if not station:

View File

@@ -167,7 +167,10 @@ def padnumber(x):
def numericalcmp(x, y):
return cmp(padnumber(x), padnumber(y))
def entKey(e):
k = caveKey(e.firstcave())
return k
def caveKey(c):
"""This function goes into a lexicographic sort function, and the values are strings,
but we want to sort numerically on kataster number before sorting on unofficial number.
@@ -239,6 +242,26 @@ def entranceindex(request):
{"entrances": ents},
)
def entrancetags(request):
ents = list(Entrance.objects.all())
ents1623 = []
for e in ents:
if e.slug[:4] == "1623":
if e.firstcave().kataster_number:
if int(e.firstcave().kataster_number) < 35:
continue
if e.best_station():
continue
if e.findability != "S": # it says we do not have coordinates
ents1623.append(e)
ents1623.sort(key=entKey)
return render(
request,
"entrancetags.html",
{"entrances": ents1623},
)
def cave3d(request, cave_id=""):
"""This is used to create a download url in templates/cave.html if anyone wants to download the .3d file

View File

@@ -0,0 +1,59 @@
{% extends "cavebase.html" %}
{% block title %}Entrance Tag Status{% endblock %}
{% block content %}
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
</style>
<h1>Entrance Tag Status</h1>
<p>
This list excludes those entrances with valid coordinates (which may or may not have tags), irrespective of the "findability" value. <br />
[Many entrances have out-dated settings for "findability".]
<h2>1623</h2>
<table>
<theader>
<tr><th width="16">Entrance</th><th width="16">Cave</th><th width="2">Find..</th><th width="2">Mark</th><th width="40%">Marking & <em>Location</em></th></tr>
</theader>
<tbody>
<ul>
{% for entrance in entrances %}
<tr><td>
{% if entrance.best_station %}
<a href="/stations#{{ entrance.best_station }}">{% endif %}
{{ entrance.name }}</a></td>
<td>{% for cave in entrance.cavelist %}<a href="{{ cave.url }}">{{ cave.number }}</a>{% endfor %}</td>
<td>{% if entrance.findability%}
{% if entrance.lat %}<a href="{{ entrance.firstcave.url }}">{% endif %}
{{ entrance.get_findability_display}}</a>
{% endif %}
</td>
<td id="{{ entrance.best_station }}">
{% if entrance.marking%}
<a href="https://www.openstreetmap.org/?mlat={{ entrance.lat|floatformat:7}}&mlon={{entrance.long|floatformat:7}}">
{{ entrance.get_marking_display }}</a>
{% endif %}
</td>
<td>
<font color="blue"> {{ entrance.firstcave.official_name|safe }}</font><br />
{% if entrance.marking_comment%}{{ entrance.marking_comment|safe }}<br />{% endif %}
<em>
{{ entrance.location_description|safe }}</em>
</td>
</tr>
{% endfor %}
</tbody>
</ul>
{% endblock %}

View File

@@ -18,6 +18,7 @@ from troggle.core.views.caves import (
edit_cave,
edit_entrance,
entranceindex,
entrancetags,
expo_kml,
expo_kmz,
get_entrances,
@@ -157,6 +158,7 @@ trogglepatterns = [
path('caveslist', caveslist, name="caveslist"),
path('entrances', entranceindex, name="entranceindex"),
path('enttags', entrancetags, name="entrancetags"),
re_path(r'^admin/doc/', include('django.contrib.admindocs.urls')), # needs docutils Python module (http://docutils.sf.net/).
path('admin/', admin.site.urls), # includes admin login & logout urls & /admin/jsi18n/ NOTE TERMINAL SLASH