bemade_sport_clinic: improve facility for deactivating team staff
This commit is contained in:
parent
c9690d46b1
commit
75e986a4a2
3 changed files with 27 additions and 2 deletions
|
|
@ -19,7 +19,9 @@ class Partner(models.Model):
|
|||
help="The teams this person works for.",
|
||||
)
|
||||
teams_served_ids = fields.One2many(
|
||||
comodel_name="sports.team", compute="_compute_teams_served"
|
||||
comodel_name="sports.team",
|
||||
compute="_compute_teams_served",
|
||||
inverse="_inverse_teams_served",
|
||||
)
|
||||
patient_ids = fields.One2many(
|
||||
comodel_name="sports.patient", inverse_name="partner_id"
|
||||
|
|
@ -36,3 +38,16 @@ class Partner(models.Model):
|
|||
def _compute_teams_served(self):
|
||||
for rec in self:
|
||||
rec.teams_served_ids = rec.team_staff_rel_ids.mapped("team_id")
|
||||
|
||||
@api.depends("team_staff_rel_ids.team_id")
|
||||
def _inverse_teams_served(self):
|
||||
for rec in self:
|
||||
for staff in rec.team_staff_rel_ids:
|
||||
if staff.team_id not in rec.teams_served_ids:
|
||||
staff.unlink()
|
||||
served_teams = rec.team_staff_rel_ids.mapped("team_id")
|
||||
for team in rec.teams_served_ids:
|
||||
if team not in served_teams:
|
||||
raise UserError(
|
||||
"To add a staff member to a team, use the team view."
|
||||
)
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ class TeamStaff(models.Model):
|
|||
domain=[("is_company", "=", False)],
|
||||
ondelete="cascade",
|
||||
)
|
||||
active = fields.Boolean(related="partner_id.active")
|
||||
role = fields.Selection(
|
||||
selection=[
|
||||
("head_coach", "Head Coach"),
|
||||
|
|
|
|||
|
|
@ -12,7 +12,16 @@
|
|||
string="Teams"/>
|
||||
<field name="teams_served_ids"
|
||||
attrs="{'invisible': [('is_company', '=', True)]}"
|
||||
string="Teams Served"/>
|
||||
string="Teams Served">
|
||||
<tree editable="bottom" create="False" delete="True">
|
||||
<field name="name"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="head_coach_id"/>
|
||||
<field name="head_therapist_id"/>
|
||||
<field name="player_count"/>
|
||||
<field name="injured_count"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</page>
|
||||
</field>
|
||||
|
|
|
|||
Loading…
Reference in a new issue