Skip to Content
Menu
This question has been flagged
2 Replies
14273 Zobrazenia

Hi i need to make module can go through all employee in employee module and create leave allocation record fro each of those employee by making scheduled action 

make the python as below  could any one explain from me how to do that or direct me to any references can help 


many thanks 

# -*- coding: utf-8 -*-
from odoo import models, fields, api
#Import logger
import logging
#Get the logger
_logger = logging.getLogger(__name__)

#External import
import datetime

class scheduler_demo(models.Model):
_name = 'scheduler.demo'

def _daily_leaves(self):


vications = self.env['hr.employee'].search([])
emp=vications.mapped('emplyee_id')
for em in emp:
vd = 20
leave = self.env['hr.holidays'].create({
'employee_id': em,
'holiday_status_id': '1',
'type': 'add',
'holiday_type': 'employee',
'number_of_days_temp': vd
})
leave.action_approve()
if leave.double_validation:
leave.action_validate()


Avatar
Zrušiť
Best Answer

Hi Bassam,

Seems you query is not so clear. But looking to your code.

1. vications = self.env['hr.employee'].search([]), This search will give you all employees objects like hr.employee(1,2,3) etc.

2. emp=vications.mapped('emplyee_id'),  There is no employee_id field, though you already got done search for all employee using above code, so this statement really not needed.

3.lopping  from emp instead use for emp in self.env['hr.employee'].search([]):

Thanks



Avatar
Zrušiť
Autor Best Answer

contract module does have employee_id field i changed the code 


vications = self.env['hr.contract'].search([])
emp=vications('emplyee_id')
for em in emp:
vd = 20
leave = self.env['hr.holidays'].create({
'employee_id': em,
'holiday_status_id': '1',
'type': 'add',
'holiday_type': 'employee',
'number_of_days_temp': vd
})
leave.action_approve()
if leave.double_validation:
leave.action_validate()

get this error TypeError: 'hr.contract' object is not callable
Avatar
Zrušiť
Related Posts Replies Zobrazenia Aktivita
2
feb 23
12220
1
mar 25
520
1
jún 18
7197
1
sep 21
17913
2
mar 24
1229