from typing import re from odoo import api, fields, models, _ from datetime import date, datetime, timedelta from odoo.exceptions import UserError, ValidationError class HrRecruitment(models.Model): _inherit = "hr.applicant" source_ids = fields.Selection([('referral', 'Referral'), ('naukri', 'Naukri'), ('job portal', 'Job Portal')], string="Source From") current_city_ids = fields.Char(string="Current City") preferred_city_ids = fields.Char(string="Preferred City") current_CTC = fields.Float(string='Current CTC', group_operator="avg", help="Current Salary of the Applicant") offer_in_hand = fields.Selection([('yes', 'Yes'), ('no', 'No')], string="Offer in Hand") official_notice_period = fields.Integer(string="Official Notice Period(in days)") how_soon_can_be_joined = fields.Integer(string="How soon can be joined(in days)") last_working_day = fields.Date(string="Last Working Day") current_organization = fields.Text(string="Current Organization") total_experience = fields.Char(string='Total Experience', help="Enter the total experience in the format 'X Years Y Months'") relevant_experience = fields.Char(string="Relevant Experience") recruiter_name = fields.Many2one("hr.employee", string="Recruiter name") attachment_ids = fields.One2many('ir.attachment', 'res_id', string="Attachment") user_id = fields.Many2one('res.users', string='User', default=lambda self: self.env.user.id) # @api.model # def create(self, vals): # res = super(HrRecruitment, self).create(vals) # res._send_interview_invitation() # return res # # def write(self, vals): # res = super(HrRecruitment, self).write(vals) # if 'stage_id' in vals and vals['stage_id']: # self._send_interview_invitation() # return res # # def _send_interview_invitation(self): # interview_stage = self.env.ref( # 'hr_recruitment.hr_recruitment_stage_form') # for applicant in self: # if applicant.stage_id == interview_stage: # template = self.env.ref('hrms_recruitment.interview_invitation_meeting') # if template: # template.send_mail(applicant.id, force_send=True) def action_open_mail_wizard(self): return { 'name': _('Send Mail'), 'type': 'ir.actions.act_window', 'res_model': 'hr.applicant.mail.wizard', 'view_mode': 'form', 'target': 'new', 'context': { 'default_applicant_id': self.id, }, }