Hii,
You're overriding _send_mail() and returning res, which may be an email template or dict of values, but you're not actually calling message_post, nor guaranteeing the email is sent with the right linkage to log in the chatter.
Here’s how to ensure the email appears in the chatter of the related survey.survey record:
from odoo import models
class YourModel(models.Model):
_inherit = 'your.model'
def _send_mail(self, answer):
res = super()._send_mail(answer)
survey = self.survey_id
# Prepare email values
email_values = {
'auto_delete': False,
'model': 'survey.survey',
'res_id': survey.id,
}
# If res is a mail.template:
if isinstance(res, dict):
res.update(email_values)
elif hasattr(res, 'write'):
res.write(email_values)
# Optional: Post a message to chatter manually (if not posted automatically)
survey.message_post(
body="An email was sent to the user.",
message_type="notification",
subtype_xmlid="mail.mt_note",
)
return res
i hope it is use full