[FIX] sale.order,invoices: more robust/consistent mechanism for marking documents sent after Send by Email
bzr revid: odo@openerp.com-20121121102137-9wukkbnfktfkg4lo
This commit is contained in:
parent
fadd311945
commit
2c3d422964
|
@ -408,6 +408,7 @@ class account_invoice(osv.osv):
|
||||||
'default_use_template': bool(template_id),
|
'default_use_template': bool(template_id),
|
||||||
'default_template_id': template_id,
|
'default_template_id': template_id,
|
||||||
'default_composition_mode': 'comment',
|
'default_composition_mode': 'comment',
|
||||||
|
'mark_invoice_as_sent': True,
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
'type': 'ir.actions.act_window',
|
'type': 'ir.actions.act_window',
|
||||||
|
@ -1730,8 +1731,6 @@ class account_invoice_tax(osv.osv):
|
||||||
})
|
})
|
||||||
return res
|
return res
|
||||||
|
|
||||||
account_invoice_tax()
|
|
||||||
|
|
||||||
|
|
||||||
class res_partner(osv.osv):
|
class res_partner(osv.osv):
|
||||||
""" Inherits partner and adds invoice information in the partner form """
|
""" Inherits partner and adds invoice information in the partner form """
|
||||||
|
@ -1745,16 +1744,14 @@ class res_partner(osv.osv):
|
||||||
default.update({'invoice_ids' : []})
|
default.update({'invoice_ids' : []})
|
||||||
return super(res_partner, self).copy(cr, uid, id, default, context)
|
return super(res_partner, self).copy(cr, uid, id, default, context)
|
||||||
|
|
||||||
res_partner()
|
|
||||||
|
|
||||||
class mail_message(osv.osv):
|
class mail_compose_message(osv.osv):
|
||||||
_name = 'mail.message'
|
_inherit = 'mail.compose.message'
|
||||||
_inherit = 'mail.message'
|
|
||||||
|
|
||||||
def _postprocess_sent_message(self, cr, uid, message, context=None):
|
def send_mail(self, cr, uid, ids, context=None):
|
||||||
if message.model == 'account.invoice':
|
context = context or {}
|
||||||
self.pool.get('account.invoice').write(cr, uid, [message.res_id], {'sent':True}, context=context)
|
if context.get('default_model') == 'account.invoice' and context.get('default_res_id') and context.get('mark_invoice_as_sent'):
|
||||||
return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
|
self.pool.get('account.invoice').write(cr, uid, [context['default_res_id']], {'sent': True}, context=context)
|
||||||
|
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
||||||
|
|
||||||
mail_message()
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -1028,17 +1028,14 @@ class sale_order_line(osv.osv):
|
||||||
raise osv.except_osv(_('Invalid Action!'), _('Cannot delete a sales order line which is in state \'%s\'.') %(rec.state,))
|
raise osv.except_osv(_('Invalid Action!'), _('Cannot delete a sales order line which is in state \'%s\'.') %(rec.state,))
|
||||||
return super(sale_order_line, self).unlink(cr, uid, ids, context=context)
|
return super(sale_order_line, self).unlink(cr, uid, ids, context=context)
|
||||||
|
|
||||||
sale_order_line()
|
|
||||||
|
|
||||||
class mail_compose_message(osv.osv):
|
class mail_compose_message(osv.osv):
|
||||||
_inherit = 'mail.compose.message'
|
_inherit = 'mail.compose.message'
|
||||||
def send_mail(self, cr, uid, ids, context=None):
|
def send_mail(self, cr, uid, ids, context=None):
|
||||||
context = context or {}
|
context = context or {}
|
||||||
if context.get('mark_so_as_sent', False) and context.get('default_res_id', False):
|
if context.get('default_model') == 'sale.order' and context.get('default_res_id') and context.get('mark_so_as_sent'):
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'sale.order', context.get('default_res_id', False), 'quotation_sent', cr)
|
wf_service.trg_validate(uid, 'sale.order', context['default_res_id'], 'quotation_sent', cr)
|
||||||
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
||||||
|
|
||||||
mail_compose_message()
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
Loading…
Reference in New Issue