[MERGE] project_mrp: task creation from SO will ingnore UoM if the configuration of product is service, Make to order and manufacturing
bzr revid: psi@tinyerp.com-20120717095941-jk3y84v5m6l3c9yh
This commit is contained in:
@@ -78,6 +78,7 @@ class task(osv.osv):
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
task_id = super(task, self).create(cr, uid, vals, context=context)
|
||||
task_browse = self.browse(cr, uid, task_id, context=context)
|
||||
self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task <em>%s</em> has been <b>created</b>.") % (task_browse.name), context=context)
|
||||
if task_browse.project_id.analytic_account_id:
|
||||
self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task <em>%s</em> has been <b>created</b>.") % (task_browse.name), context=context)
|
||||
return task_id
|
||||
task()
|
||||
|
||||
@@ -43,15 +43,6 @@ class procurement_order(osv.osv):
|
||||
def check_produce_service(self, cr, uid, procurement, context=None):
|
||||
return True
|
||||
|
||||
def _convert_qty_company_hours(self, cr, uid, procurement, context=None):
|
||||
product_uom = self.pool.get('product.uom')
|
||||
company_time_uom_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
|
||||
if procurement.product_uom.id != company_time_uom_id:
|
||||
planned_hours = product_uom._compute_qty(cr, uid, procurement.product_uom.id, procurement.product_qty, company_time_uom_id)
|
||||
else:
|
||||
planned_hours = procurement.product_qty
|
||||
return planned_hours
|
||||
|
||||
def _get_project(self, cr, uid, procurement, context=None):
|
||||
project_project = self.pool.get('project.project')
|
||||
project = procurement.product_id.project_id
|
||||
@@ -67,12 +58,11 @@ class procurement_order(osv.osv):
|
||||
project_task = self.pool.get('project.task')
|
||||
for procurement in self.browse(cr, uid, ids, context=context):
|
||||
project = self._get_project(cr, uid, procurement, context=context)
|
||||
planned_hours = self._convert_qty_company_hours(cr, uid, procurement, context=context)
|
||||
task_id = project_task.create(cr, uid, {
|
||||
'name': '%s:%s' % (procurement.origin or '', procurement.product_id.name),
|
||||
'date_deadline': procurement.date_planned,
|
||||
'planned_hours':planned_hours,
|
||||
'remaining_hours': planned_hours,
|
||||
'planned_hours': procurement.product_qty,
|
||||
'remaining_hours': procurement.product_qty,
|
||||
'user_id': procurement.product_id.product_manager.id,
|
||||
'notes': procurement.note,
|
||||
'procurement_id': procurement.id,
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
elif procurement.sale_line_id:
|
||||
account = procurement.sale_line_id.order_id.project_id
|
||||
assert (not project and not account) or project.analytic_account_id == account, "Project does not correspond."
|
||||
planned_hours = self._convert_qty_company_hours(cr, uid, procurement, context=context)
|
||||
planned_hours = procurement.product_qty
|
||||
assert task.planned_hours == planned_hours, 'Planned Hours do not correspond.'
|
||||
assert datetime.strptime(task.date_deadline, '%Y-%m-%d') == datetime.strptime(procurement.date_planned, '%Y-%m-%d %H:%M:%S'), 'Deadline does not correspond.'
|
||||
if procurement.product_id.product_manager:
|
||||
|
||||
Reference in New Issue
Block a user