diff --git a/core/views/cave_kataster.py b/core/views/cave_kataster.py index b87ac66..dc06ea6 100644 --- a/core/views/cave_kataster.py +++ b/core/views/cave_kataster.py @@ -1,8 +1,12 @@ from pathlib import Path import django.forms as forms +from django.http import HttpResponseRedirect from django.shortcuts import redirect, render + +import troggle.settings as settings + from troggle.core.utils import ( COOKIE_MAX_AGE, WriteAndCommitError, @@ -19,19 +23,55 @@ is 'katastered', ie.e moves from an informal number, such as """ def kataster(request, slug): - cave = get_cave_from_slug(slug) - form = KatasterForm() - return render( + if cave := get_cave_from_slug(slug.lower()): + pass + elif cave := get_cave_from_slug(slug.upper()): + pass + else: + return HttpResponseRedirect("/caves") + + + cavename = str(cave) + ".html" + + cave_data = Path( "cave_data", cavename ) + if not (settings.EXPOWEB / cave_data).is_file: + cave_data = "does not exist" + + ent_dir = settings.EXPOWEB / "entrance_data" + + entrance_data = [] + for ent in ent_dir.iterdir(): + if str(ent.name).startswith(str(cave)): + print(ent.name) + entrance_data.append("entrance_data/"+ent.name) + form = KatasterForm() + return render( request, "cave_kataster.html", { "form": form, "cave": cave, + "cave_data": cave_data, "entrance_data": entrance_data, }, ) class KatasterForm(forms.Form): - area = forms.CharField(label='Full name', max_length=100, widget=forms.TextInput(attrs={'tabindex': 1, 'placeholder': 'Anathema Device'})) - officialname = forms.CharField(widget=forms.Textarea(attrs={'rows': 7, 'cols': 20, 'tabindex': 2, 'placeholder': 'The Airfield,\nTadfield'})) - katasternum= forms.CharField(max_length=15, widget=forms.TextInput(attrs={'tabindex': 3, 'placeholder': '+44.1234567890'})) - \ No newline at end of file + areacode = forms.CharField(label='Full name', max_length=4, widget=forms.TextInput(attrs={'tabindex': 1, 'placeholder': '1623'})) + official_name = forms.CharField(label='CUCC name', max_length=160,widget=forms.TextInput(attrs={'tabindex': 2, 'placeholder': '2012-ns-07'})) + kataster_number= forms.CharField(max_length=10, widget=forms.TextInput(attrs={'tabindex': 3, 'placeholder': '999'})) + +""" + areacode = models.CharField(max_length=4, blank=True, null=True) # could use models.IntegerChoices + entrances = models.ManyToManyField("Entrance", through="CaveAndEntrance") + filename = models.CharField(max_length=200) # if a cave is 'pending' this is not set. Otherwise it is. + kataster_code = models.CharField(max_length=20, blank=True, null=True) + kataster_number = models.CharField(max_length=10, blank=True, null=True) + kataster_status = models.TextField(blank=True, null=True) + official_name = models.CharField(max_length=160) + survex_file = models.CharField(max_length=100, blank=True, null=True) # should be a foreign key? +SURVEX_DATA = REPOS_ROOT_PATH / "loser" +EXPOWEB = REPOS_ROOT_PATH / "expoweb" +CAVEDESCRIPTIONS = EXPOWEB / "cave_data" +ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data" + +""" \ No newline at end of file diff --git a/templates/cave_kataster.html b/templates/cave_kataster.html index fc24246..38c8c81 100644 --- a/templates/cave_kataster.html +++ b/templates/cave_kataster.html @@ -1,18 +1,40 @@ {% extends "base.html" %} {% block title %}Cave Kataster status report - + {% endblock %} {% block content %} -
+{% if cave.kataster_number %} +This cave has already been "katastered". area:{{cave.areacode |safe}} number:{{cave.kataster_number |safe}} +{% else %} +This cave needs to be "katastered". If you have the new number issued by the Austrians, we can do it now. {% endif %} -{{cave.slug}} +
+{% for e in entrance_data %} +{{e}} +{% endfor %} +