mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-21 23:01:52 +00:00
EntranceSlug removed from data model.
This commit is contained in:
parent
5738da8566
commit
9a28e93ac6
@ -60,7 +60,9 @@ class Area(TroggleModel):
|
||||
|
||||
|
||||
class CaveAndEntrance(models.Model):
|
||||
"""CASCADE means that if the cave or the entrance is deleted, then this CaveAndEntrance
|
||||
"""This class is ONLY used to create a FormSet for editing the cave and all its
|
||||
entrances in one form.
|
||||
CASCADE means that if the cave or the entrance is deleted, then this CaveAndEntrance
|
||||
is deleted too
|
||||
"""
|
||||
cave = models.ForeignKey("Cave", on_delete=models.CASCADE)
|
||||
@ -156,8 +158,6 @@ class Cave(TroggleModel):
|
||||
pass
|
||||
else:
|
||||
self.official_name.lower()
|
||||
# return settings.URL_ROOT + '/cave/' + href + '/'
|
||||
# return urljoin(settings.URL_ROOT, reverse('cave',kwargs={'cave_id':href,})) # WRONG. This produces /cave/161 and should be /1623/161
|
||||
return Path(settings.URL_ROOT) / self.url # not good Django style.. NEEDS actual URL
|
||||
|
||||
def url_parent(self):
|
||||
@ -260,12 +260,12 @@ class Cave(TroggleModel):
|
||||
return lowestareas[0]
|
||||
|
||||
|
||||
class EntranceSlug(models.Model):
|
||||
"""If the Entrance is deleted, then this EntranceSlug is deleted too
|
||||
"""
|
||||
entrance = models.ForeignKey("Entrance", on_delete=models.CASCADE)
|
||||
slug = models.SlugField(max_length=50, unique=True)
|
||||
# primary = models.BooleanField(default=False)
|
||||
# class EntranceSlug(models.Model):
|
||||
# """If the Entrance is deleted, then this EntranceSlug is deleted too
|
||||
# """
|
||||
# entrance = models.ForeignKey("Entrance", on_delete=models.CASCADE)
|
||||
# slug = models.SlugField(max_length=50, unique=True)
|
||||
# # primary = models.BooleanField(default=False)
|
||||
|
||||
|
||||
class Entrance(TroggleModel):
|
||||
@ -385,27 +385,9 @@ class Entrance(TroggleModel):
|
||||
return self.findability != "S" or not self.has_photo or self.marking != "T"
|
||||
|
||||
def get_absolute_url(self):
|
||||
# ancestor_titles='/'.join([subcave.title for subcave in self.get_ancestors()])
|
||||
# if ancestor_titles:
|
||||
# res = '/'.join((self.get_root().cave.get_absolute_url(), ancestor_titles, self.title))
|
||||
# else:
|
||||
# res = '/'.jocavein((self.get_root().cave.get_absolute_url(), self.title))
|
||||
# return res
|
||||
res = "/".join((self.get_root().cave.get_absolute_url(), self.title))
|
||||
return res
|
||||
|
||||
#REPLACE this with a slug filed on the Entrance itself
|
||||
# def slug(self):
|
||||
# """Returns the first slug with primary=True that it can find,
|
||||
# if there are none with primary=True, then it returns the first slug it finds
|
||||
# """
|
||||
# if not self.cached_slug:
|
||||
# slugs = self.entranceslug_set.filter()
|
||||
# if slugs:
|
||||
# self.cached_slug = slugs[0].slug
|
||||
# self.save()
|
||||
# return self.cached_slug
|
||||
|
||||
def cavelist(self):
|
||||
rs = []
|
||||
for e in CaveAndEntrance.objects.filter(entrance=self):
|
||||
|
@ -10,7 +10,7 @@ from django.urls import NoReverseMatch
|
||||
|
||||
import troggle.settings as settings
|
||||
from troggle.core.forms import CaveAndEntranceFormSet, CaveForm, EntranceForm, EntranceLetterForm
|
||||
from troggle.core.models.caves import Cave, CaveAndEntrance, Entrance, EntranceSlug, GetCaveLookup
|
||||
from troggle.core.models.caves import Cave, CaveAndEntrance, Entrance, GetCaveLookup # EntranceSlug,
|
||||
from troggle.core.models.logbooks import CaveSlug, QM
|
||||
from troggle.core.utils import write_and_commit
|
||||
from troggle.core.views import expo
|
||||
|
@ -5,7 +5,7 @@ from pathlib import Path
|
||||
from django.conf import settings
|
||||
from django.db import transaction
|
||||
|
||||
from troggle.core.models.caves import Area, Cave, CaveAndEntrance, Entrance, EntranceSlug, GetCaveLookup
|
||||
from troggle.core.models.caves import Area, Cave, CaveAndEntrance, Entrance, GetCaveLookup #EntranceSlug,
|
||||
from troggle.core.models.logbooks import CaveSlug
|
||||
from troggle.core.models.troggle import DataIssue
|
||||
from troggle.settings import CAVEDESCRIPTIONS, ENTRANCEDESCRIPTIONS, EXPOWEB, SURVEX_DATA
|
||||
@ -46,19 +46,19 @@ def dummy_entrance(k, slug, msg="DUMMY"):
|
||||
marking="?",
|
||||
)
|
||||
if ent:
|
||||
try: # Now create a entranceslug object
|
||||
EntranceSlug(entrance=ent, slug=slug)
|
||||
except:
|
||||
message = f" ! {k:11s} {msg}-{slug} entrance create failure"
|
||||
DataIssue.objects.create(parser="entrances", message=message, url=f"{slug}")
|
||||
print(message)
|
||||
# try: # Now create a entranceslug object
|
||||
# EntranceSlug(entrance=ent, slug=slug)
|
||||
# except:
|
||||
# message = f" ! {k:11s} {msg} cave SLUG '{slug}' create failure"
|
||||
# DataIssue.objects.create(parser="entrances", message=message, url=f"{slug}")
|
||||
# print(message)
|
||||
|
||||
# ent.cached_slug = slug
|
||||
# ent.filename = slug + ".html"
|
||||
# ent.save()
|
||||
# # ent.cached_slug = slug
|
||||
# # ent.filename = slug + ".html"
|
||||
# # ent.save()
|
||||
return ent
|
||||
else:
|
||||
message = f" ! {k:11s} {msg} cave SLUG '{slug}' create failure"
|
||||
message = f" ! {k:11s} {msg}-{slug} {k} entrance create failure"
|
||||
DataIssue.objects.create(parser="entrances", message=message, url=f"{slug}")
|
||||
print(message)
|
||||
raise
|
||||
@ -82,13 +82,13 @@ def set_dummy_entrance(id, slug, cave, msg="DUMMY"):
|
||||
DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}")
|
||||
print(message)
|
||||
|
||||
try:
|
||||
EntranceSlug.objects.update_or_create(entrance=entrance, slug=slug)
|
||||
except:
|
||||
# raise
|
||||
message = f' ! EntranceSlug setting failure for Dummy cave, slug:"{slug}" cave id :"{id}" '
|
||||
DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}")
|
||||
print(message)
|
||||
# try:
|
||||
# EntranceSlug.objects.update_or_create(entrance=entrance, slug=slug)
|
||||
# except:
|
||||
# # raise
|
||||
# message = f' ! EntranceSlug setting failure for Dummy cave, slug:"{slug}" cave id :"{id}" '
|
||||
# DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}")
|
||||
# print(message)
|
||||
|
||||
def make_areas():
|
||||
print(" - Creating Areas 1623, 1624, 1627 and 1626")
|
||||
@ -283,13 +283,6 @@ def do_pending_cave(k, url, area):
|
||||
|
||||
try:
|
||||
set_dummy_entrance(k, slug, cave, msg="PENDING")
|
||||
# ent = dummy_entrance(k, slug, msg="PENDING")
|
||||
# ceinsts = CaveAndEntrance.objects.update_or_create(cave=cave, entrance_letter="", entrance=ent)
|
||||
# for ceinst in ceinsts:
|
||||
# if str(ceinst) == str(cave): # magic runes... why is the next value a Bool?
|
||||
# ceinst.cave = cave
|
||||
# ceinst.save()
|
||||
# break
|
||||
except:
|
||||
message = f" ! {k:11s} PENDING entrance + cave UNION create failure '{cave}' [{slug}] {k}"
|
||||
# message = f" ! {k:11s} PENDING entrance + cave UNION create failure '{cave}' [{ent}]"
|
||||
@ -341,7 +334,7 @@ def readentrance(filename):
|
||||
other_description = getXML(entrancecontents, "other_description", maxItems=1, context=context)
|
||||
bearings = getXML(entrancecontents, "bearings", maxItems=1, context=context)
|
||||
url = getXML(entrancecontents, "url", maxItems=1, context=context)
|
||||
# if len(non_public) == 1 and len(slugs) >= 1 and len(name) >= 1 and len(entrance_description) == 1 and len(explorers) == 1 and len(map_description) == 1 and len(location_description) == 1 and len(lastvisit) == 1 and len(approach) == 1 and len(underground_description) == 1 and len(marking) == 1 and len(marking_comment) == 1 and len(findability) == 1 and len(findability_description) == 1 and len(alt) == 1 and len(northing) == 1 and len(easting) == 1 and len(tag_station) == 1 and len(exact_station) == 1 and len(other_station) == 1 and len(other_description) == 1 and len(bearings) == 1 and len(url) == 1:
|
||||
|
||||
e, state = Entrance.objects.update_or_create(
|
||||
name=name[0],
|
||||
non_public={
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
<h2 id="cmult">Entrances</h2>
|
||||
<table>
|
||||
<tr><th>ent</th>
|
||||
<th>cached_slug</th>
|
||||
<tr><th>entrance</th>
|
||||
<th>ent slug</th>
|
||||
<th>N slugs</th>
|
||||
<th>slugs</th>
|
||||
</tr>
|
||||
@ -21,12 +21,10 @@
|
||||
{{ent.slug}}
|
||||
</td>
|
||||
<td>
|
||||
{{ent.entranceslug_set.all|length }}
|
||||
-
|
||||
</td>
|
||||
<td>
|
||||
{% for s in ent.entranceslug_set.all %}
|
||||
{{s.slug}},
|
||||
{% endfor %}
|
||||
-
|
||||
</td>
|
||||
|
||||
{% endfor %}
|
||||
|
Loading…
Reference in New Issue
Block a user