[IMP] set logger messages
bzr revid: hmo@tinyerp.com-20100708101424-hgbmoqco3to16jer
This commit is contained in:
parent
ec460a76eb
commit
9ada619c37
|
@ -168,6 +168,9 @@ and users"),
|
|||
"""
|
||||
res = super(crm_lead, self).case_open(cr, uid, ids, *args)
|
||||
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Lead ') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
|
@ -180,6 +183,9 @@ and users"),
|
|||
"""
|
||||
res = super(crm_lead, self).case_close(cr, uid, ids, args)
|
||||
self.write(cr, uid, ids, {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Lead ') + " '" + name + "' "+ _("is Closed.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def convert_opportunity(self, cr, uid, ids, context=None):
|
||||
|
@ -276,7 +282,10 @@ and users"),
|
|||
vals.update(res)
|
||||
|
||||
res = self.create(cr, uid, vals, context)
|
||||
|
||||
|
||||
message = _('A Lead created') + " '" + subject + "' " + _("from Mailgate.")
|
||||
self.log(cr, uid, res, message)
|
||||
|
||||
attachents = msg.get('attachments', [])
|
||||
for attactment in attachents or []:
|
||||
data_attach = {
|
||||
|
|
|
@ -65,6 +65,9 @@ class crm_opportunity(osv.osv):
|
|||
"""
|
||||
res = super(crm_opportunity, self).case_close(cr, uid, ids, args)
|
||||
self.write(cr, uid, ids, {'probability' : 100.0, 'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Opportunity ') + " '" + name + "' "+ _("is Won.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def case_cancel(self, cr, uid, ids, *args):
|
||||
|
@ -77,6 +80,9 @@ class crm_opportunity(osv.osv):
|
|||
"""
|
||||
res = super(crm_opportunity, self).case_cancel(cr, uid, ids, args)
|
||||
self.write(cr, uid, ids, {'probability' : 0.0})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Opportunity ') + " '" + name + "' "+ _("is Lost.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def case_open(self, cr, uid, ids, *args):
|
||||
|
|
|
@ -86,7 +86,8 @@ class crm_lead2opportunity(osv.osv_memory):
|
|||
if lead.partner_id:
|
||||
msg_ids = [ x.id for x in lead.message_ids]
|
||||
self.pool.get('mailgate.message').write(cr, uid, msg_ids, {'partner_id': lead.partner_id.id}, context=context)
|
||||
|
||||
message = _('Lead ') + " '" + lead.name + "' "+ _("is converted to Opportunity.")
|
||||
self.log(cr, uid, lead.id, message)
|
||||
value = {
|
||||
'name': _('Opportunity'),
|
||||
'view_type': 'form',
|
||||
|
@ -99,6 +100,7 @@ class crm_lead2opportunity(osv.osv_memory):
|
|||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
|
||||
return value
|
||||
|
||||
_columns = {
|
||||
|
|
|
@ -277,6 +277,8 @@ class hr_applicant(osv.osv, crm.crm_case):
|
|||
vals.update(res)
|
||||
res = self.create(cr, uid, vals, context)
|
||||
|
||||
message = _('A Job Request created') + " '" + subject + "' " + _("from Mailgate.")
|
||||
self.log(cr, uid, res, message)
|
||||
|
||||
attachents = msg.get('attachments', [])
|
||||
for attactment in attachents or []:
|
||||
|
@ -338,6 +340,34 @@ class hr_applicant(osv.osv, crm.crm_case):
|
|||
@param **args: Return Dictionary of Keyword Value
|
||||
"""
|
||||
return True
|
||||
|
||||
def case_open(self, cr, uid, ids, *args):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of case's Ids
|
||||
@param *args: Give Tuple Value
|
||||
"""
|
||||
res = super(hr_applicant, self).case_open(cr, uid, ids, *args)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Job request for') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of case's Ids
|
||||
@param *args: Give Tuple Value
|
||||
"""
|
||||
res = super(hr_applicant, self).case_close(cr, uid, ids, *args)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Applicant ') + " '" + name + "' "+ _("is Hired.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
hr_applicant()
|
||||
|
||||
|
|
|
@ -757,9 +757,11 @@ class mrp_production(osv.osv):
|
|||
new_parent_ids.append(final_product.id)
|
||||
for new_parent_id in new_parent_ids:
|
||||
stock_mov_obj.write(cr, uid, [raw_product.id], {'move_history_ids': [(4,new_parent_id)]})
|
||||
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production', production_id, 'button_produce_done', cr)
|
||||
message = _('Manufacturing order ') + " '" + production.name + "' "+ _("is finished.")
|
||||
self.log(cr, uid, production_id, message)
|
||||
return True
|
||||
|
||||
def _costs_generate(self, cr, uid, production):
|
||||
|
@ -925,9 +927,11 @@ class mrp_production(osv.osv):
|
|||
'company_id': production.company_id.id,
|
||||
})
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
|
||||
proc_ids.append(proc_id)
|
||||
proc_ids.append(proc_id)
|
||||
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
||||
self.write(cr, uid, [production.id], {'picking_id': picking_id, 'move_lines': [(6,0,moves)], 'state':'confirmed'})
|
||||
message = _('Manufacturing order ') + " '" + production.name + "' "+ _("is confirmed.")
|
||||
self.log(cr, uid, production.id, message)
|
||||
return picking_id
|
||||
|
||||
def force_production(self, cr, uid, ids, *args):
|
||||
|
|
|
@ -40,8 +40,11 @@ class procurement_order(osv.osv):
|
|||
"""
|
||||
properties = [x.id for x in procurement.property_ids]
|
||||
bom_id = self.pool.get('mrp.bom')._bom_find(cr, uid, procurement.product_id.id, procurement.product_uom.id, properties)
|
||||
if not bom_id:
|
||||
if not bom_id:
|
||||
cr.execute('update procurement_order set message=%s where id=%s', (_('No BoM defined for this product !'), procurement.id))
|
||||
for (id, name) in self.name_get(cr, uid, procurement.id):
|
||||
message = _('Procurement ') + " '" + name + "' "+ _("has an exception.") + _('No BoM defined for this product !')
|
||||
self.log(cr, uid, id, message)
|
||||
return False
|
||||
return True
|
||||
|
||||
|
|
|
@ -331,6 +331,8 @@ class procurement_order(osv.osv):
|
|||
})
|
||||
move_obj.action_confirm(cr, uid, [id], context=context)
|
||||
self.write(cr, uid, [procurement.id], {'move_id': id, 'close_move': 1})
|
||||
message = _('Procurement ') + " '" + procurement.name + "' "+ _("is running.")
|
||||
self.log(cr, uid, procurement.id, message)
|
||||
self.write(cr, uid, ids, {'state': 'confirmed', 'message': ''})
|
||||
return True
|
||||
|
||||
|
@ -355,8 +357,10 @@ class procurement_order(osv.osv):
|
|||
if not (procurement.move_id.state in ('done','assigned','cancel')):
|
||||
ok = ok and self.pool.get('stock.move').action_assign(cr, uid, [id])
|
||||
cr.execute('select count(id) from stock_warehouse_orderpoint where product_id=%s', (procurement.product_id.id,))
|
||||
if not cr.fetchone()[0]:
|
||||
if not cr.fetchone()[0]:
|
||||
cr.execute('update procurement_order set message=%s where id=%s', (_('Not enough stock and no minimum orderpoint rule defined.'), procurement.id))
|
||||
message = _('Procurement ') + " '" + procurement.name + "' "+ _("has an exception.") + _('Not enough stock and no minimum orderpoint rule defined.')
|
||||
self.log(cr, uid, procurement.id, message)
|
||||
return ok
|
||||
|
||||
def action_produce_assign_service(self, cr, uid, ids, context={}):
|
||||
|
@ -434,6 +438,8 @@ class procurement_order(osv.osv):
|
|||
if procurement.move_id:
|
||||
if procurement.close_move and (procurement.move_id.state <> 'done'):
|
||||
move_obj.action_done(cr, uid, [procurement.move_id.id])
|
||||
message = _('Procurement ') + " '" + procurement.name + "' "+ _("is done.")
|
||||
self.log(cr, uid, procurement.id, message)
|
||||
res = self.write(cr, uid, ids, {'state': 'done', 'date_close': time.strftime('%Y-%m-%d')})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
|
|
|
@ -174,6 +174,9 @@ class project(osv.osv):
|
|||
|
||||
def set_done(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'state':'close'}, context=context)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Project ') + " '" + name + "' "+ _("is Closed.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def set_cancel(self, cr, uid, ids, context=None):
|
||||
|
@ -190,6 +193,9 @@ class project(osv.osv):
|
|||
|
||||
def reset_project(self, cr, uid, ids, context=None):
|
||||
res = self.setActive(cr, uid, ids, value=True, context=context)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Project ') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
|
@ -434,6 +440,8 @@ class task(osv.osv):
|
|||
elif project.warn_manager:
|
||||
task_id = ids[0]
|
||||
mail_send = True
|
||||
message = _('Task ') + " '" + task.name + "' "+ _("is Done.")
|
||||
self.log(cr, uid, task.id, message)
|
||||
self.write(cr, uid, [task.id], {'state': 'done', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S'), 'remaining_hours': 0.0})
|
||||
for parent_id in task.parent_ids:
|
||||
if parent_id.state in ('pending','draft'):
|
||||
|
@ -494,6 +502,8 @@ class task(osv.osv):
|
|||
'ref_doc1': 'project.task,%d' % task.id,
|
||||
'ref_doc2': 'project.project,%d' % project.id,
|
||||
})
|
||||
message = _('Task ') + " '" + task.name + "' "+ _("is Cancelled.")
|
||||
self.log(cr, uid, task.id, message)
|
||||
self.write(cr, uid, [task.id], {'state': 'cancelled', 'remaining_hours':0.0})
|
||||
return True
|
||||
|
||||
|
@ -501,6 +511,8 @@ class task(osv.osv):
|
|||
tasks= self.browse(cr,uid,ids)
|
||||
for t in tasks:
|
||||
self.write(cr, uid, [t.id], {'state': 'open'})
|
||||
message = _('Task ') + " '" + t.name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, t.id, message)
|
||||
return True
|
||||
|
||||
def do_draft(self, cr, uid, ids, *args):
|
||||
|
@ -510,6 +522,9 @@ class task(osv.osv):
|
|||
|
||||
def do_pending(self, cr, uid, ids, *args):
|
||||
self.write(cr, uid, ids, {'state': 'pending'})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Task ') + " '" + name + "' "+ _("is Pending.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def next_type(self, cr, uid, ids, *args):
|
||||
|
|
|
@ -82,12 +82,13 @@ class project_task_delegate(osv.osv_memory):
|
|||
'prefix': _get_prefix,
|
||||
'new_task_description': _get_new_desc,
|
||||
'state': 'pending',
|
||||
}
|
||||
}
|
||||
|
||||
def validate(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
task_obj = self.pool.get('project.task')
|
||||
user_obj = self.pool.get('res.users')
|
||||
delegate_data = self.read(cr, uid, ids, context=context)[0]
|
||||
task = task_obj.browse(cr, uid, context['active_id'], context=context)
|
||||
newname = delegate_data['prefix'] or ''
|
||||
|
@ -111,6 +112,9 @@ class project_task_delegate(osv.osv_memory):
|
|||
task_obj.do_pending(cr, uid, [task.id])
|
||||
else:
|
||||
task_obj.do_close(cr, uid, [task.id])
|
||||
delegrate_user = user_obj.browse(cr, uid, delegate_data['user_id'], context=context)
|
||||
message = _('Task ') + " '" + delegate_data['name'] + "' "+ _("is Delegated to User:") +" '"+ delegrate_user.name +"' "
|
||||
self.log(cr, uid, task.id, message)
|
||||
return {}
|
||||
|
||||
project_task_delegate()
|
||||
|
|
|
@ -52,8 +52,26 @@ class project_issue(osv.osv, crm.crm_case):
|
|||
|
||||
res = super(project_issue, self).case_open(cr, uid, ids, *args)
|
||||
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Issue ') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of case's Ids
|
||||
@param *args: Give Tuple Value
|
||||
"""
|
||||
|
||||
res = super(project_issue, self).case_close(cr, uid, ids, *args)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Issue ') + " '" + name + "' "+ _("is Closed.")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def _compute_day(self, cr, uid, ids, fields, args, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
@ -319,6 +337,8 @@ class project_issue(osv.osv, crm.crm_case):
|
|||
if res:
|
||||
vals.update(res)
|
||||
res = self.create(cr, uid, vals, context)
|
||||
message = _('An Issue created') + " '" + subject + "' " + _("from Mailgate.")
|
||||
self.log(cr, uid, res, message)
|
||||
self.convert_to_bug(cr, uid, [res], context=context)
|
||||
|
||||
attachents = msg.get('attachments', [])
|
||||
|
|
|
@ -98,7 +98,7 @@ class crm_make_sale(osv.osv_memory):
|
|||
raise osv.except_osv(_('Data Insufficient!'),_('Customer has no addresses defined!'))
|
||||
|
||||
vals = {
|
||||
'origin': 'CRM-Opportunity:%s' % str(case.id),
|
||||
'origin': 'Opportunity:%s' % str(case.id),
|
||||
'section_id': case.section_id and case.section_id.id or False,
|
||||
'picking_policy': make.picking_policy,
|
||||
'shop_id': make.shop_id.id,
|
||||
|
@ -129,6 +129,8 @@ class crm_make_sale(osv.osv_memory):
|
|||
|
||||
case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id})
|
||||
new_ids.append(new_id)
|
||||
message = _('Opportunity ') + " '" + case.name + "' "+ _("is converted to Sales Quotation.")
|
||||
self.log(cr, uid, case.id, message)
|
||||
|
||||
if make.close:
|
||||
case_obj.case_close(cr, uid, data)
|
||||
|
|
|
@ -92,10 +92,16 @@ class scrum_sprint(osv.osv):
|
|||
|
||||
def button_open(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'open'}, context=context)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sprint ') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_close(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'done'}, context=context)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sprint ') + " '" + name + "' "+ _("is Closed.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_pending(self, cr, uid, ids, context={}):
|
||||
|
@ -205,12 +211,17 @@ class scrum_product_backlog(osv.osv):
|
|||
|
||||
def button_open(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'open'}, context=context)
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
message = _('Product Backlog ') + " '" + name + "' "+ _("is Open.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_close(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'done'}, context=context)
|
||||
for backlog in self.browse(cr, uid, ids, context=context):
|
||||
self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'})
|
||||
message = _('Product Backlog ') + " '" + backlog.name + "' "+ _("is Closed.")
|
||||
self.log(cr, uid, backlog.id, message)
|
||||
return True
|
||||
|
||||
def button_pending(self, cr, uid, ids, context={}):
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
|
||||
class backlog_sprint_assign(osv.osv_memory):
|
||||
_name = 'backlog.assign.sprint'
|
||||
|
@ -35,6 +36,7 @@ class backlog_sprint_assign(osv.osv_memory):
|
|||
|
||||
def assign_sprint(self, cr, uid, ids, context=None):
|
||||
backlog_obj = self.pool.get('scrum.product.backlog')
|
||||
sprint_obj = self.pool.get('scrum.sprint')
|
||||
task = self.pool.get('project.task')
|
||||
backlog_ids = []
|
||||
if context is None:
|
||||
|
@ -43,7 +45,7 @@ class backlog_sprint_assign(osv.osv_memory):
|
|||
for backlog in backlog_obj.browse(cr, uid, context['active_ids'], context=context):
|
||||
backlog_ids.append(backlog.id)
|
||||
if data['convert_to_task']:
|
||||
task.create(cr, uid, {
|
||||
task_id = task.create(cr, uid, {
|
||||
'product_backlog_id': backlog.id,
|
||||
'name': backlog.name,
|
||||
'description': backlog.note,
|
||||
|
@ -52,11 +54,16 @@ class backlog_sprint_assign(osv.osv_memory):
|
|||
'planned_hours':backlog.expected_hours,
|
||||
'remaining_hours':backlog.expected_hours,
|
||||
})
|
||||
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is converted into Task %d."%(task_id,))
|
||||
self.log(cr, uid, backlog.id, message)
|
||||
if data['state_open'] and backlog.state == "draft":
|
||||
backlog_obj.write(cr, uid, backlog.id, {'state':'open'})
|
||||
sprint = sprint_obj.browse(cr, uid, data['sprint_id'], context=context)
|
||||
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is assigned sprint:%s"%(sprint.name))
|
||||
self.log(cr, uid, backlog.id, message)
|
||||
backlog_obj.write(cr, uid, backlog_ids, {'sprint_id': data['sprint_id']}, context=context)
|
||||
return {}
|
||||
|
||||
backlog_sprint_assign()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -1843,7 +1843,9 @@ class stock_move(osv.osv):
|
|||
'line_id': line,
|
||||
'ref': move.picking_id and move.picking_id.name,
|
||||
})
|
||||
|
||||
|
||||
message = _('Move line') + " '" + move.name + "' "+ _("is processed.")
|
||||
self.log(cr, uid, move.id, message)
|
||||
# This can be removed
|
||||
#tracking_lot = False
|
||||
#if context:
|
||||
|
@ -1864,7 +1866,7 @@ class stock_move(osv.osv):
|
|||
wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
|
||||
|
||||
for (id,name) in picking_obj.name_get(cr, uid, picking_ids):
|
||||
message = _('Document') + " '" + name + "' "+ _("is processed")
|
||||
message = _('Document') + " '" + name + "' "+ _("is processed.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
|
@ -1938,6 +1940,8 @@ class stock_move(osv.osv):
|
|||
new_move = self.copy(cr, uid, move.id, default_val)
|
||||
#self.write(cr, uid, [new_move], {'move_history_ids':[(4,move.id)]}) #TODO : to track scrap moves
|
||||
res += [new_move]
|
||||
message = _('Product ') + " '" + move.product_id.name + "' "+ _("is scraped with") + " '" + str(move.product_qty) + "' "+ _("quantity.")
|
||||
self.log(cr, uid, move.id, message)
|
||||
self.action_done(cr, uid, res)
|
||||
return res
|
||||
|
||||
|
@ -2064,6 +2068,8 @@ class stock_move(osv.osv):
|
|||
}
|
||||
|
||||
self.write(cr, uid, [move.id], update_val)
|
||||
message = _('Product ') + " '" + move.product_id.name + "' "+ _("is consumed with") + " '" + str(move.product_qty) + "' "+ _("quantity.")
|
||||
self.log(cr, uid, move.id, message)
|
||||
self.action_done(cr, uid, res)
|
||||
|
||||
return res
|
||||
|
@ -2261,6 +2267,8 @@ class stock_inventory(osv.osv):
|
|||
'product_qty': line.product_qty
|
||||
})
|
||||
move_ids.append(self._inventory_line_hook(cr, uid, line, value))
|
||||
message = _('Inventory') + " '" + inv.name + "' "+ _("is done.")
|
||||
self.log(cr, uid, inv.id, message)
|
||||
self.write(cr, uid, [inv.id], {'state': 'done', 'date_done': time.strftime('%Y-%m-%d %H:%M:%S'), 'move_ids': [(6, 0, move_ids)]})
|
||||
return True
|
||||
|
||||
|
|
Loading…
Reference in New Issue