summaryrefslogtreecommitdiff
path: root/addons/purchase_double_validation
diff options
context:
space:
mode:
authorMayur Maheshwari (OpenERP) <mma@tinyerp.com>2012-04-11 11:48:02 +0530
committerMayur Maheshwari (OpenERP) <mma@tinyerp.com>2012-04-11 11:48:02 +0530
commit36099cbf2b5edee9fc7175cfab6f3da9ea9ac7ee (patch)
treec2083290db29cba411977c13c5bdbd91a40bec85 /addons/purchase_double_validation
parent9346a7e8ecc4b3a042af0dcd597945c987bbc92f (diff)
parent5fac93a5f64a450df0f7ca0b1791b6a2c9407cd5 (diff)
[MERGE]Merge with lp:~openerp-dev/openobject-addons/trunk-account_voucher_yml
bzr revid: mma@tinyerp.com-20120411061802-nx2p77prspl6ojz1
Diffstat (limited to 'addons/purchase_double_validation')
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_installer.py38
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_installer.xml48
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_workflow.xml4
-rwxr-xr-xaddons/purchase_double_validation/test/purchase_double_validation_test.yml4
4 files changed, 27 insertions, 67 deletions
diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.py b/addons/purchase_double_validation/purchase_double_validation_installer.py
index 791d1bf6dce..9bf03474e86 100644
--- a/addons/purchase_double_validation/purchase_double_validation_installer.py
+++ b/addons/purchase_double_validation/purchase_double_validation_installer.py
@@ -21,35 +21,29 @@
from osv import fields, osv
-class purchase_double_validation_installer(osv.osv_memory):
- _name = 'purchase.double.validation.installer'
- _inherit = 'res.config'
+class purchase_config_settings(osv.osv_memory):
+ _inherit = 'purchase.config.settings'
_columns = {
- 'limit_amount': fields.integer('Maximum Purchase Amount', required=True, help="Maximum amount after which validation of purchase is required."),
+ 'limit_amount': fields.integer('Double Validation Limit',required=True,
+ help="Amount after which validation of purchase is required."),
}
_defaults = {
'limit_amount': 5000,
}
- def execute(self, cr, uid, ids, context=None):
- data = self.read(cr, uid, ids, context=context)
- if not data:
- return {}
- amt = data[0]['limit_amount']
- data_pool = self.pool.get('ir.model.data')
- transition_obj = self.pool.get('workflow.transition')
- waiting = data_pool._get_id(cr, uid, 'purchase', 'trans_confirmed_router')
- waiting_id = data_pool.browse(cr, uid, waiting, context=context).res_id
- confirm = data_pool._get_id(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
- confirm_id = data_pool.browse(cr, uid, confirm, context=context).res_id
- transition_obj.write(cr, uid, waiting_id, {'condition': 'amount_total>=%s' % (amt)})
- transition_obj.write(cr, uid, confirm_id, {'condition': 'amount_total<%s' % (amt)})
- return {}
-
-purchase_double_validation_installer()
-
+ 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, 'purchase_double_validation', 'trans_waiting_confirmed')
+ 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, 'purchase', 'trans_confirmed_router')
+ waiting.write({'condition': 'amount_total >= %s' % config.limit_amount})
+ confirm = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
+ confirm.write({'condition': 'amount_total < %s' % config.limit_amount})
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.xml b/addons/purchase_double_validation/purchase_double_validation_installer.xml
index 490581e472b..582312bfd6f 100644
--- a/addons/purchase_double_validation/purchase_double_validation_installer.xml
+++ b/addons/purchase_double_validation/purchase_double_validation_installer.xml
@@ -1,51 +1,17 @@
<openerp>
<data>
- <!-- configartion view -->
- <record id="view_config_purchase_limit_amount" model="ir.ui.view">
- <field name="name">Configure Limit Amount for Purchase</field>
- <field name="model">purchase.double.validation.installer</field>
+ <record id="view_double_purchase_configuration" model="ir.ui.view">
+ <field name="name">Purchase Application</field>
+ <field name="model">purchase.config.settings</field>
<field name="type">form</field>
- <field name="inherit_id" ref="base.res_config_view_base"/>
+ <field name="inherit_id" ref="purchase.view_purchase_configuration"/>
<field name="arch" type="xml">
- <data>
- <form position="attributes">
- <attribute name="string">Purchase Application Configuration</attribute>
- </form>
- <separator string="title" position="attributes">
- <attribute name="string">Configure Limit Amount for Purchase</attribute>
- </separator>
- <xpath expr="//label[@string='description']" position="attributes">
- <attribute name="string">Define minimum amount after which puchase is needed to be validated.</attribute>
- </xpath>
- <xpath expr="//separator[@string=&quot;vsep&quot;]" position="attributes">
- <attribute name="rowspan">15</attribute>
- <attribute name="string"/>
- </xpath>
- <group string="res_config_contents" position="replace">
- <field name="limit_amount"/>
- <newline/>
- </group>
- </data>
+ <field name="module_purchase_double_validation" position="replace">
+ <field name="limit_amount"/>
+ </field>
</field>
</record>
- <record id="action_config_purchase_limit_amount" model="ir.actions.act_window">
- <field name="name">Configure Limit Amount for Purchase</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">purchase.double.validation.installer</field>
- <field name="view_id" ref="view_config_purchase_limit_amount"/>
- <field name="view_type">form</field>
- <field name="view_mode">form</field>
- <field name="target">new</field>
- </record>
-
- <!-- register configuration wizard -->
- <record id="config_wizard_step_purchase_limit_amount" model="ir.actions.todo">
- <field name="action_id" ref="action_config_purchase_limit_amount"/>
- <field name="category_id" ref="purchase.category_purchase_config"/>
- <field name="type">once</field>
- </record>
-
</data>
</openerp>
diff --git a/addons/purchase_double_validation/purchase_double_validation_workflow.xml b/addons/purchase_double_validation/purchase_double_validation_workflow.xml
index b4005133b60..61503564246 100644
--- a/addons/purchase_double_validation/purchase_double_validation_workflow.xml
+++ b/addons/purchase_double_validation/purchase_double_validation_workflow.xml
@@ -3,7 +3,7 @@
<data>
<record id="purchase.trans_confirmed_router" model="workflow.transition">
- <field name="condition">amount_untaxed &gt;= 1000</field>
+ <field name="condition">amount_untaxed &gt;= 5000</field>
<field name="signal">purchase_approve</field>
<field name="group_id" ref="purchase.group_purchase_manager"/>
</record>
@@ -11,7 +11,7 @@
<record id="trans_waiting_confirmed" model="workflow.transition">
<field name="act_from" ref="purchase.act_confirmed"/>
<field name="act_to" ref="purchase.act_router"/>
- <field name="condition">amount_untaxed &lt; 1000</field>
+ <field name="condition">amount_untaxed &lt; 5000</field>
</record>
</data>
diff --git a/addons/purchase_double_validation/test/purchase_double_validation_test.yml b/addons/purchase_double_validation/test/purchase_double_validation_test.yml
index 0d37b22abcf..b7172636386 100755
--- a/addons/purchase_double_validation/test/purchase_double_validation_test.yml
+++ b/addons/purchase_double_validation/test/purchase_double_validation_test.yml
@@ -1,10 +1,10 @@
-
I set new limit amount from Configure Limit Amount for Purchase .
-
- !record {model: purchase.double.validation.installer, id: purchase_double_validation_installer_1}:
+ !record {model: purchase.config.settings, id: purchase_double_validation_installer_1}:
limit_amount: 3000
-
- !python {model: purchase.double.validation.installer}: |
+ !python {model: purchase.config.settings}: |
self.execute(cr, uid, [ref("purchase_double_validation_installer_1")])
-
In order to test the flow, I confirmed the purchase order.