diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index 6b9b2b0e41c..dc2b70c0094 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -389,26 +389,22 @@ class account_invoice(osv.osv):
}
def action_invoice_sent(self, cr, uid, ids, context=None):
- email_template_obj = self.pool.get('email.template')
mod_obj = self.pool.get('ir.model.data')
-
- template_id = email_template_obj.search(cr, uid, [('model_id', '=', 'account.invoice')], context=context)
+ template_id = self.pool.get('email.template').search(cr, uid, [('model_id', '=', 'account.invoice')], context=context)[0]
res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
res_id = res and res[1] or False
-
ctx = context.copy()
ctx.update({'active_model': 'account.invoice', 'active_id': ids[0], 'mail.compose.template_id': template_id})
-
return {
- 'view_type': 'form',
- 'view_mode': 'form',
- 'res_model': 'mail.compose.message',
- 'views': [(res_id, 'form')],
- 'view_id': res_id,
- 'type': 'ir.actions.act_window',
- 'target': 'new',
- 'context': ctx,
- 'nodestroy': True,
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'mail.compose.message',
+ 'views': [(res_id, 'form')],
+ 'view_id': res_id,
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ 'context': ctx,
+ 'nodestroy': True,
}
def confirm_paid(self, cr, uid, ids, context=None):
diff --git a/addons/account/account_invoice_workflow.xml b/addons/account/account_invoice_workflow.xml
index 7e536036628..faf38acd924 100644
--- a/addons/account/account_invoice_workflow.xml
+++ b/addons/account/account_invoice_workflow.xml
@@ -66,12 +66,12 @@ write({'state':'cancel'})
invoice_open
-
+
invoice_sent
-
+
account.move.line
@@ -85,7 +85,7 @@ write({'state':'cancel'})
move_line_id_payment_get()
test_paid()
-
+
invoice_cancel
diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py
index d36e9163ba9..97b633d1740 100644
--- a/addons/account/edi/invoice.py
+++ b/addons/account/edi/invoice.py
@@ -21,6 +21,7 @@
from osv import fields, osv, orm
from edi import EDIMixin
+from edi.models import edi
INVOICE_LINE_EDI_STRUCT = {
'name': True,
@@ -71,6 +72,18 @@ INVOICE_EDI_STRUCT = {
class account_invoice(osv.osv, EDIMixin):
_inherit = 'account.invoice'
+ def action_invoice_sent(self, cr, uid, ids, context=None):
+ """"Override this method to add a link to mail"""
+ if context is None:
+ context = {}
+ invoice_objs = self.browse(cr, uid, ids, context=context)
+ edi_token = self.pool.get('edi.document').export_edi(cr, uid, invoice_objs, context = context)[0]
+ web_root_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+ edi_context = dict(context, edi_web_url_view=edi.EDI_VIEW_WEB_URL % (web_root_url, cr.dbname, edi_token))
+ ctx = context.copy()
+ ctx.update(edi_context)
+ return super(account_invoice, self).action_invoice_sent(cr, uid, ids, context=ctx)
+
def edi_export(self, cr, uid, records, edi_struct=None, context=None):
"""Exports a supplier or customer invoice"""
edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT)
diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py
index b8359f3bf7f..8330bb21ec2 100644
--- a/addons/purchase/edi/purchase_order.py
+++ b/addons/purchase/edi/purchase_order.py
@@ -24,6 +24,7 @@ from dateutil.relativedelta import relativedelta
from osv import fields, osv, orm
from edi import EDIMixin
+from edi.models import edi
from tools import DEFAULT_SERVER_DATE_FORMAT
from tools.translate import _
@@ -61,6 +62,18 @@ PURCHASE_ORDER_EDI_STRUCT = {
class purchase_order(osv.osv, EDIMixin):
_inherit = 'purchase.order'
+ def wkf_send_rfq(self, cr, uid, ids, context=None):
+ """"Override this method to add a link to mail"""
+ if context is None:
+ context = {}
+ purchase_objs = self.browse(cr, uid, ids, context=context)
+ edi_token = self.pool.get('edi.document').export_edi(cr, uid, purchase_objs, context = context)[0]
+ web_root_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+ edi_context = dict(context, edi_web_url_view=edi.EDI_VIEW_WEB_URL % (web_root_url, cr.dbname, edi_token))
+ ctx = context.copy()
+ ctx.update(edi_context)
+ return super(purchase_order, self).wkf_send_rfq(cr, uid, ids, context=ctx)
+
def edi_export(self, cr, uid, records, edi_struct=None, context=None):
"""Exports a purchase order"""
edi_struct = dict(edi_struct or PURCHASE_ORDER_EDI_STRUCT)
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 0093222d78d..1e6f7602280 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -330,18 +330,13 @@ class purchase_order(osv.osv):
def wkf_send_rfq(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
- template_id = self.pool.get('email.template').search(cr, uid, [('model_id', '=', 'purchase.order')])
+ template_id = self.pool.get('email.template').search(cr, uid, [('model_id', '=', 'purchase.order')], context=context)[0]
res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
res_id = res and res[1] or False
- #EDI EXport data
- id = ids[0]
- order = self.browse(cr, uid, id, context)
- #if not order.partner_id.opt_out:
- #order.edi_export_and_email(template_ext_id='purchase.email_template_edi_purchase', context=context)
ctx = context.copy()
- ctx.update({'active_model': 'purchase.order', 'active_id': id, 'mail.compose.template_id': template_id})
+ ctx.update({'active_model': 'purchase.order', 'active_id': ids[0], 'mail.compose.template_id': template_id})
return {
'view_type': 'form',
'view_mode': 'form',
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 50f6bf81153..4c450aca3a7 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -474,13 +474,13 @@ class sale_order(osv.osv):
def print_quotation(self, cr, uid, ids, context=None):
wf_service = netsvc.LocalService("workflow")
for id in ids:
- wf_service.trg_validate(uid, 'sale.order', id, 'quotation_sent', cr)
+ wf_service.trg_validate(uid, 'sale.order', id, 'quotation_sent', cr)
datas = {
'model': 'sale.order',
'ids': ids,
'form': self.read(cr, uid, ids, context=context)[0],
- }
- return {'type': 'ir.actions.report.xml', 'report_name': 'sale.order', 'datas': datas, 'nodestroy': True}
+ }
+ return {'type': 'ir.actions.report.xml', 'report_name': 'sale.order', 'datas': datas, 'nodestroy': True}
def manual_invoice(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
@@ -735,17 +735,17 @@ class sale_order(osv.osv):
def action_quotation_sent(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
- template_id = self.pool.get('email.template').search(cr, uid, [('model_id', '=', 'sale.order')], context=context)
- model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','email_compose_message_wizard_form')], context=context)
- resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
+ template_id = self.pool.get('email.template').search(cr, uid, [('model_id', '=', 'sale.order')], context=context)[0]
+ res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
+ res_id = res and res[1] or False
ctx = context.copy()
ctx.update({'active_model': 'sale.order', 'active_id': ids[0], 'mail.compose.template_id': template_id})
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'mail.compose.message',
- 'views': [(resource_id,'form')],
- 'view_id': resource_id,
+ 'views': [(res_id,'form')],
+ 'view_id': res_id,
'type': 'ir.actions.act_window',
'target': 'new',
'context': ctx,