Se rendre au contenu
Menu
Cette question a été signalée
2 Réponses
14837 Vues

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
Ignorer
Meilleure réponse

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
Ignorer
Auteur Meilleure réponse

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
Ignorer
Publications associées Réponses Vues Activité
2
févr. 23
12623
1
mars 25
825
1
juin 18
7538
1
sept. 21
18539
2
mars 24
1595