From aef48f45142aad207df1181918c349ea27ca8d7c Mon Sep 17 00:00:00 2001 From: Bossanyi Tibor Date: Wed, 4 Nov 2020 07:52:41 +0100 Subject: [PATCH] Products --- .../aitrainer_backoffice/models.py | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/aitrainer_backoffice/aitrainer_backoffice/models.py b/aitrainer_backoffice/aitrainer_backoffice/models.py index 2c4bdb6..51b8b99 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models.py @@ -139,7 +139,7 @@ class ExercisePlanTranslation(models.Model): class ExercisePlanDetail(models.Model): - exercise_plan_detail_id = models.AutoField(primary_key=True) + exercise_plan_detail_id = models.AutoField(primary_key=True) exercise_plan = models.ForeignKey(ExercisePlan, on_delete=models.CASCADE) exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE) serie = models.IntegerField() @@ -149,4 +149,40 @@ class ExercisePlanDetail(models.Model): class Meta: db_table = 'exercise_plan_detail' verbose_name = _("Exercise Plan Detail") - verbose_name_plural = _("Exercise Plan Details") \ No newline at end of file + verbose_name_plural = _("Exercise Plan Details") + + +class ProductTypes(models.TextChoices): + SUBS = "subscription" + IN_APP_CURR = "in-app-currency" + + +class Product(models.Model): + product_id = models.AutoField(primary_key=True) + name = models.CharField(max_length=50) + description = models.TextField(max_length=1000, blank=True, null=True) + type = models.CharField(max_length=15, choices=ProductTypes.choices, default=ProductTypes.SUBS) + valid_from = models.DateField(blank=True, null=True) + valid_to = models.DateField(blank=True, null=True) + + class Meta: + db_table = 'product' + verbose_name = _("Product") + verbose_name_plural = _("Products") + + def __str__(self): + return self.name + + +class CustomerProduct(models.Model): + id = models.AutoField(primary_key=True) + product = models.ForeignKey(Product, on_delete=models.CASCADE) + customer_id = models.IntegerField() + date_add = models.DateField(blank=True, null=True) + purchase_sum = models.DecimalField(decimal_places=2, max_digits=7) + currency = models.CharField(max_length=3) + + class Meta: + db_table = 'customer_product' + verbose_name = _("Purchase") + verbose_name_plural = _("Purchases")