BO 1.23 controlling, cron: sync customers
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
from .customer import Customer
|
||||
from .exercises import Exercises
|
||||
from .exercise_type import ExerciseType
|
||||
from .frequent_customers import FrequentCustomers
|
||||
@@ -0,0 +1,38 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
class Sport(models.Model):
|
||||
sport_id = models.AutoField(primary_key = True)
|
||||
language_code = models.CharField(max_length=2,default="hu")
|
||||
sport_name = models.CharField(max_length=100)
|
||||
|
||||
class Meta:
|
||||
db_table = 'sport_translation'
|
||||
|
||||
|
||||
class Customer(models.Model):
|
||||
customer_id = models.BigAutoField(primary_key=True)
|
||||
name = models.CharField(max_length=100, help_text='Last name', verbose_name=_("name"))
|
||||
firstname = models.CharField(max_length=100, help_text='First name', verbose_name=_("firstname"))
|
||||
email = models.CharField(max_length=100)
|
||||
sport = models.ForeignKey(Sport, on_delete=models.CASCADE)
|
||||
goal = models.CharField(max_length=20)
|
||||
fitness_level = models.CharField(max_length=20)
|
||||
date_add = models.DateField()
|
||||
synced_date = models.DateTimeField(blank=True,null=True)
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
class Meta:
|
||||
db_table = 'customer'
|
||||
verbose_name = _("Customer")
|
||||
verbose_name_plural = _("Customers")
|
||||
app_label = 'controlling'
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@@ -0,0 +1,28 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from ..models.exercises import Exercises
|
||||
|
||||
|
||||
class ExerciseType(models.Model):
|
||||
exercise_type_id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(max_length=50)
|
||||
active = models.BooleanField()
|
||||
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
@property
|
||||
def exercise_count(self):
|
||||
count = Exercises.objects.filter(exercise_type_id=self.exercise_type_id).count()
|
||||
return count
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_type'
|
||||
verbose_name = _("Frequent Exercise")
|
||||
verbose_name_plural = _("Frequent Exercises")
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
from django.db import models
|
||||
|
||||
#from ..models.exercise_type import ExerciseType
|
||||
from ..models.customer import Customer
|
||||
|
||||
|
||||
class Exercises(models.Model):
|
||||
exercise_id = models.BigAutoField(primary_key=True)
|
||||
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
|
||||
exercise_type_id = models.IntegerField()
|
||||
#exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE)
|
||||
date_add = models.DateField()
|
||||
quantity = models.DecimalField(decimal_places=0, max_digits=6)
|
||||
unit = models.CharField(max_length=20)
|
||||
unit_quantity = models.DecimalField(decimal_places=0, max_digits=6,blank=True, null=True)
|
||||
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercises'
|
||||
@@ -0,0 +1,32 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .exercises import Exercises
|
||||
|
||||
|
||||
class FrequentCustomers(models.Model):
|
||||
customer_id = models.BigAutoField(primary_key=True)
|
||||
name = models.CharField(max_length=100, help_text='Last name', verbose_name=_("name"))
|
||||
firstname = models.CharField(max_length=100, help_text='First name', verbose_name=_("firstname"))
|
||||
email = models.CharField(max_length=100)
|
||||
date_add = models.DateField()
|
||||
#exercises = models.ManyToManyField(Exercises)
|
||||
|
||||
#def exercises(self):
|
||||
# exercises = Exercises.objects.filter(customer__customer_id=self.customer_id)
|
||||
# return exercises
|
||||
|
||||
@property
|
||||
def exercise_count(self):
|
||||
count = Exercises.objects.filter(customer__customer_id=self.customer_id).count()
|
||||
return count
|
||||
|
||||
class Meta:
|
||||
db_table = 'customer'
|
||||
verbose_name = _("Frequent Customer")
|
||||
verbose_name_plural = _("Frequent Customers")
|
||||
#ordering = ['exercise_count']
|
||||
#filter(exercise_count__gt=10)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
Reference in New Issue
Block a user