diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 6c1571c5630..a6a2f9f2c82 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -56,6 +56,8 @@ class email_template(osv.osv):
:param str model: model name of the document record this mail is related to.
:param int res_id: id of the document record this mail is related to.
"""
+ if context is None:
+ context = {}
if not template: return u""
try:
template = tools.ustr(template)
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 3d909c1085e..d342b7b1169 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -142,10 +142,11 @@ class purchase_order(osv.osv):
return res
STATE_SELECTION = [
- ('draft', 'Request for Quotation'),
+ ('draft', 'Draft PO'),
('wait', 'Waiting'),
+ ('send', 'RFQ Sent'),
('confirmed', 'Waiting Approval'),
- ('approved', 'Approved'),
+ ('approved', 'Purchase Order'),
('except_picking', 'Shipping Exception'),
('except_invoice', 'Invoice Exception'),
('done', 'Done'),
@@ -277,6 +278,24 @@ class purchase_order(osv.osv):
self.write(cr, uid, ids, {'state': 'approved', 'date_approve': fields.date.context_today(self,cr,uid,context=context)})
return True
+ 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')])
+ model_data_ids = mod_obj.search(cr,uid,[('model','=','ir.ui.view'),('name','=','email_compose_message_wizard_form')])
+ resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
+ self.write(cr, uid, ids, {'state' : 'send'})
+
+ return {
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'mail.compose.message',
+ 'views': [(resource_id,'form')],
+ 'view_id': resource_id,
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ 'context': {'active_model': 'purchase.order', 'mail.compose.message.mode':'mass_mail', 'mail.compose.template_id' :template_id},
+ }
#TODO: implement messages system
def wkf_confirm_order(self, cr, uid, ids, context=None):
todo = []
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 1c936055aff..ccdc9858125 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -194,17 +194,18 @@
-
+
-
-
-
+
+
-
+
-
+
+
+
diff --git a/addons/purchase/purchase_workflow.xml b/addons/purchase/purchase_workflow.xml
index c978712c0a1..a7d67dd87a1 100644
--- a/addons/purchase/purchase_workflow.xml
+++ b/addons/purchase/purchase_workflow.xml
@@ -13,6 +13,12 @@
True
draft
+
+
+ send
+ function
+ wkf_send_rfq()
+
confirmed
@@ -90,6 +96,22 @@
purchase_confirm
+
+
+
+ send_rfq
+
+
+
+
+ purchase_confirm
+
+
+
+
+ purchase_cancel
+
+