summaryrefslogtreecommitdiff
path: root/addons/project_long_term
diff options
context:
space:
mode:
authorMustufa Rangwala <mra@mra-laptop>2010-06-14 10:15:10 +0530
committerMustufa Rangwala <mra@mra-laptop>2010-06-14 10:15:10 +0530
commite2c0ba196ef00b6f84b3c07933eed63a0d0c69e6 (patch)
tree5fa4f8bed20ec67015840d162db346b11d430e59 /addons/project_long_term
parent38c2a2ba3ccb26db56470b64ecc9d872a8fa58d2 (diff)
parent30b9d3269c2c316311b52ec837bb6f58278e1d26 (diff)
[MERGE] merge with trunk
bzr revid: mra@mra-laptop-20100614044510-iffai5yviiknzqfa
Diffstat (limited to 'addons/project_long_term')
-rw-r--r--addons/project_long_term/project_long_term.py108
-rw-r--r--addons/project_long_term/project_long_term_demo.xml28
-rw-r--r--addons/project_long_term/project_long_term_view.xml54
-rw-r--r--addons/project_long_term/security/ir.model.access.csv4
-rw-r--r--addons/project_long_term/wizard/project_compute_tasks.py4
-rw-r--r--addons/project_long_term/wizard/project_schedule_tasks.py2
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: