import pandas as pd from collections import defaultdict from datetime import timedelta, datetime, date from dateutil.relativedelta import relativedelta from odoo import api, fields, models, _ from odoo.http import request from odoo.tools import float_utils from odoo.tools import format_duration from pytz import utc class HrEmployee(models.Model): """ Inherit hr_employee to add birthday field and custom methods. """ _inherit = 'hr.employee' def attendance_manual(self): """Create and update an attendance for the user employee""" employee = request.env['hr.employee'].sudo().browse( self.env.user.employee_id.id) employee.sudo()._attendance_action_change({ 'city': request.geoip.city.name or _('Unknown'), 'country_name': request.geoip.country.name or request.geoip.continent.name or _('Unknown'), 'latitude': request.geoip.location.latitude or False, 'longitude': request.geoip.location.longitude or False, 'ip_address': request.geoip.ip, 'browser': request.httprequest.user_agent.browser, 'mode': 'kiosk' }) return employee @api.model def get_user_employee_details(self): uid = request.session.uid self.env["hr.employee"].sudo().search([("user_id", "=", uid)])._compute_experience() """To fetch the details of employee""" return self.env["hr.employee"].sudo().search_read( [("user_id", "=", uid)], [ 'name', 'image_1920', 'job_id', 'employee_id', 'current_company_exp', 'doj', 'birthday', 'mobile_phone', 'work_email', 'private_street', 'attendance_state', 'id', 'department_id' ])