diff options
| author | Mustufa Rangwala <mra@mra-laptop> | 2010-06-14 10:15:10 +0530 |
|---|---|---|
| committer | Mustufa Rangwala <mra@mra-laptop> | 2010-06-14 10:15:10 +0530 |
| commit | e2c0ba196ef00b6f84b3c07933eed63a0d0c69e6 (patch) | |
| tree | 5fa4f8bed20ec67015840d162db346b11d430e59 /addons/project_long_term | |
| parent | 38c2a2ba3ccb26db56470b64ecc9d872a8fa58d2 (diff) | |
| parent | 30b9d3269c2c316311b52ec837bb6f58278e1d26 (diff) | |
[MERGE] merge with trunk
bzr revid: mra@mra-laptop-20100614044510-iffai5yviiknzqfa
Diffstat (limited to 'addons/project_long_term')
6 files changed, 20 insertions, 180 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 212af8a30dc..57fbd1abb5f 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -256,115 +256,7 @@ class task(osv.osv): _inherit = "project.task" _columns = { 'phase_id': fields.many2one('project.phase', 'Project Phase'), - 'occupation_rate': fields.float('Occupation Rate', help='The occupation rate fields indicates how much of his time a user is working on a task. A 100% occupation rate means the user works full time on the tasks. The ending date of a task is computed like this: Starting Date + Duration / Occupation Rate.'), - 'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'), } - _defaults = { - 'occupation_rate': '1' - } - - def onchange_planned(self, cr, uid, ids, project, user_id=False, planned=0.0, effective=0.0, date_start=None, occupation_rate=0.0): - result = {} - resource = False - resource_obj = self.pool.get('resource.resource') - project_pool = self.pool.get('project.project') - resource_calendar = self.pool.get('resource.calendar') - if not project: - return {'value' : result} - if date_start: - hrs = float(planned / float(occupation_rate)) - calendar_id = project_pool.browse(cr, uid, project).resource_calendar_id.id - dt_start = mx.DateTime.strptime(date_start, '%Y-%m-%d %H:%M:%S') - resource_id = resource_obj.search(cr, uid, [('user_id','=',user_id)]) - if resource_id: - resource_data = resource_obj.browse(cr, uid, resource_id)[0] - resource = resource_data.id - hrs = planned / (float(occupation_rate) * resource_data.time_efficiency) - if resource_data.calendar_id.id: - calendar_id = resource_data.calendar_id.id - work_times = resource_calendar.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource or False) - if work_times: - result['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') - result['remaining_hours'] = planned - effective - return {'value' : result} - - def _check_date_start(self, cr, uid, task, date_end, context={}): - """ - Check And Compute date_end of task if change in date_start < older time. - """ - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') - calendar_id = task.project_id.resource_calendar_id and task.project_id.resource_calendar_id.id or False - hours = task.planned_hours / task.occupation_rate - resource_id = resource_obj.search(cr, uid, [('user_id', '=', task.user_id.id)], context=context) - if resource_id: - resource = resource_obj.browse(cr, uid, resource_id[0], context=context) - if resource.calendar_id.id: - calendar_id = resource.calendar_id and resource.calendar_id.id or False - hours = task.planned_hours / (float(task.occupation_rate) * resource.time_efficiency) - work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, date_end, hours or 0.0, resource_id and resource_id[0] or False) - dt_start = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S') - self.write(cr, uid, [task.id], {'date_start' : dt_start,'date_end' : date_end.strftime('%Y-%m-%d %H:%M:%S')}) - - def _check_date_end(self, cr, uid, task, date_start, context={}): - """ - Check And Compute date_end of task if change in date_end > older time. - """ - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') - calendar_id = task.project_id.resource_calendar_id and task.project_id.resource_calendar_id.id or False - hours = task.planned_hours / task.occupation_rate - resource_id = resource_obj.search(cr,uid,[('user_id', '=', task.user_id.id)], context=context) - if resource_id: - resource = resource_obj.browse(cr, uid, resource_id[0], context=context) - if resource.calendar_id.id: - calendar_id = resource.calendar_id and resource.calendar_id.id or False - hours = task.planned_hours / (float(task.occupation_rate) * resource.time_efficiency) - work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, date_start, hours or 0.0, resource_id and resource_id[0] or False) - dt_end = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') - self.write(cr, uid, [task.id], {'date_start': date_start.strftime('%Y-%m-%d %H:%M:%S'),'date_end' : dt_end}, context=context) - - def write(self, cr, uid, ids, vals, context={}): - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') - if not context: - context = {} - if context.get('scheduler',False): - return super(task, self).write(cr, uid, ids, vals, context=context) - - # Consider calendar and efficiency if the task is performed by a resource - # otherwise consider the project's working calendar - task_id = ids - if isinstance(ids, list): - task_id = ids[0] - task_rec = self.browse(cr, uid, task_id, context=context) - calendar_id = task_rec.project_id.resource_calendar_id and task_rec.project_id.resource_calendar_id.id or False - hrs = task_rec.planned_hours / task_rec.occupation_rate - resource_id = resource_obj.search(cr, uid, [('user_id', '=', task_rec.user_id.id)], context=context) - if resource_id: - resource = resource_obj.browse(cr, uid, resource_id[0], context=context) - if resource.calendar_id.id: - calendar_id = resource.calendar_id and resource.calendar_id.id or False - hrs = task_rec.planned_hours / (float(task_rec.occupation_rate) * resource.time_efficiency) - - # Change the date_start and date_end - # for previous and next tasks respectively based on valid condition - if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start: - dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S') - work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False) - if work_times: - vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') - for prv_task in task_rec.parent_ids: - self._check_date_start(cr, uid, prv_task, dt_start) - if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end: - dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S') - work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False) - if work_times: - vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S') - for next_task in task_rec.child_ids: - self._check_date_end(cr, uid, next_task, dt_end) - - return super(task, self).write(cr, uid, ids, vals, context=context) task() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml index 24bc7ff9438..657658eba46 100644 --- a/addons/project_long_term/project_long_term_demo.xml +++ b/addons/project_long_term/project_long_term_demo.xml @@ -404,7 +404,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -424,7 +423,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -444,7 +442,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -464,7 +461,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -484,7 +480,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -504,7 +499,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -524,7 +518,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -544,7 +537,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -564,7 +556,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -584,7 +575,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -604,7 +594,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -623,7 +612,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -642,7 +630,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -661,7 +648,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -680,7 +666,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -699,7 +684,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -718,7 +702,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -737,7 +720,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -756,7 +738,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -776,7 +757,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -796,7 +776,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -816,7 +795,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -836,7 +814,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -856,7 +833,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -876,7 +852,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -897,7 +872,6 @@ <field name="company_id" ref="base.main_company"/> <field name="priority">2</field> <field name="state">draft</field> - <field eval="1.0" name="occupation_rate"/> <field name="project_id" ref="project_project_openerpwebsitedevelopment0"/> <field eval="[(6,0,[])]" name="child_ids"/> <field eval="[(6,0,[])]" name="parent_ids"/> @@ -909,4 +883,4 @@ <field name="phase_id" ref="project_phase_developmentintegrationandtesting0"/> </record> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index 92b8a34ee9c..583822ccb8d 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -2,7 +2,7 @@ <openerp> <data> - <menuitem id="menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/> + <menuitem id="menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/> # ------------------------------------------------------ # Project Resource Allocation @@ -29,7 +29,7 @@ <field name="arch" type="xml"> <tree editable="bottom" string="Project Resource Allocation"> <field name="resource_id"/> - <field name="phase_id"/> + <field name="phase_id"/> <field name="useability"/> </tree> </field> @@ -42,8 +42,8 @@ <field name="arch" type="xml"> <search string="Resource Allocations"> <group colspan="4" col="20"> - <field name="resource_id" widget="selection"/> - <field name="phase_id" widget="selection"/> + <field name="resource_id"/> + <field name="phase_id"/> </group> <newline/> <group expand="1" string="Group By..." colspan="4" col="20"> @@ -59,7 +59,7 @@ <field name="res_model">project.resource.allocation</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> - <field name="context">{'search_default_resource': 1} </field> + <field name="context">{'search_default_resource': 1} </field> <!--<field name="search_view_id" ref="view_project_phase_search"/>--> </record> @@ -128,7 +128,7 @@ <tree editable="bottom" string="Project's Tasks"> <field name="name"/> <field name="user_id"/> - <field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/> + <field name="planned_hours" widget="float_time"/> </tree> <form string="Project's Tasks"> <notebook colspan="4"> @@ -142,11 +142,10 @@ <separator string="Dates" colspan="2"/> <field name="date_start"/> <field name="date_deadline"/> - <field name="occupation_rate"/> </group> <group colspan="2" col="2"> <separator string="Planning" colspan="2"/> - <field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/> + <field name="planned_hours" widget="float_time"/> <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/> <field name="effective_hours" invisible="1"/> </group> @@ -157,7 +156,7 @@ </notebook> </form> </field> - <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/> + <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/> </page> </notebook> <newline/> @@ -223,10 +222,10 @@ <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/> <separator orientation="vertical"/> <field name="name"/> - <field name="project_id" widget="selection"> + <field name="project_id"> <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-blue"/> </field> - <field name="responsible_id" widget="selection"/> + <field name="responsible_id"/> <field name="date_start"/> </group> <newline/> @@ -245,7 +244,7 @@ <field name="res_model">project.phase</field> <field name="view_type">form</field> <field name="view_mode">gantt,tree,form,calendar</field> - <field name="context">{'search_default_responsible_id':uid}</field> + <field name="context">{'search_default_responsible_id':uid}</field> <field name="search_view_id" ref="view_project_phase_search"/> </record> @@ -280,32 +279,7 @@ # Project Task # ------------------------------------------------------ - <record id="view_project_phase_task_form1" model="ir.ui.view"> - <field name="name">project.phase.task.form1</field> - <field name="model">project.task</field> - <field name="type">form</field> - <field name="inherit_id" ref="project.view_task_form2"/> - <field name="arch" type="xml"> - <field name="planned_hours" position="replace"> - <field name="planned_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours, date_start, occupation_rate)"/> - </field> - - </field> - </record> - - <record id="view_project_phase_task_form2" model="ir.ui.view"> - <field name="name">project.phase.task.form2</field> - <field name="model">project.task</field> - <field name="type">form</field> - <field name="inherit_id" ref="project.view_task_form2"/> - <field name="arch" type="xml"> - <field name="date_end" position = "after"> - <field name="occupation_rate"/> - </field> - </field> - </record> - - <act_window + <act_window id="project_phase_task_list" name="Related Tasks" res_model="project.task" @@ -313,7 +287,7 @@ view_mode="tree,form" domain="[('phase_id','=',active_id)]"/> - <act_window + <act_window domain="[('project_id', '=', active_id)]" id="act_project_phases" name="Phases" @@ -330,7 +304,7 @@ groups="base.group_extended" id="menu_project_phase" parent="menu_project_long_term" sequence="4"/> - <menuitem id="menu_resouce_allocation" action="act_resouce_allocation" + <menuitem id="menu_resouce_allocation" action="act_resouce_allocation" name="Resource Allocations" parent="menu_project_long_term" /> <!--<menuitem icon="terp-project" id="base.menu_main_pm" name="Project Management" sequence="1"/>--> diff --git a/addons/project_long_term/security/ir.model.access.csv b/addons/project_long_term/security/ir.model.access.csv index 7a91ce257ed..b829675772e 100644 --- a/addons/project_long_term/security/ir.model.access.csv +++ b/addons/project_long_term/security/ir.model.access.csv @@ -1,3 +1,3 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_project_phase","project.phase","model_project_phase",,1,1,1,1 -"access_project_resource_allocation","project.resource.allocation","model_project_resource_allocation",,1,1,1,1 +"access_project_phase","project.phase","model_project_phase",project.group_project_user,1,1,1,1 +"access_project_resource_allocation","project.resource.allocation","model_project_resource_allocation",project.group_project_user,1,1,1,1 diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py index af5ceaea676..bd569abf90e 100644 --- a/addons/project_long_term/wizard/project_compute_tasks.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -108,7 +108,7 @@ class project_compute_tasks(osv.osv_memory): # Dynamic Creation of tasks i = 0 for each_task in tasks: - hours = str(each_task.planned_hours / each_task.occupation_rate)+ 'H' + hours = str(each_task.planned_hours )+ 'H' if each_task.priority in priority_dict.keys(): priorty = priority_dict[each_task.priority] if each_task.user_id: @@ -139,4 +139,4 @@ class project_compute_tasks(osv.osv_memory): return {} project_compute_tasks() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_long_term/wizard/project_schedule_tasks.py b/addons/project_long_term/wizard/project_schedule_tasks.py index 3e01c25e975..78ad2166698 100644 --- a/addons/project_long_term/wizard/project_schedule_tasks.py +++ b/addons/project_long_term/wizard/project_schedule_tasks.py @@ -127,7 +127,7 @@ class project_schedule_task(osv.osv_memory): # Dynamic creation of tasks i = 0 for each_task in tasks: - hours = str(each_task.planned_hours / each_task.occupation_rate)+ 'H' + hours = str(each_task.planned_hours )+ 'H' if each_task.priority in priority_dict.keys(): priorty = priority_dict[each_task.priority] if each_task.user_id: |
