Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

[purchase_double_validation]How to add sale_double_validation in sale order like existing purchase_double_validation module?

By
Odoo
on 4/1/15, 8:08 AM 706 views

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

1

Cyril Gaspard (GEM)

--Cyril Gaspard (GEM)--
4136
| 5 6 8
Paris, France
--Cyril Gaspard (GEM)--

Forum contributor since 2008

Cyril Gaspard (GEM)
On 4/1/15, 8:10 PM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 4/1/15, 8:08 AM
Seen: 706 times
Last updated: 4/2/15, 6:02 PM