summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/admin.py3
-rw-r--r--core/models/logbooks.py14
-rw-r--r--core/views/editor_helpers.py2
3 files changed, 15 insertions, 4 deletions
diff --git a/core/admin.py b/core/admin.py
index b7c0d2b..1d8201f 100644
--- a/core/admin.py
+++ b/core/admin.py
@@ -3,7 +3,7 @@ from django.core import serializers
from django.http import HttpResponse
from troggle.core.models.caves import Area, Cave, CaveAndEntrance, Entrance
-from troggle.core.models.logbooks import QM, LogbookEntry, PersonLogEntry
+from troggle.core.models.logbooks import QM, LogbookEntry, PersonLogEntry, CaveSlug
from troggle.core.models.survex import (
DrawingFile,
SingleScan,
@@ -139,6 +139,7 @@ admin.site.register(Cave, CaveAdmin)
admin.site.register(Area)
admin.site.register(CaveAndEntrance)
admin.site.register(Entrance, EntranceAdmin)
+admin.site.register(CaveSlug)
admin.site.register(SurvexBlock, SurvexBlockAdmin)
admin.site.register(DrawingFile, DrawingFileAdmin)
admin.site.register(Expedition)
diff --git a/core/models/logbooks.py b/core/models/logbooks.py
index 9a13b59..b0bde61 100644
--- a/core/models/logbooks.py
+++ b/core/models/logbooks.py
@@ -11,8 +11,15 @@ from troggle.core.models.troggle import Expedition, TroggleModel
"""
todo = """
-- Can we rewrite things to eliminate the CaveSlug and objects? Surely
- foreign keys work fine ?!
+- Can we rewrite things to eliminate the CaveSlug and objects? No
+ Surely foreign keys work fine ?! No
+
+ Foreign keys do not allow for there being multiple ways to refer to a cave, eg 1623-1999-03 aka 1623-204
+ Having slugs allows for much more loose coupling to caves, which removes alot of the need to reset the database, which interupts work flow.
+ It also means we do not have to be creating temporary cave objects in the database, where we do not have the underlying file in cave_data.
+
+ To Do move Cave Slug back to troggle.core.models
+
"""
@@ -25,6 +32,9 @@ class CaveSlug(models.Model):
slug = models.SlugField(max_length=50, unique=True)
primary = models.BooleanField(default=False)
+ def __str__(self):
+ return f"{self.slug}: {self.cave}"
+
class LogbookEntry(TroggleModel):
"""Single parsed entry from Logbook
diff --git a/core/views/editor_helpers.py b/core/views/editor_helpers.py
index 17ae04b..7aa9c75 100644
--- a/core/views/editor_helpers.py
+++ b/core/views/editor_helpers.py
@@ -95,7 +95,7 @@ def new_image_form(request, path):
# Create directories if required
for full_path in image_path, thumb_path, desc_path:
print(full_path, full_path.parent)
- full_path.parent.mkdir(parents=False, exist_ok=True)
+ full_path.parent.mkdir(parents=True, exist_ok=True)
try:
change_message = form.cleaned_data["change_message"]
write_and_commit(