chipping away bug in personexpedition, remove role

This commit is contained in:
Philip Sargent
2021-04-30 00:24:36 +01:00
parent e5cf1b5289
commit 03a5f5989e
9 changed files with 82 additions and 34 deletions

View File

@@ -432,6 +432,10 @@ class LogbookEntry(TroggleModel):
# #return super(LogbookEntry, self).__init__(*args, **kwargs) # works in py3.5
# #return TroggleModel.__init__(*args, **kwargs) # fails in py3.5, runtime fail in 3.8
def cave(self): # Why didn't he just make this a foreign key to Cave ? Replaces __egtattrribute__ sillyness.
c = CaveSlug.objects.get(slug=self.cave_slug, primary=True).cave
return c
def isLogbookEntry(self): # Function used in templates
return True

View File

@@ -134,12 +134,18 @@ class SurvexBlock(models.Model):
return True
def GetPersonroles(self):
'''To do: excise the 'role' bit of this while retaining personrole
which is used in some later logic
But apparently never used !?
'''
res = [ ]
for personrole in self.survexpersonrole_set.order_by('personexpedition'):
if res and res[-1]['person'] == personrole.personexpedition.person:
res[-1]['roles'] += ", " + str(personrole.nrole)
else:
res.append({'person':personrole.personexpedition.person, 'expeditionyear':personrole.personexpedition.expedition.year, 'roles':str(personrole.nrole)})
# if res and res[-1]['person'] == personrole.personexpedition.person:
# res[-1]['roles'] += ", " + str(personrole.nrole)
# else:
# res.append({'person':personrole.personexpedition.person, 'expeditionyear':personrole.personexpedition.expedition.year, 'roles':str(personrole.nrole)})
res.append({'person':personrole.personexpedition.person, 'expeditionyear':personrole.personexpedition.expedition.year})
return res
def DayIndex(self):
@@ -147,21 +153,21 @@ class SurvexBlock(models.Model):
#
# member of a SurvexBlock
#
ROLE_CHOICES = (
('insts','Instruments'),
('dog','Other'),
('notes','Notes'),
('pics','Pictures'),
('tape','Tape measure'),
('useless','Useless'),
('helper','Helper'),
('disto','Disto'),
('consultant','Consultant'),
)
# ROLE_CHOICES = (
# ('insts','Instruments'),
# ('dog','Other'),
# ('notes','Notes'),
# ('pics','Pictures'),
# ('tape','Tape measure'),
# ('useless','Useless'),
# ('helper','Helper'),
# ('disto','Disto'),
# ('consultant','Consultant'),
# )
class SurvexPersonRole(models.Model):
survexblock = models.ForeignKey('SurvexBlock',on_delete=models.CASCADE)
nrole = models.CharField(choices=ROLE_CHOICES, max_length=200, blank=True, null=True)
# nrole = models.CharField(choices=ROLE_CHOICES, max_length=200, blank=True, null=True)
# increasing levels of precision
personname = models.CharField(max_length=100)
person = models.ForeignKey('Person', blank=True, null=True,on_delete=models.SET_NULL)

View File

@@ -184,12 +184,19 @@ class PersonExpedition(TroggleModel):
nickname = models.CharField(max_length=100,blank=True, null=True)
def GetPersonroles(self):
'''To do: excise the 'role' bit of this while retaining personrole
which is used in some later logic
But apparently never used !?
'''
res = [ ]
for personrole in self.personrole_set.order_by('survexblock'):
if res and res[-1]['survexpath'] == personrole.survexblock.survexpath:
res[-1]['roles'] += ", " + str(personrole.role)
else:
res.append({'date':personrole.survexblock.date, 'survexpath':personrole.survexblock.survexpath, 'roles':str(personrole.role)})
res.append({'date':personrole.survexblock.date, 'survexpath':personrole.survexblock.survexpath})
# if res and res[-1]['survexpath'] == personrole.survexblock.survexpath:
# res[-1]['roles'] += ", " + str(personrole.role)
# else:
# res.append({'date':personrole.survexblock.date, 'survexpath':personrole.survexblock.survexpath, 'roles':str(personrole.role)})
return res
class Meta: