Hi all,
I want to change sale_double validation workflow like existing purchase_double_validation.Need a help.....
I make the change like below---------------------
*************************
I got an Error from this 'sale_double_validation_workflow.xml' file other codes are working perfectly except this one ,this is the error stack--I got an Error from this existing workflow xml file also i am not sure about the remaining workflow xml file How to change my workflow xml ?
raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system: sale.sale_order" while parsing /home/ubuntu-libu/odoo/addons/sale_double_validation/sale_double_validation_workflow.xml:5, near
<record id="act_double_wait" model="workflow.activity">
<field name="wkf_id" ref="sale.sale_order"/>
<field name="name">WaitForApproval</field>
<field name="kind">dummy</field>
</record>
sale_double_validation_installer.py file==========================
from openerp.osv import fields, osv
class sale_config_settings(osv.osv_memory):
_inherit = 'sale.config.settings'
_columns = {
'limit_amount': fields.integer('limit to require a second approval',required=True,
help="Amount after which validation of Sale is required."),
}
_defaults = {
'limit_amount': 8000,
}
def get_default_limit_amount(self, cr, uid, fields, context=None):
ir_model_data = self.pool.get('ir.model.data')
transition = ir_model_data.get_object(cr, uid, 'sale_double_validation', 'trans_confirmed_double_lt')
field, value = transition.condition.split('<', 1)
return {'limit_amount': int(value)}
def set_limit_amount(self, cr, uid, ids, context=None):
ir_model_data = self.pool.get('ir.model.data')
config = self.browse(cr, uid, ids[0], context)
waiting = ir_model_data.get_object(cr, uid, 'sale_double_validation', 'trans_confirmed_double_gt')
waiting.write({'condition': 'amount_total >= %s' % config.limit_amount})
confirm = ir_model_data.get_object(cr, uid, 'sale_double_validation', 'trans_confirmed_double_lt')
confirm.write({'condition': 'amount_total < %s' % config.limit_amount})
=======================================================================
sale_double_validation_installer.xml
<openerp>
<data>
<record id="view_double_sale_configuration" model="ir.ui.view">
<field name="name">Sale Application</field>
<field name="model">sale.config.settings</field>
<field name="inherit_id" ref="sale.view_sales_config"/>
<field name="arch" type="xml">
<div name="Sale Features" position="inside">
<span class="oe_separate-from-text">
<label for="limit_amount"/>
<field name="limit_amount" attrs="{'required': [('module_sale_double_validation','=',True)]}" class="oe_inline"/>
</span>
</div>
</field>
</record>
</data>
</openerp>
===============================================================================
sale_double_validation_view.xml
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="sale_order_search_inherit">
<field name="name">sale.order.list.select.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='message_unread']" position="after">
<filter icon="terp-gtk-jump-to-ltr" name="to_approve" string="To Approve" domain="[('state','in',('wait','confirmed'))]" help="Purchase orders which are not approved yet."/>
</xpath>
</field>
</record>
</data>
</openerp>
===============================================================================
,I got an Error from this existing workflow xml file ,this is the error stack---
****************************************************************
/home/ubuntu-libu/odoo/openerp/addons/base/ir/ir_model.py", line 921, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system: sale.sale_order" while parsing /home/ubuntu-libu/odoo/addons/sale_double_validation/sale_double_validation_workflow.xml:5, near
***********************************************************************************
sale_double_validation_workflow.xml
<record id="act_double_wait" model="workflow.activity">
<field name="wkf_id" ref="sale.sale_order"/>
<field name="name">WaitForApproval</field>
<field name="kind">dummy</field>
</record>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="act_double_wait" model="workflow.activity">
<field name="wkf_id" ref="sale.sale_order"/>
<field name="name">WaitForApproval</field>
<field name="kind">dummy</field>
</record>
<record id="act_double_check" model="workflow.activity">
<field name="wkf_id" ref="sale.sale_order"/>
<field name="name">CheckForApproval</field>
<field name="split_mode">OR</field>
<field name="kind">dummy</field>
</record>
<record id="trans_confirmed_double_check" model="workflow.transition">
<field name="act_from" ref="sale.act_confirmed"/>
<field name="act_to" ref="act_double_check"/>
</record>
<record id="trans_confirmed_double_gt" model="workflow.transition">
<field name="act_from" ref="act_double_check"/>
<field name="act_to" ref="act_double_wait"/>
<field name="condition">amount_untaxed >= 5000</field>
<field name="signal">purchase_approve</field>
<field name="group_id" ref="sale.group_sale_manager"/>
</record>
<record id="trans_confirmed_double_lt" model="workflow.transition">
<field name="act_from" ref="act_double_check"/>
<field name="act_to" ref="act_double_wait"/>
<field name="condition">amount_untaxed < 5000</field>
</record>
<record id="trans_double_app_conf" model="workflow.transition">
<field name="act_from" ref="act_double_wait"/>
<field name="act_to" ref="sale.act_router"/>
</record>
</data>
</openerp>
=================================================================
When I click on Configuration-> Sale I got below error
File "/home/ubuntu-libu/odoo/openerp/addons/base/ir/ir_model.py", line 921, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % (xmlid))
ValueError: External ID not found in the system: sale_double_validation.trans_confirmed_double_lt