From 9f1620aeff14a534bde330b7d61c34c750733ec3 Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Sun, 6 Jun 2010 22:00:23 +0530 Subject: [ADD]: add other files to the hr_payroll module bzr revid: mga@tinyerp.com-20100606163023-pkf6httl19hma6nx --- addons/hr_payroll/wizard/wizard_create_analytic.py | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 addons/hr_payroll/wizard/wizard_create_analytic.py (limited to 'addons/hr_payroll/wizard/wizard_create_analytic.py') 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 (). 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 . +# +############################################################################## + +import wizard +import pooler + +class wizard_create_analytics(wizard.interface): + ''' + OpenERP Wizard + ''' + 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') -- cgit v1.2.3