summaryrefslogtreecommitdiffstats
path: root/expo/models.py
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:43:20 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:43:20 +0100
commit60735a9b3acae9d883589c51aa953ced40cc7488 (patch)
tree83c28a07c7e6227ba9faae0228461e7e6daae69c /expo/models.py
parent6598dd510539a9060dc6a38a3cd38b6228e57b88 (diff)
downloadtroggle-60735a9b3acae9d883589c51aa953ced40cc7488.tar.gz
troggle-60735a9b3acae9d883589c51aa953ced40cc7488.tar.bz2
troggle-60735a9b3acae9d883589c51aa953ced40cc7488.zip
[svn] merge the trip table to have surveys by date
Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8221 by julian @ 1/24/2009 2:01 PM
Diffstat (limited to 'expo/models.py')
-rw-r--r--expo/models.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/expo/models.py b/expo/models.py
index ee3179b..b8885ea 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -86,6 +86,34 @@ class PersonExpedition(models.Model):
is_guest = models.BooleanField(default=False)
nickname = models.CharField(max_length=100,blank=True,null=True)
+ def GetPersonroles(self):
+ res = [ ]
+ for personrole in self.personrole_set.order_by('survex_block'):
+ if res and res[-1]['survexpath'] == personrole.survex_block.survexpath:
+ res[-1]['roles'] += ", " + str(personrole.role)
+ else:
+ res.append({'date':personrole.survex_block.date, 'survexpath':personrole.survex_block.survexpath, 'roles':str(personrole.role)})
+ print res
+ return res
+
+ def GetPersonChronology(self):
+ res = { }
+ for persontrip in self.persontrip_set.all():
+ a = res.setdefault(persontrip.date, { })
+ a.setdefault("persontrips", [ ]).append(persontrip)
+ for personrole in self.personrole_set.all():
+ a = res.setdefault(personrole.survex_block.date, { })
+ b = a.setdefault("personroles", { })
+ survexpath = personrole.survex_block.survexpath
+
+ if b.get(survexpath):
+ b[survexpath] += ", " + str(personrole.role)
+ else:
+ b[survexpath] = str(personrole.role)
+# needs converting dict into list
+ return sorted(res.items())
+
+
# deprecated
def GetPossibleNameForms(self):
res = [ ]