Skip to Content
Menú
This question has been flagged
1 Respondre
6283 Vistes

How do I get the age of the employee when defining a salary rules like 

if age < 35:

result = 0.17 * categories.BASIC

elif age >= 35 and age < 45:

result = 0.17 * categories.BASIC

elif age >= 45 and age < 50:

result = 0.17 * categories.BASIC

elif age >= 50 and age < 55:

result = 0.16 * categories.BASIC

elif age >= 55 and age < 60:

result = 0.12 * categories.BASIC

elif age >= 55 and age < 60:

result = 0.085 * categories.BASIC

elif age > 65:

result = 0.075 * categories.BASIC

Avatar
Descartar
Autor Best Answer

I have to edit code  to openerp/addons/hr/hr.py

import time
from datetime import datetime
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT
...
class hr_employee(osv.osv):
    _name = "hr.employee" 
    _description = "Employee" 
    _order = 'name_related'
    _inherits = {'resource.resource': "resource_id"}
    _inherit = ['mail.thread']

...

    def get_age(self):
        if not  self.birthday:
            return 0
        birth = datetime.strptime(self.birthday, DEFAULT_SERVER_DATE_FORMAT)
        today = datetime.strptime(time.strftime(DEFAULT_SERVER_DATE_FORMAT), DEFAULT_SERVER_DATE_FORMAT)
        delta = today - birth
        return delta.days / 365

Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
d’oct. 22
2874
0
de març 15
3168
2
de juny 22
11906
1
de maig 22
2207
2
de març 15
7218