[IMP]purchase: Fix Error of email template, added send button in workflow, change some state label name and its button position

bzr revid: mma@tinyerp.com-20120227131557-dl1ut04uypafpzwf
This commit is contained in:
Mayur Maheshwari (OpenERP) 2012-02-27 18:45:57 +05:30
parent c57c5c13cf
commit 7f74731083
4 changed files with 52 additions and 8 deletions

View File

@ -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)

View File

@ -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 = []

View File

@ -194,17 +194,18 @@
<field name="amount_total" sum="Total amount"/>
<button name="button_dummy" states="draft" string="Compute" type="object" icon="gtk-execute"/>
</group>
<group col="11" colspan="4">
<group col="12" colspan="4">
<field name="state" widget="statusbar" statusbar_visible="draft,approved,done" statusbar_colors='{"except_picking":"red","except_invoice":"red","confirmed":"blue","wait":"blue"}' readonly="1"/>
<button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel" icon="gtk-cancel"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name="action_cancel" states="approved,except_picking,except_invoice,wait" string="Cancel Purchase Order" type="object" icon="gtk-cancel"/>
<button name="send_rfq" states="draft" string="Send" icon="terp-mail-message-new"/>
<button name="action_cancel" states="approved,except_picking,except_invoice,wait" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="picking_ok" states="except_picking" string="Manually Corrected" icon="gtk-convert"/>
<button name="invoice_ok" states="except_invoice" string="Manually Corrected" icon="gtk-convert"/>
<button name="purchase_confirm" states="draft" string="Convert to Purchase Order" icon="gtk-go-forward"/>
<button name="purchase_confirm" states="draft,send" string="Confirm Order" icon="gtk-go-forward"/>
<button name="purchase_appbuyer" states="wait_auth" string="Approve Purchase" icon="gtk-ok"/>
<button name="purchase_approve" states="confirmed" string="Approved" icon="gtk-go-forward"/>
<button name="purchase_approve" states="confirmed" string="Approve Order" icon="gtk-go-forward"/>
<button name="%(report_purchase_order)d" string="Print" states="approved" type="action" icon="gtk-print"/>
<button name="action_cancel_draft" states="cancel,send,confirmed" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name="purchase_cancel" states="draft,confirmed,wait_auth,send" string="Cancel" icon="gtk-cancel"/>
</group>
</page>
<page string="Delivery &amp; Invoicing" groups="base.group_extended">

View File

@ -13,6 +13,12 @@
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
<record id="act_send" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">send</field>
<field name="kind">function</field>
<field name="action">wkf_send_rfq()</field>
</record>
<record id="act_confirmed" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">confirmed</field>
@ -90,6 +96,22 @@
<field name="act_to" ref="act_confirmed"/>
<field name="signal">purchase_confirm</field>
</record>
<record id="trans_draft_send" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_send"/>
<field name="signal">send_rfq</field>
</record>
<record id="trans_send_confirmed" model="workflow.transition">
<field name="act_from" ref="act_send"/>
<field name="act_to" ref="act_confirmed"/>
<field name="signal">purchase_confirm</field>
</record>
<record id="trans_send_cancel" model="workflow.transition">
<field name="act_from" ref="act_send"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">purchase_cancel</field>
</record>
<record id="trans_confirmed_cancel" model="workflow.transition">
<field name="act_from" ref="act_confirmed"/>
<field name="act_to" ref="act_cancel"/>