diff options
author | Martin Green <martin.speleo@gmail.com> | 2023-07-10 17:00:56 +0200 |
---|---|---|
committer | Martin Green <martin.speleo@gmail.com> | 2023-07-10 17:00:56 +0200 |
commit | 67361fa66c1aa2885ba90b68b9d9181f7a5b981b (patch) | |
tree | 256d4bcc22760cc396a09782df3760e345dc00da /core | |
parent | b27852c1f3fd3280e36ca0973b34a64c361b536a (diff) | |
parent | 8ff438942dd0981d2dd442dae3e61fbd5a84280e (diff) | |
download | troggle-67361fa66c1aa2885ba90b68b9d9181f7a5b981b.tar.gz troggle-67361fa66c1aa2885ba90b68b9d9181f7a5b981b.tar.bz2 troggle-67361fa66c1aa2885ba90b68b9d9181f7a5b981b.zip |
Merge branch 'master' of ssh://expo.survex.com/home/expo/troggle
Diffstat (limited to 'core')
-rw-r--r-- | core/admin.py | 3 | ||||
-rw-r--r-- | core/models/logbooks.py | 14 | ||||
-rw-r--r-- | core/views/editor_helpers.py | 2 |
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( |