diff --git a/core/models/logbooks.py b/core/models/logbooks.py index b0bde61..34032fd 100644 --- a/core/models/logbooks.py +++ b/core/models/logbooks.py @@ -85,12 +85,12 @@ class LogbookEntry(TroggleModel): if self in todays: index = todays.index(self) else: - print(f"DayIndex: Synchronization error. Restart server. {self}") + print(f"DayIndex: Synchronization error in logbook entries. Restart server or do full reset. {self}") index = 0 if index not in range(0, mx): - print(f"DayIndex: More than {mx-1} LogbookEntry items on one day '{index}' {self}") - index = 0 + print(f"DayIndex: More than {mx-1} LogbookEntry items on one day '{index}' {self}, restarting colour sequence.") + index = index % mx return index diff --git a/core/models/survex.py b/core/models/survex.py index 7b69b64..37e8eb5 100644 --- a/core/models/survex.py +++ b/core/models/survex.py @@ -228,15 +228,17 @@ class SurvexBlock(models.Model): def DayIndex(self): """This is used to set different colours for the different trips on the calendar view of the expedition""" + # print(f"SurvexBlock DayIndex {self.name} '{self.date}' {len(list(SurvexBlock.objects.filter(date=self.date)))} on this date") mx = 10 - try: - index = list(SurvexBlock.objects.filter(date=self.date)).index(self) - except: - print(f"DayIndex: BAD BAD BAD SurvexBlock items on one day '{index}' {self}") + todays = list(SurvexBlock.objects.filter(date=self.date)) + if self in todays: + index = todays.index(self) + else: + print(f"DayIndex: Synchronization error in survex blocks. Restart server or do full reset. {self}") index = 0 if index not in range(0, mx): - print(f"DayIndex: More than {mx-1} SurvexBlock items on one day '{index}' {self}") - index = 0 + print(f"DayIndex: More than {mx-1} SurvexBlock items on one day '{index}' {self}, restarting colour sequence.") + index = index % mx # return list(self.survexblock_set.all()).index(self) return index