diff options
Diffstat (limited to 'core/models/caves.py')
-rw-r--r-- | core/models/caves.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/core/models/caves.py b/core/models/caves.py index 5ba4804..d623963 100644 --- a/core/models/caves.py +++ b/core/models/caves.py @@ -178,12 +178,6 @@ class Cave(TroggleModel): return str(self.slug()) def get_QMs(self): - '''Does not work because found_by is a string == cave_slug not an object identifier - This chnage was made to remove tricky __get_attribute__ code whihc is hard for - most folks to maintain and is not really necessary. Need to do a proper search for the cave. - Seems pretty broken - all needs re-doing more cleanly. - ''' - #return QM.objects.filter(found_by__cave_slug=self.slug) return QM.objects.filter(cave=self) @@ -484,7 +478,6 @@ class LogbookEntry(TroggleModel): class QM(TroggleModel): """This is based on qm.csv in trunk/expoweb/1623/204 which has the fields: "Number","Grade","Area","Description","Page reference","Nearest station","Completion description","Comment" - Note that there is NO LINK TO THE CAVE that the QM is in ! """ cave = models.ForeignKey(Cave, related_name='QMs',blank=True, null=True,on_delete=models.SET_NULL ) found_by = models.ForeignKey(LogbookEntry, related_name='QMs_found',blank=True, null=True,on_delete=models.SET_NULL ) @@ -511,20 +504,25 @@ class QM(TroggleModel): def code(self): if self.found_by: - return "%s-%s-%s" % (str(self.found_by.cave_slug)[6:], self.found_by.date.year, self.number) + return f'{str(self.found_by.cave_slug)[5:]}-{self.found_by.date.year}-{self.number}' else: - return "%s" % (self.number) + return f'{self.cave.slug()[5:]}-xxxx-{self.number}' def get_absolute_url(self): + if self.found_by: + qmyear = self.found_by.date.year + else: + qmyear = "1986" # HACK to check if other bits work #return settings.URL_ROOT + '/cave/' + self.found_by.cave.kataster_number + '/' + str(self.found_by.date.year) + '-' + '%02d' %self.number - return urljoin(settings.URL_ROOT, reverse('qm',kwargs={'cave_id':self.cave.slug(),'year':self.found_by.date.year,'qm_id':self.number,'grade':self.grade})) + return urljoin(settings.URL_ROOT, reverse('qm',kwargs={'cave_id':self.cave.slug(),'year':qmyear,'qm_id':self.number,'grade':self.grade})) + def get_next_by_id(self): return QM.objects.get(id=self.id+1) 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(),']]') |