diff options
| author | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
|---|---|---|
| committer | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
| commit | b0efd26edd9f4e2aa75424b787ea46d2be15cd04 (patch) | |
| tree | e78cdb693e62a5c9a17f77a395eec51fb34becbf /addons/hr_payroll/wizard/wizard_create_analytic.py | |
| parent | 46bb1ea51be702758d68a5f69db32c82dbccf9bd (diff) | |
| parent | 2319190c5a20cb8095f85cacca89a33164ba93d7 (diff) | |
[MERGE]: merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons2
bzr revid: atp@tinyerp.co.in-20100622051544-c7hig73zk2at66cy
Diffstat (limited to 'addons/hr_payroll/wizard/wizard_create_analytic.py')
| -rw-r--r-- | addons/hr_payroll/wizard/wizard_create_analytic.py | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/addons/hr_payroll/wizard/wizard_create_analytic.py b/addons/hr_payroll/wizard/wizard_create_analytic.py new file mode 100644 index 00000000000..371b0a2bda4 --- /dev/null +++ b/addons/hr_payroll/wizard/wizard_create_analytic.py @@ -0,0 +1,124 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved +# d$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import wizard +import pooler + +class wizard_create_analytics(wizard.interface): + ''' + OpenERP Wizard + ''' + form = '''<?xml version="1.0"?> + <form string="Process Form"> + <field name="company_id"/> + <newline/> + <field name="type"/> + </form>''' + + fields = { + 'company_id': {'string': 'Company', 'type': 'many2one', 'relation': 'res.company'}, + 'type': {'string':'Type', 'type':'selection', 'selection':[('bydeg','By Employee Function'), ('byallded','By Allownce / Deduction')]} + } + + def _get_defaults(self, cr, user, data, context): + #TODO : initlize required data + + + return data['form'] + + def _do_duplicate(self, cr, uid, data, context): + pool = pooler.get_pool(cr.dbname) + account_pool = pool.get('account.analytic.account') + func_pool = pool.get('hr.employee.grade') + ad_pool = pool.get('hr.allounce.deduction.categoty') + + tpy = data['form']['type'] + company = data['form']['company_id'] + + function_ids = func_pool.search(cr, uid, []) + ad_ids = ad_pool.search(cr, uid, []) + + if tpy == 'bydeg': + for function in func_pool.browse(cr, uid, function_ids): + res = { + 'name':function.name, + 'company_id':company + } + fid = account_pool.create(cr, uid, res) + res = { + 'name':'Basic Salary', + 'company_id':company, + 'parent_id': fid + } + account_pool.create(cr, uid, res) + for ad in ad_pool.browse(cr, uid, ad_ids): + res = { + 'name':ad.name, + 'company_id':company, + 'parent_id': fid + } + account_pool.create(cr, uid, res) + + + + elif tpy == 'byallded': + res = { + 'name':'Basic Salary', + 'company_id':company + } + adid = account_pool.create(cr, uid, res) + for function in func_pool.browse(cr, uid, function_ids): + res = { + 'name':function.name, + 'company_id':company, + 'parent_id': adid + } + account_pool.create(cr, uid, res) + + for ad in ad_pool.browse(cr, uid, ad_ids): + res = { + 'name':ad.name, + 'company_id':company, + } + adid = account_pool.create(cr, uid, res) + for function in func_pool.browse(cr, uid, function_ids): + res = { + 'name':function.name, + 'company_id':company, + 'parent_id': adid + } + account_pool.create(cr, uid, res) + + return {} + + states = { + 'init': { + 'actions': [_get_defaults], + 'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('process', 'Process'))}, + }, + 'process': { + 'actions': [_do_duplicate], + 'result': {'type': 'state', 'state': 'end'}, + }, + } +wizard_create_analytics('payroll.analysis') |
