mirror of
https://github.com/ae-utbm/sith.git
synced 2026-03-13 23:25:00 +00:00
feat: custom through model for Counter.sellers
This commit is contained in:
@@ -551,7 +551,11 @@ class Counter(models.Model):
|
||||
choices=[("BAR", _("Bar")), ("OFFICE", _("Office")), ("EBOUTIC", _("Eboutic"))],
|
||||
)
|
||||
sellers = models.ManyToManyField(
|
||||
User, verbose_name=_("sellers"), related_name="counters", blank=True
|
||||
User,
|
||||
verbose_name=_("sellers"),
|
||||
related_name="counters",
|
||||
blank=True,
|
||||
through="CounterSellers",
|
||||
)
|
||||
edit_groups = models.ManyToManyField(
|
||||
Group, related_name="editable_counters", blank=True
|
||||
@@ -743,6 +747,23 @@ class Counter(models.Model):
|
||||
]
|
||||
|
||||
|
||||
class CounterSellers(models.Model):
|
||||
counter = models.ForeignKey(Counter, on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("counter seller")
|
||||
constraints = [
|
||||
models.UniqueConstraint(
|
||||
fields=["counter", "user"],
|
||||
name="counter_counter_sellers_counter_id_subscriber_id_key",
|
||||
)
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return f"counter {self.counter_id} - user {self.user_id}"
|
||||
|
||||
|
||||
class RefillingQuerySet(models.QuerySet):
|
||||
def annotate_total(self) -> Self:
|
||||
"""Annotate the Queryset with the total amount.
|
||||
|
||||
Reference in New Issue
Block a user