summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2007-10-07 14:37:42 +0000
committerFabien Pinckaers <fp@tinyerp.com>2007-10-07 14:37:42 +0000
commit424f3f38ab8d360892ae609b97bf69880ea85a3e (patch)
tree5b5de02b46c1716fc4d83d291c051579526cf4b2
parent005b1e302c50854539a7562e5c1ccba0d3418c10 (diff)
Prject History Improvement for delegations
bzr revid: fp@tinyerp.com-f5a523275ebde95092cdf28f03be0dec1cdf1112
-rw-r--r--addons/project/project.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/addons/project/project.py b/addons/project/project.py
index 0c4617ffe7c..7da4f0cde37 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -170,22 +170,24 @@ class task(osv.osv):
_name = "project.task"
_description = "Task"
_date_name = "date_deadline"
- def _str_get(self, task, context={}):
- return '*** '+task.user_id.name.upper()+(' - %.1fh / %.1fh'%(task.effective_hours or 0.0,task.planned_hours))+' ***\n'+(task.description or '')+'\n\n'
+ def _str_get(self, task, level=0, border='***', context={}):
+ return border+' '+task.user_id.name.upper()+(level and (': L'+str(level)) or '')+(' - %.1fh / %.1fh'%(task.effective_hours or 0.0,task.planned_hours))+' '+border+'\n'+(task.description or '')+'\n\n'
def _history_get(self, cr, uid, ids, name, args, context={}):
result = {}
for task in self.browse(cr, uid, ids, context=context):
- result[task.id] = self._str_get(task)
+ result[task.id] = self._str_get(task, border='===')
t2 = task.parent_id
+ level = 0
while t2:
- result[task.id] = self._str_get(t2) + result[task.id]
+ level -= 1
+ result[task.id] = self._str_get(t2, level) + result[task.id]
t2 = t2.parent_id
- t3 = task.child_ids
+ t3 = map(lambda x: (x,1), task.child_ids)
while t3:
t2 = t3.pop(0)
- result[task.id] = result[task.id] + self._str_get(t2)
- t3 += t2.child_ids
+ result[task.id] = result[task.id] + self._str_get(t2[0], t2[1])
+ t3 += map(lambda x: (x,t2[1]+1), t2[0].child_ids)
return result
def _hours_effect(self, cr, uid, ids, name, args, context):