# Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import fields, models, api class SpreadsheetContributor(models.Model): _name = 'spreadsheet.contributor' _description = "Spreadsheet Contributor" _rec_name = 'user_id' document_id = fields.Many2one("documents.document") user_id = fields.Many2one("res.users") last_update_date = fields.Datetime("Last update date", default=fields.Datetime.now) _spreadsheet_user_unique = models.Constraint( 'unique (document_id, user_id)', "A combination of the spreadsheet and the user already exist", ) @api.model def _update(self, user, document): record = self.search( [("user_id", "=", user.id), ("document_id", "=", document.id)] ) if record: record.write({"last_update_date": fields.Datetime.now()}) else: self.create( { "document_id": document.id, "user_id": user.id, } )