Files
Eiro/backend/api/prospect_flow/models/prospect_step.py
T

55 lines
1.5 KiB
Python

from django.db import models
from django.utils.translation import gettext_lazy as _
from api.core.models.trackable_model import TrackableModel
class ProspectStep(TrackableModel):
"""
Model representing the prospection steps for a prospect.
"""
source_template_step = models.ForeignKey(
"M2M_TemplateStep",
verbose_name=_("étape source"),
null=True,
on_delete=models.SET_NULL,
)
prospect = models.ForeignKey(
"Prospect",
verbose_name=_("prospect"),
on_delete=models.PROTECT,
)
contact_person = models.ForeignKey(
"ContactPerson",
verbose_name=_("contact"),
null=True,
blank=True,
on_delete=models.PROTECT,
)
contact_method = models.ForeignKey(
"ContactMethod",
null=True,
blank=True,
on_delete=models.PROTECT,
)
step_type = models.ForeignKey(
"StepType",
on_delete=models.PROTECT,
)
order = models.PositiveIntegerField()
notes = models.TextField(blank=True)
done = models.BooleanField(default=False)
done_datetime = models.DateTimeField(null=True, blank=True)
class Meta:
verbose_name = _("Étape de prospection du prospect")
verbose_name_plural = _("Étapes de prospection du prospect")
constraints = [
models.UniqueConstraint(
fields=["prospect", "order"],
name="uniq_prospect_step_order",
),
]
ordering = ["prospect_id", "order"]