summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/models/caves.py31
-rw-r--r--core/models/survex.py2
-rw-r--r--core/views/caves.py4
-rw-r--r--core/views/prospect.py2
-rw-r--r--core/views/statistics.py6
5 files changed, 23 insertions, 22 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 624239d..cac62a8 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -14,7 +14,7 @@ from troggle.core.models.survex import SurvexStation, utmToLatLng
from troggle.core.models.troggle import DataIssue, TroggleModel
from troggle.core.utils import TROG, writetrogglefile
-# Use the TROG global object to cache the cave lookup list. No good for multi-user..
+# Use the TROG global object to cache the cave lookup list. No good for multi-user.., or even multi-page. Pointless in fact.
Gcavelookup = TROG["caves"]["gcavelookup"]
Gcave_count = TROG["caves"]["gcavecount"]
@@ -63,7 +63,7 @@ class CaveAndEntrance(models.Model):
# moved to models/logbooks.py to avoid cyclic import problem. No I don't know why either.
class Cave(TroggleModel):
- # too much here perhaps,
+ # (far) too much here perhaps,
areacode = models.CharField(max_length=4, blank=True, null=True) # could use models.IntegerChoices
subarea = models.CharField(max_length=25, blank=True, null=True) # 9, 8c etc.
depth = models.CharField(max_length=100, blank=True, null=True)
@@ -72,7 +72,7 @@ class Cave(TroggleModel):
equipment = models.TextField(blank=True, null=True)
explorers = models.TextField(blank=True, null=True)
extent = models.CharField(max_length=100, blank=True, null=True)
- filename = models.CharField(max_length=200)
+ 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)
@@ -87,12 +87,9 @@ class Cave(TroggleModel):
unofficial_number = models.CharField(max_length=60, blank=True, null=True)
url = models.CharField(max_length=300, blank=True, null=True, unique = True)
- # class Meta:
- # unique_together = (("area", "kataster_number"), ("area", "unofficial_number"))
-
- # href = models.CharField(max_length=100)
-
class Meta:
+ # we do not enforce uniqueness at the db level as that causes confusing errors for users.
+ # unique_together = (("area", "kataster_number"), ("area", "unofficial_number"))
ordering = ("kataster_code", "unofficial_number")
def slug(self):
@@ -113,10 +110,6 @@ class Cave(TroggleModel):
else:
return self.unofficial_number
- # def reference(self): # tidy this up, no longer used?
- # REMOVE because of confusion with cave.references which is different
- # return f"{self.areacode}-{self.number()}"
-
def get_absolute_url(self):
# we do not use URL_ROOT any more.
if self.kataster_number:
@@ -159,6 +152,13 @@ class Cave(TroggleModel):
def entrances(self):
return CaveAndEntrance.objects.filter(cave=self)
+
+ def no_location(self):
+ no_data = True
+ for e in CaveAndEntrance.objects.filter(cave=self):
+ if e.entrance.best_station:
+ no_data = False
+ return no_data
def singleentrance(self):
return len(CaveAndEntrance.objects.filter(cave=self)) == 1
@@ -215,9 +215,6 @@ class Cave(TroggleModel):
content = t.render(c)
return (filepath, content, "utf8")
- def getArea(self):
- return self.areacode
-
class Entrance(TroggleModel):
MARKING_CHOICES = (
("P", "Paint"),
@@ -338,6 +335,10 @@ class Entrance(TroggleModel):
return self.exact_station
if self.other_station:
return self.other_station
+
+ def best_station_object(self):
+ bs = self.best_station()
+ return SurvexStation.objects.get(name=bs)
def has_photo(self):
if self.photo:
diff --git a/core/models/survex.py b/core/models/survex.py
index 542cfb8..68bae05 100644
--- a/core/models/survex.py
+++ b/core/models/survex.py
@@ -53,7 +53,7 @@ class SurvexStationLookUpManager(models.Manager):
class SurvexStation(models.Model):
name = models.CharField(max_length=100)
# block = models.ForeignKey("SurvexBlock", null=True, on_delete=models.SET_NULL)
- # block not used since 2020. survex stations objects are only used for entrnce locations and all taken from the .3d file
+ # block not used since 2020. survex stations objects are only used for entrance locations and all taken from the .3d file
objects = SurvexStationLookUpManager() # overwrites SurvexStation.objects and enables lookup()
x = models.FloatField(blank=True, null=True)
y = models.FloatField(blank=True, null=True)
diff --git a/core/views/caves.py b/core/views/caves.py
index cdac66d..5f939dc 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -432,7 +432,7 @@ def edit_cave(request, path="", slug=None):
"cave": cave,
"message": message,
#"caveAndEntranceFormSet": ceFormSet,
- "path": path + "/",
+ "path": path + "/", # used for saving images if attached
},
)
@@ -552,7 +552,7 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
"entletter": entletter,
"entletterform": entletterform, # is unset if not being used
"entlettereditable": entlettereditable,
- "path": path + "/",
+ "path": path + "/", # used for saving images if attached
},
)
diff --git a/core/views/prospect.py b/core/views/prospect.py
index 1eb82cd..e9d3fde 100644
--- a/core/views/prospect.py
+++ b/core/views/prospect.py
@@ -237,7 +237,7 @@ def prospecting_image(request, name):
(35323.60, 81357.83, 50, "74"), # From Auer map
]:
(N, E, D) = list(map(float, (N, E, D)))
- maparea = Cave.objects.get(kataster_number=num).getArea().short_name
+ maparea = Cave.objects.get(kataster_number=num).areacode
lo = mungecoord(N - D, E + D, name, img)
hi = mungecoord(N + D, E - D, name, img)
lpos = mungecoord(N - D, E, name, img)
diff --git a/core/views/statistics.py b/core/views/statistics.py
index d2544e0..2927bd3 100644
--- a/core/views/statistics.py
+++ b/core/views/statistics.py
@@ -289,17 +289,17 @@ def eastings(request):
ts = e.tag_station
if ts:
e.tag_ts = SurvexStation.objects.get(name=ts)
- print(f"{e} {e.tag_ts} {e.tag_ts.lat()} {e.tag_ts.long()}")
+ #print(f"{e} {e.tag_ts} {e.tag_ts.lat()} {e.tag_ts.long()}")
es = e.exact_station
if es:
e.tag_es = SurvexStation.objects.get(name=es)
- print(f"{e} {e.tag_es} {e.tag_es.lat()} {e.tag_es.long()}")
+ #print(f"{e} {e.tag_es} {e.tag_es.lat()} {e.tag_es.long()}")
os = e.other_station
if os:
e.tag_os = SurvexStation.objects.get(name=os)
- print(f"{e} {e.tag_os} {e.tag_os.lat()} {e.tag_os.long()}")
+ #print(f"{e} {e.tag_os} {e.tag_os.lat()} {e.tag_os.long()}")
except:
e.tag_ss = None