summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
authorMartin Green <martin.speleo@gmail.com>2022-08-01 16:04:22 +0200
committerMartin Green <martin.speleo@gmail.com>2022-08-01 16:04:22 +0200
commitf491264b9ecb9724be99419bbc5331f9ca492bac (patch)
tree640ad435b60253fdaa144c24a70f72297850a333 /core/models/caves.py
parentfa6758b9a0d8229d919b917687b703980de0fb84 (diff)
downloadtroggle-f491264b9ecb9724be99419bbc5331f9ca492bac.tar.gz
troggle-f491264b9ecb9724be99419bbc5331f9ca492bac.tar.bz2
troggle-f491264b9ecb9724be99419bbc5331f9ca492bac.zip
Allow entrances to be edited with the correct parent url. Commit changes to caves when adding a new entrance. Order entrances alphabetically
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index d6650c0..e1783c6 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -62,6 +62,10 @@ class CaveAndEntrance(models.Model):
cave = models.ForeignKey('Cave',on_delete=models.CASCADE)
entrance = models.ForeignKey('Entrance',on_delete=models.CASCADE)
entrance_letter = models.CharField(max_length=20,blank=True, null=True)
+ class Meta:
+ unique_together = [['cave', 'entrance'], ['cave', 'entrance_letter']]
+ ordering = ['entrance_letter']
+
def __str__(self):
return str(self.cave) + str(self.entrance_letter)
@@ -176,7 +180,7 @@ class Cave(TroggleModel):
# res=QM.objects.filter(found_by__date__year=year, found_by__cave_slug=self.slug).order_by('-number')[0]
# except IndexError:
# return 1
- # return res.number+1
+ # return res.number+1CaveAndEntrance
def kat_area(self):
for a in self.area.all():
@@ -228,7 +232,15 @@ class Cave(TroggleModel):
u = t.render(c)
writetrogglefile(filepath, u)
return
+
+ def file_output(self):
+ filepath = Path(os.path.join(settings.CAVEDESCRIPTIONS, self.filename))
+ t = loader.get_template('dataformat/cave.xml')
+ #c = Context({'cave': self})
+ c = dict({'cave': self})
+ content = t.render(c)
+ return (filepath, content, "utf8")
def getArea(self):
areas = self.area.all()
@@ -287,6 +299,9 @@ class Entrance(TroggleModel):
url = models.CharField(max_length=200,blank=True, null=True)
filename = models.CharField(max_length=200)
cached_primary_slug = models.CharField(max_length=200,blank=True, null=True)
+
+ class Meta:
+ ordering = ['caveandentrance__entrance_letter']
def __str__(self):
return str(self.slug())
@@ -338,7 +353,7 @@ class Entrance(TroggleModel):
def has_photo(self):
if self.photo:
if (self.photo.find("<img") > -1 or self.photo.find("<a") > -1 or self.photo.find("<IMG") > -1 or self.photo.find("<A") > -1):
- return "Yecaves"
+ return "Yes"
else:
return "Missing"
else:
@@ -394,6 +409,14 @@ class Entrance(TroggleModel):
def get_file_path(self):
return Path(settings.ENTRANCEDESCRIPTIONS, self.filename)
+
+ def file_output(self):
+ filepath = Path(os.path.join(settings.ENTRANCEDESCRIPTIONS, self.filename))
+
+ t = loader.get_template('dataformat/entrance.xml')
+ c = dict({'entrance': self})
+ content = t.render(c)
+ return (filepath, content, "utf8")
def writeDataFile(self):
filepath = os.path.join(settings.ENTRANCEDESCRIPTIONS, self.filename)