diff options
| author | Mayur Maheshwari (OpenERP) <mma@tinyerp.com> | 2012-04-11 11:48:02 +0530 |
|---|---|---|
| committer | Mayur Maheshwari (OpenERP) <mma@tinyerp.com> | 2012-04-11 11:48:02 +0530 |
| commit | 36099cbf2b5edee9fc7175cfab6f3da9ea9ac7ee (patch) | |
| tree | c2083290db29cba411977c13c5bdbd91a40bec85 /addons/purchase_double_validation | |
| parent | 9346a7e8ecc4b3a042af0dcd597945c987bbc92f (diff) | |
| parent | 5fac93a5f64a450df0f7ca0b1791b6a2c9407cd5 (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')
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="vsep"]" 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 >= 1000</field> + <field name="condition">amount_untaxed >= 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 < 1000</field> + <field name="condition">amount_untaxed < 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. |
