Browse Source

discount percentage validation added

master
Mohsen Taba 2 weeks ago
parent
commit
391e33e8c3
  1. 19
      apps/course/migrations/0005_alter_course_discount_percentage.py
  2. 3
      apps/course/models/course.py

19
apps/course/migrations/0005_alter_course_discount_percentage.py

@ -0,0 +1,19 @@
# Generated by Django 5.2.12 on 2026-05-04 09:11
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course', '0004_alter_lessoncompletion_options_and_more'),
]
operations = [
migrations.AlterField(
model_name='course',
name='discount_percentage',
field=models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='Discount Percentage'),
),
]

3
apps/course/models/course.py

@ -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.')

Loading…
Cancel
Save