mail_thread.py
1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# # -*- coding: utf-8 -*-
# # Part of Odoo. See LICENSE file for full copyright and licensing details.
#
# import hashlib
# import hmac
#
# from odoo import api, fields, models, _
#
#
# class MailThread(models.AbstractModel):
# _inherit = 'mail.thread'
#
# _mail_post_token_field = 'access_token' # token field for external posts, to be overridden
#
# website_message_ids = fields.One2many('mail.message', 'res_id', string='Website Messages',
# domain=lambda self: [('model', '=', self._name), '|', ('message_type', '=', 'comment'), ('message_type', '=', 'email')], auto_join=True,
# help="Website communication history")
#
# def _sign_token(self, pid):
# """Generate a secure hash for this record with the email of the recipient with whom the record have been shared.
#
# This is used to determine who is opening the link
# to be able for the recipient to post messages on the document's portal view.
#
# :param str email:
# Email of the recipient that opened the link.
# """
# self.ensure_one()
# # check token field exists
# if self._mail_post_token_field not in self._fields:
# raise NotImplementedError(_(
# "Model %(model_name)s does not support token signature, as it does not have %(field_name)s field.",
# model_name=self._name,
# field_name=self._mail_post_token_field
# ))
# # sign token
# secret = self.env["ir.config_parameter"].sudo().get_param("database.secret")
# token = (self.env.cr.dbname, self[self._mail_post_token_field], pid)
# return hmac.new(secret.encode('utf-8'), repr(token).encode('utf-8'), hashlib.sha256).hexdigest()