summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2022-07-20 20:47:29 +0300
committerPhilip Sargent <philip.sargent@klebos.com>2022-07-20 20:47:29 +0300
commit0a158db97df05e787fb27501627effedf84308ff (patch)
tree2e7f76229f3c1207cf1e9b639c600afdad895449 /core/models/caves.py
parentde37eea16785e3e2976d0f0a1f29168da54e4783 (diff)
downloadtroggle-0a158db97df05e787fb27501627effedf84308ff.tar.gz
troggle-0a158db97df05e787fb27501627effedf84308ff.tar.bz2
troggle-0a158db97df05e787fb27501627effedf84308ff.zip
Trial QM tick mechanism in survex files
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 3067520..a71eadf 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -468,7 +468,7 @@ class QM(TroggleModel):
"""
cave = models.ForeignKey(Cave, related_name='QMs',blank=True, null=True,on_delete=models.SET_NULL )
block = models.ForeignKey('SurvexBlock', null=True,on_delete=models.SET_NULL) # only for QMs from survex files
- blockname=models.TextField(blank=True,null=True) # NB truncated copy of survexblock name
+ blockname=models.TextField(blank=True,null=True) # NB truncated copy of survexblock name with last char added
expoyear = models.CharField(max_length=4,blank=True, null=True) # could change to datetime if logbooks similarly chnaged
found_by = models.ForeignKey(LogbookEntry, related_name='QMs_found',blank=True, null=True,on_delete=models.SET_NULL )
ticked = models.BooleanField(default=False) # for ticked QMs not attached to a logbook entry, should imply completion_description has text
@@ -480,7 +480,7 @@ class QM(TroggleModel):
('C', 'C: Tight unpromising lead'),
('D', 'D: Dig'),
('X', 'X: Unclimbable aven')
- ) # also seen "?" in imported data - see urls.py
+ ) # also seen "?" and "V" in imported data - see urls.py
grade = models.CharField(max_length=1, choices=GRADE_CHOICES)
location_description = models.TextField(blank=True)
nearest_station_description = models.CharField(max_length=400,blank=True, null=True)
@@ -503,11 +503,10 @@ class QM(TroggleModel):
else:
expoyearstr = str(self.cave.slug())[5:9]
if self.blockname:
- blocknamestr = str(self.blockname)
+ blocknamestr = "-" + str(self.blockname)
else:
blocknamestr = ""
- #return f'{self.cave.slug()[5:]}-{self.expoyear}-{self.blockname}{self.number}{self.grade}'
- return f'{cavestr}-{expoyearstr}-{self.number}{self.grade}-{blocknamestr}'
+ return f'{cavestr}-{expoyearstr}-{self.number}{self.grade}{blocknamestr}'
def get_completion_url(self):
'''assumes html file named is in same folder as cave description file
@@ -526,7 +525,7 @@ class QM(TroggleModel):
return qmslug
def get_absolute_url(self):
- #return settings.URL_ROOT + '/cave/' + self.found_by.cave.kataster_number + '/' + str(self.found_by.date.year) + '-' + '%02d' %self.number
+ # This reverse resolution stuff is pure magic. Just change the regex in urls.py and everything changes to suit. Whacky.
return urljoin(settings.URL_ROOT, reverse('qm',kwargs={'cave_id':self.cave.slug(),'year':self.expoyear, 'blockname':self.blockname,'qm_id':self.number,'grade':self.grade}))
def get_next_by_id(self):
@@ -535,9 +534,6 @@ class QM(TroggleModel):
def get_previous_by_id(self):
return QM.objects.get(id=self.id-1)
- # def wiki_link(self):
- # return "%s%s%s" % ('[[QM:',self.code(),']]')
-
class PersonTrip(TroggleModel):
"""Single Person going on a trip, which may or may not be written up.
It accounts for different T/U for people in same logbook entry.