[CHANGE]: migrate code from 5.0 to 6.0 with few backlog changes

bzr revid: mga@tinyerp.com-20100606182608-e5uncndaqreracba
This commit is contained in:
Mantavya Gajjar 2010-06-06 23:56:08 +05:30
parent 9f1620aeff
commit 16a8c578d8
2 changed files with 277 additions and 192 deletions

View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
#-*- coding:utf-8 -*-
##############################################################################
#
@ -28,10 +27,26 @@ from osv import fields
from tools import config
from tools.translate import _
class hr_contract_wage_type(osv.osv):
"""
Wages types
Basic = Basic Salary
Grows = Basic + Allowances
New = Grows - Deductions
"""
_inherit = 'hr.contract.wage.type'
_columns = {
'type' : fields.selection([('basic','Basic'), ('gross','Gross'), ('net','Net')], 'Type', required=True),
}
hr_contract_wage_type()
class hr_passport(osv.osv):
'''
Passport Detail
'''
"""
Employee Passport
Passport based Contratacts for Employees
"""
_name = 'hr.passport'
_description = 'Passport Detail'
@ -39,20 +54,28 @@ class hr_passport(osv.osv):
'employee_id':fields.many2one('hr.employee', 'Employee', required=True),
'name':fields.char('Passport No', size=64, required=True, readonly=False),
'country_id':fields.many2one('res.country', 'Country of Issue', required=True),
'date_issue': fields.date('Passport Issue Date'),
'date_expire': fields.date('Passport Expire Date'),
'address_id':fields.many2one('res.partner.address', 'Address', required=False),
'date_issue': fields.date('Passport Issue Date', required=True),
'date_expire': fields.date('Passport Expire Date', required=True),
'contracts_ids':fields.one2many('hr.contract', 'passport_id', 'Contracts', required=False, readonly=True),
'note': fields.text('Description'),
}
hr_passport()
class hr_employee_grade(osv.osv):
_name = 'hr.employee.grade'
_description = 'Function of the Employee'
_inherits = {
'res.partner.function': 'function_id',
}
class hr_payroll_structure(osv.osv):
"""
Salary structure used to defined
* Basic
* Allowlance
* Deductions
"""
_name = 'hr.payroll.structure'
_description = 'Salary Structure'
_columns = {
'function_id':fields.many2one('res.partner.function', 'Function', required=False),
'name':fields.char('Name', size=256, required=True, readonly=False),
'code':fields.char('Code', size=64, required=True, readonly=False),
'line_ids':fields.one2many('hr.payslip.line', 'function_id', 'Salary Structure', required=False),
'account_id':fields.many2one('account.analytic.account', 'Analytic Account', required=False),
'company_id':fields.many2one('res.company', 'Company', required=False),
@ -65,15 +88,25 @@ class hr_employee_grade(osv.osv):
}
def copy(self, cr, uid, id, default=None, context=None):
"""
Create a new record in hr_payroll_structure model from existing one
@param cr: cursor to database
@param user: id of current user
@param id: list of record ids on which copy method executes
@param default: dict type contains the values to be override during copy of object
@param context: context arguments, like lang, time zone
@return: returns a id of newly created record
"""
code = self.browse(cr, uid, id).code
default = {
'code':code+"(copy)",
'company_id':self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
}
res_id = super(hr_employee_grade, self).copy(cr, uid, id, default, context)
return 0
hr_employee_grade()
res_id = super(hr_payroll_structure, self).copy(cr, uid, id, default, context)
return res_id
hr_payroll_structure()
class hr_contract(osv.osv):
@ -85,22 +118,10 @@ class hr_contract(osv.osv):
'passport_id':fields.many2one('hr.passport', 'Passport', required=False),
'visa_no':fields.char('Visa No', size=64, required=False, readonly=False),
'visa_expire': fields.date('Visa Expire Date'),
'function' : fields.many2one('hr.employee.grade', 'Function'),
'working_days_per_week': fields.integer('Working Days / Week'),
'working_hours_per_day':fields.integer('Working Hours / Day'),
}
_defaults = {
'working_days_per_week': lambda *args: 5
'struct_id' : fields.many2one('hr.payroll.structure', 'Salary Structure'),
}
hr_contract()
class hr_contract_wage_type(osv.osv):
_inherit = 'hr.contract.wage.type'
_columns = {
'type' : fields.selection([('basic','Basic'), ('gross','Gross'), ('net','Net')], 'Type', required=True),
}
hr_contract_wage_type()
class payroll_register(osv.osv):
'''
Payroll Register
@ -168,7 +189,7 @@ class payroll_register(osv.osv):
def compute_sheet(self, cr, uid, ids, context={}):
emp_pool = self.pool.get('hr.employee')
slip_pool = self.pool.get('hr.payslip')
func_pool = self.pool.get('hr.employee.grade')
func_pool = self.pool.get('hr.payroll.structure')
slip_line_pool = self.pool.get('hr.payslip.line')
wf_service = netsvc.LocalService("workflow")
@ -185,7 +206,7 @@ class payroll_register(osv.osv):
continue
sql_req= '''
SELECT c.wage as wage, function as function
SELECT c.wage as wage, struct_id as function
FROM hr_contract c
LEFT JOIN hr_employee emp on (c.employee_id=emp.id)
LEFT JOIN hr_contract_wage_type cwt on (cwt.id = c.wage_type_id)
@ -202,7 +223,7 @@ class payroll_register(osv.osv):
if not contract_info:
continue
function = contract_info['function']
function = contract_info['struct_id']
lines = []
if function:
func = func_pool.read(cr, uid, function, ['line_ids'])
@ -685,7 +706,7 @@ class hr_payslip(osv.osv):
return res
_columns = {
'deg_id':fields.many2one('hr.employee.grade', 'Designation', required=False),
'deg_id':fields.many2one('hr.payroll.structure', 'Designation', required=False),
'register_id':fields.many2one('hr.payroll.register', 'Register', required=False),
'journal_id': fields.many2one('account.journal', 'Expanse Journal', required=True),
'bank_journal_id': fields.many2one('account.journal', 'Bank Journal', required=True),
@ -1297,7 +1318,7 @@ class hr_payslip(osv.osv):
def compute_sheet(self, cr, uid, ids, context={}):
emp_pool = self.pool.get('hr.employee')
slip_pool = self.pool.get('hr.payslip')
func_pool = self.pool.get('hr.employee.grade')
func_pool = self.pool.get('hr.payroll.structure')
slip_line_pool = self.pool.get('hr.payslip.line')
holiday_pool = self.pool.get('hr.holidays')
@ -1725,7 +1746,7 @@ class hr_payslip_line(osv.osv):
_columns = {
'slip_id':fields.many2one('hr.payslip', 'Pay Slip', required=False),
'condition_id':fields.many2one('hr.payslip.line.condition', 'Condition', required=False),
'function_id':fields.many2one('hr.employee.grade', 'Function', required=False),
'function_id':fields.many2one('hr.payroll.structure', 'Function', required=False),
'employee_id':fields.many2one('hr.employee', 'Employee', required=False),
'name':fields.char('Name', size=256, required=True, readonly=False),
'base':fields.char('Formula', size=1024, required=False, readonly=False),

View File

@ -1,7 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="hr_hr_employee_view_form3" model="ir.ui.view">
<!-- Root Menus -->
<menuitem id="menu_hr_root_payroll" parent="hr.menu_hr_root" name="Payroll"/>
<menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll"/>
<!-- Passport Views -->
<record id="hr_passport_form" model="ir.ui.view">
<field name="name">hr.passport.form</field>
<field name="model">hr.passport</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Passport">
<group col="6" colspan="4">
<field name="name" select="1" colspan="4"/>
<field name="employee_id" select="1"/>
</group>
<group col="2" colspan="2">
<separator string="Country &amp; Address" colspan="4"/>
<field name="country_id" select="1"/>
<field name="address_id" select="1"/>
</group>
<group col="2" colspan="2">
<separator string="Valid From" colspan="2"/>
<field name="date_issue" select="1"/>
<field name="date_expire" select="1"/>
</group>
<notebook colspan="4">
<page string="Description">
<separator string="Description" colspan="2"/>
<field name="note" colspan="4" nolabel="1"/>
</page>
<page string="Contracts">
<field name="contracts_ids" colspan="4" nolabel="1"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="hr_passport_tree" model="ir.ui.view">
<field name="name">hr.passport.tree</field>
<field name="model">hr.passport</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Passport">
<field name="name" select="1"/>
<field name="employee_id" select="1"/>
<field name="country_id" select="1"/>
<field name="date_expire" select="1"/>
<field name="date_expire" select="1"/>
</tree>
</field>
</record>
<record id="action_hr_passport_tree" model="ir.actions.act_window">
<field name="name">All Passports</field>
<field name="res_model">hr.passport</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_passport_tree"/>
</record>
<menuitem id="passport_configure" parent="hr.menu_hr_configuration" name="Passport"/>
<menuitem
id="menu_action_hr_passport_tree"
action="action_hr_passport_tree"
parent="passport_configure"
/>
<!-- End Passport Views -->
<!-- Contract View -->
<record id="hr_contract.hr_contract_view_form" model="ir.ui.view">
<field name="name">hr.contract.view.form</field>
<field name="model">hr.contract</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contract">
<group colspan="3" col="6">
<field name="name" select="1"/>
<field name="employee_id" select="1"/>
<field name="job_id"/>
<field name="wage"/>
<field name="wage_type_id" widget="selection"/>
<field name="type_id" widget="selection"/>
</group>
<notebook>
<page string="Main Data">
<group col="2" colspan="2">
<separator colspan="2" string="Duration"/>
<field name="date_start" select="1"/>
<field name="date_end" select="1"/>
<field name="working_hours"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Advantages"/>
<field name="struct_id" select="1"/>
<field name="advantages_net"/>
<field name="advantages_gross"/>
<field name="advantages" nolabel="1" colspan="2"/>
</group>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="notes" nolabel="1"/>
</page>
<page string="Contracts">
</page>
</notebook>
</form>
</field>
</record>
<!-- End Contract View-->
<!--
<record id="hr_hr_employee_view_form3" model="ir.ui.view">
<field name="name">hr.hr.employee.view.form3</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr_contract.hr_hr_employee_view_form2"/>
@ -17,7 +124,6 @@
<field name="wage_type_id"/>
<field name="wage"/>
</tree>
<form string="Contract">
<separator colspan="4" string="Generalities"/>
<field colspan="4" name="name" select="1"/>
@ -125,6 +231,7 @@
</field>
</field>
</record>
-->
<!--
Holiday Status inheritancy
-->
@ -341,14 +448,14 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_payslip_tree"/>
</record>
<menuitem id="menu_hr_root_payroll" parent="hr.menu_hr_root" name="Payroll"/>
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
<menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll"/>
<record id="view_hr_employee_grade_tree" model="ir.ui.view">
<field name="name">hr.employee.grade.tree</field>
<field name="model">hr.employee.grade</field>
<field name="name">hr.payroll.structure.tree</field>
<field name="model">hr.payroll.structure</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Employee Function">
@ -361,8 +468,8 @@
</record>
<record id="view_hr_employee_grade_form" model="ir.ui.view">
<field name="name">hr.employee.grade.form</field>
<field name="model">hr.employee.grade</field>
<field name="name">hr.payroll.structure.form</field>
<field name="model">hr.payroll.structure</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Employee Function">
@ -387,7 +494,7 @@
<record id="action_view_hr_employee_grade_form" model="ir.actions.act_window">
<field name="name">Employee Functions</field>
<field name="res_model">hr.employee.grade</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_employee_grade_tree"/>
</record>
@ -469,51 +576,50 @@
/>
<!-- Contract Form-->
<record id="hr_contract.hr_contract_view_form" model="ir.ui.view">
<field name="name">hr.contract.view.form</field>
<field name="model">hr.contract</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contract">
<field name="employee_id"/>
<separator colspan="4" string="General Information"/>
<field colspan="4" name="name" select="1"/>
<newline/>
<separator colspan="4" string="Contract Duration"/>
<field name="function"/>
<field name="working_hours_per_day"/>
<field name="working_days_per_week"/>
<field name="date_start" select="1"/>
<field name="date_end" select="1"/>
<separator colspan="4" string="Salary"/>
<field name="wage_type_id"/>
<field name="wage"/>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="notes" nolabel="1"/>
<separator colspan="4" string="Passport and Visa"/>
<field name="permit_no"/>
<field name="passport_id"/>
<field name="visa_no"/>
<field name="visa_expire"/>
</form>
</field>
</record>
<record id="action_hr_contract" model="ir.actions.act_window">
<field name="name">Employee Contract</field>
<field name="res_model">hr.contract</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
</record>
<menuitem
action="action_hr_contract"
name="Employee Contract"
id="hr_menu_contract"
parent="payroll_configure"
/>
<!-- <record id="hr_contract.hr_contract_view_form" model="ir.ui.view">-->
<!-- <field name="name">hr.contract.view.form</field>-->
<!-- <field name="model">hr.contract</field>-->
<!-- <field name="type">form</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <form string="Contract">-->
<!-- <field name="employee_id"/>-->
<!-- <separator colspan="4" string="General Information"/>-->
<!-- <field colspan="4" name="name" select="1"/>-->
<!-- <newline/>-->
<!-- <separator colspan="4" string="Contract Duration"/>-->
<!-- <field name="function"/>-->
<!-- <field name="working_hours_per_day"/>-->
<!-- <field name="working_days_per_week"/>-->
<!-- <field name="date_start" select="1"/>-->
<!-- <field name="date_end" select="1"/>-->
<!-- -->
<!-- <separator colspan="4" string="Salary"/>-->
<!-- <field name="wage_type_id"/>-->
<!-- <field name="wage"/>-->
<!-- -->
<!-- <separator colspan="4" string="Notes"/>-->
<!-- <field colspan="4" name="notes" nolabel="1"/>-->
<!-- -->
<!-- <separator colspan="4" string="Passport and Visa"/>-->
<!-- <field name="permit_no"/>-->
<!-- <field name="passport_id"/>-->
<!-- <field name="visa_no"/>-->
<!-- <field name="visa_expire"/>-->
<!-- </form>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="action_hr_contract" model="ir.actions.act_window">-->
<!-- <field name="name">Employee Contract</field>-->
<!-- <field name="res_model">hr.contract</field>-->
<!-- <field name="view_type">form</field>-->
<!-- <field name="view_mode">form,tree</field>-->
<!-- </record>-->
<!-- <menuitem -->
<!-- action="action_hr_contract" -->
<!-- name="Employee Contract" -->
<!-- id="hr_menu_contract" -->
<!-- parent="payroll_configure"-->
<!-- />-->
<record id="view_hr_bank_advice_tree" model="ir.ui.view">
<field name="name">hr.payroll.advice.tree</field>
@ -666,104 +772,62 @@
parent="menu_hr_root_payroll"
/>
<!-- Passport Views -->
<record id="hr_passport_form" model="ir.ui.view">
<field name="name">hr.passport.form</field>
<field name="model">hr.passport</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Passport List">
<field name="employee_id" select="1"/>
<newline/>
<field name="name" select="1"/>
<field name="country_id" select="1"/>
<field name="date_issue" select="1"/>
<field name="date_expire" select="1"/>
<field name="contracts_ids" colspan="4" nolabel="1"/>
</form>
</field>
</record>
<record id="hr_passport_tree" model="ir.ui.view">
<field name="name">hr.passport.tree</field>
<field name="model">hr.passport</field>
<!--
Contribution Register
-->
<record id="hr_contibution_register_tree" model="ir.ui.view">
<field name="name">hr.contibution.register.tree</field>
<field name="model">hr.contibution.register</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Passport">
<field name="employee_id" select="1"/>
<tree string="Contribution Registers">
<field name="name" select="1"/>
<field name="country_id" select="1"/>
<field name="date_expire" select="1"/>
<field name="company_id" select="1"/>
<field name="monthly_total_by_emp"/>
<field name="monthly_total_by_comp"/>
<field name="yearly_total_by_emp"/>
<field name="yearly_total_by_comp"/>
</tree>
</field>
</record>
<record id="action_hr_passport_tree" model="ir.actions.act_window">
<field name="name">All Passports</field>
<field name="res_model">hr.passport</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_passport_tree"/>
</record>
<menuitem
id="menu_action_hr_passport_tree"
action="action_hr_passport_tree"
parent="hr.menu_open_view_employee_list_my"
/>
<!--
Contribution Register
-->
<record id="hr_contibution_register_tree" model="ir.ui.view">
<field name="name">hr.contibution.register.tree</field>
<field name="model">hr.contibution.register</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Contribution Registers">
<field name="name" select="1"/>
<field name="company_id" select="1"/>
<field name="monthly_total_by_emp"/>
<field name="monthly_total_by_comp"/>
<field name="yearly_total_by_emp"/>
<field name="yearly_total_by_comp"/>
</tree>
</field>
</record>
<record id="hr_contibution_register_form" model="ir.ui.view">
<field name="name">hr.contibution.register.form</field>
<field name="model">hr.contibution.register</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contribution">
<field name="name" select="1"/>
<field name="account_id"/>
<field name="analytic_account_id"/>
<field name="company_id" select="1"/>
<notebook colspan="4">
<page string="Contribution Lines">
<field colspan="4" name="register_line_ids" nolabel="1" select="1">
<tree string="Register Lines" editable="top">
<field name="code"/>
<field name="employee_id"/>
<field name="period_id"/>
<field name="emp_deduction"/>
<field name="comp_deduction"/>
<field name="total"/>
</tree>
</field>
</page>
<page string="Description">
<separator colspan="4" string="Description"/>
<field name="note" colspan="4" nolabel="1"/>
</page>
</notebook>
<group col="2" colspan="2">
<separator colspan="4" string="Year"/>
<field name="yearly_total_by_emp"/>
<field name="yearly_total_by_comp"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Month"/>
<field name="monthly_total_by_emp"/>
<field name="monthly_total_by_comp"/>
</group>
<record id="hr_contibution_register_form" model="ir.ui.view">
<field name="name">hr.contibution.register.form</field>
<field name="model">hr.contibution.register</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contribution">
<field name="name" select="1"/>
<field name="account_id"/>
<field name="analytic_account_id"/>
<field name="company_id" select="1"/>
<notebook colspan="4">
<page string="Contribution Lines">
<field colspan="4" name="register_line_ids" nolabel="1" select="1">
<tree string="Register Lines" editable="top">
<field name="code"/>
<field name="employee_id"/>
<field name="period_id"/>
<field name="emp_deduction"/>
<field name="comp_deduction"/>
<field name="total"/>
</tree>
</field>
</page>
<page string="Description">
<separator colspan="4" string="Description"/>
<field name="note" colspan="4" nolabel="1"/>
</page>
</notebook>
<group col="2" colspan="2">
<separator colspan="4" string="Year"/>
<field name="yearly_total_by_emp"/>
<field name="yearly_total_by_comp"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Month"/>
<field name="monthly_total_by_emp"/>
<field name="monthly_total_by_comp"/>
</group>
</form>
</field>
</record>
@ -784,14 +848,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contribution">
<field name="name"/>
<field name="code"/>
<field name="employee_id"/>
<field name="period_id"/>
<field name="emp_deduction"/>
<field name="comp_deduction"/>
<field name="total"/>
</form>
<field name="name"/>
<field name="code"/>
<field name="employee_id"/>
<field name="period_id"/>
<field name="emp_deduction"/>
<field name="comp_deduction"/>
<field name="total"/>
</form>
</field>
</record>
@ -803,9 +867,9 @@
<form string="Condition">
<field name="name"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="date_end"/>
<field name="state"/>
</form>
</form>
</field>
</record>
</data>