Files
rma/rma/models/rma_team.py
2024-05-03 13:08:23 +02:00

65 lines
1.9 KiB
Python

# Copyright 2020 Tecnativa - Ernesto Tejeda
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
import ast
from odoo import _, fields, models
class RmaTeam(models.Model):
_name = "rma.team"
_inherit = ["mail.alias.mixin", "mail.thread"]
_description = "RMA Team"
_order = "sequence, name"
sequence = fields.Integer()
name = fields.Char(
required=True,
translate=True,
)
active = fields.Boolean(
default=True,
help="If the active field is set to false, it will allow you "
"to hide the RMA Team without removing it.",
)
company_id = fields.Many2one(
comodel_name="res.company",
string="Company",
default=lambda self: self.env.company,
)
user_id = fields.Many2one(
comodel_name="res.users",
string="Team Leader",
domain=[("share", "=", False)],
default=lambda self: self.env.user,
)
member_ids = fields.One2many(
comodel_name="res.users",
inverse_name="rma_team_id",
string="Team Members",
)
def copy(self, default=None):
self.ensure_one()
if default is None:
default = {}
if not default.get("name"):
default["name"] = _("%s (copy)") % self.name
team = super().copy(default)
for follower in self.message_follower_ids:
team.message_subscribe(
partner_ids=follower.partner_id.ids,
subtype_ids=follower.subtype_ids.ids,
)
return team
def _alias_get_creation_values(self):
values = super()._alias_get_creation_values()
values["alias_model_id"] = self.env.ref("rma.model_rma").id
if self.id:
values["alias_defaults"] = defaults = ast.literal_eval(
self.alias_defaults or "{}"
)
defaults["team_id"] = self.id
return values