mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-25 17:32:03 +02:00
34 lines
1.5 KiB
Python
34 lines
1.5 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models, _
|
|
from odoo.exceptions import UserError
|
|
|
|
|
|
class Applicant(models.Model):
|
|
_inherit = "hr.applicant"
|
|
|
|
survey_id = fields.Many2one('survey.survey', related='job_id.survey_id', string="Survey", readonly=True)
|
|
response_id = fields.Many2one('survey.user_input', "Response", ondelete="set null", copy=False)
|
|
response_state = fields.Selection(related='response_id.state', readonly=True)
|
|
|
|
def action_print_survey(self):
|
|
""" If response is available then print this response otherwise print survey form (print template of the survey) """
|
|
self.ensure_one()
|
|
return self.survey_id.action_print_survey(answer=self.response_id)
|
|
|
|
def action_send_survey(self):
|
|
self.ensure_one()
|
|
|
|
# if an applicant does not already has associated partner_id create it
|
|
if not self.partner_id:
|
|
if not self.partner_name:
|
|
raise UserError(_('You must define a Contact Name for this applicant.'))
|
|
self.partner_id = self.env['res.partner'].create({
|
|
'is_company': False,
|
|
'type': 'private',
|
|
'name': self.partner_name,
|
|
'email': self.email_from,
|
|
'phone': self.partner_phone,
|
|
'mobile': self.partner_mobile
|
|
})
|
|
return self.survey_id.with_context(default_applicant_id=self.id, default_partner_ids=self.partner_id.ids).action_send_survey()
|