[FIX] 1) project - imporved the gantt view of the Task 2) project_long_term:refectored phase scheduling procress

bzr revid: jam@tinyerp.com-20110628053940-fg62i9foq6ph1adz
This commit is contained in:
Jigar Amin 2011-06-28 11:09:40 +05:30
parent 53dfea69f8
commit da785dae55
2 changed files with 15 additions and 4 deletions

View File

@ -369,7 +369,7 @@
<field name="type">gantt</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<gantt color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
<gantt color="user_id" date_start="date_start" date_stop="date_end" string="Tasks">
<level object="project.project" link="project_id" domain="[]">
<field name="name"/>
</level>

View File

@ -725,11 +725,22 @@ class project_task(osv.osv):
'user_id' : False
}
def _get_child_duration(self, cr, uid, tasks, duration, context=None):
#DFS : visit all child
for task in tasks:
if task.child_ids:
duration = self._get_child_duration(cr, uid, task.child_ids, duration, context)
duration += task.planned_hours
return duration
def generate_task(self, cr, uid, task_id, parent=False, flag=False, context=None):
if context is None:
context = {}
task = self.browse(cr, uid, task_id, context=context)
duration = str(task.planned_hours )+ 'H'
duration = task.planned_hours
if task.child_ids:
duration = self._get_child_duration(cr, uid, task.child_ids, duration, context)
duration = str(duration)+ 'H'
str_resource = False
parent = task.parent_ids
if task.phase_id.resource_ids:
@ -745,7 +756,7 @@ class project_task(osv.osv):
'''%(task.id, task.name, duration, str_resource)
if parent:
s +='''
start = up.Task_%s.end
start = up.Task_%s.start
'''%(parent[0].id)
else:
s = '''
@ -756,7 +767,7 @@ class project_task(osv.osv):
'''%(task.id, task.name, duration, str_resource)
if parent:
s +='''
start = up.Task_%s.end
start = up.Task_%s.start
'''%(parent[0].id)
s += '\n'
return s