|
|
|
@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _ |
|
|
|
from apps.account.models import ProfessorUser |
|
|
|
from utils.schema import default_timing |
|
|
|
from utils import generate_slug_for_model |
|
|
|
from django.core.validators import MinValueValidator, MaxValueValidator |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -95,7 +96,7 @@ class Course(models.Model): |
|
|
|
status = models.CharField(max_length=15, choices=StatusChoices.choices, default=StatusChoices.INACTIVE, verbose_name=_('Course Status')) |
|
|
|
is_free = models.BooleanField(default=True, verbose_name=_('Is Free')) |
|
|
|
price = models.DecimalField(max_digits=10, decimal_places=2, default=0.00, verbose_name=_('Course Price')) |
|
|
|
discount_percentage = models.PositiveIntegerField(default=0, verbose_name=_('Discount Percentage')) |
|
|
|
discount_percentage = models.PositiveIntegerField(default=0, validators=[MinValueValidator(0), MaxValueValidator(100)], verbose_name=_('Discount Percentage')) |
|
|
|
final_price = models.DecimalField( |
|
|
|
verbose_name=_('Course Final Price'), decimal_places=2, max_digits=10, default=0.00, blank=True, |
|
|
|
help_text=_('This field is automatically calculated based on the discount percentage.') |
|
|
|
|