mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
65 lines
1.9 KiB
Python
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
|