LIL-430. Add validator to Course deferred_start_at field

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 03ee4f8dbc
commit b33b415c9f
  1. 19
      apps/course/migrations/0036_auto_20180426_1256.py
  2. 10
      apps/course/models.py

@ -0,0 +1,19 @@
# Generated by Django 2.0.4 on 2018-04-26 09:56
import apps.course.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course', '0035_comment_deactivated_at'),
]
operations = [
migrations.AlterField(
model_name='course',
name='deferred_start_at',
field=models.DateTimeField(blank=True, help_text='Заполнить если курс отложенный', null=True, validators=[apps.course.models.deferred_start_at_validator], verbose_name='Отложенный запуск курса'),
),
]

@ -3,6 +3,7 @@ from uuid import uuid4
from django.db import models
from django.utils import timezone
from django.utils.text import slugify
from django.utils.timezone import now
from django.contrib.auth import get_user_model
from django.urls import reverse_lazy
from polymorphic_tree.models import PolymorphicMPTTModel, PolymorphicTreeForeignKey
@ -27,6 +28,13 @@ def default_slug():
return str(uuid4())
def deferred_start_at_validator(value):
if value < now():
raise ValidationError(
'Дата и время начала курса не может быть меньше текущих.',
)
class Course(BaseModel, DeactivatedMixin):
DRAFT = 0
PENDING = 1
@ -66,7 +74,7 @@ class Course(BaseModel, DeactivatedMixin):
is_infinite = models.BooleanField(default=False)
deferred_start_at = models.DateTimeField(
'Отложенный запуск курса', help_text='Заполнить если курс отложенный',
null=True, blank=True
null=True, blank=True, validators=[deferred_start_at_validator],
)
category = models.ForeignKey('Category', null=True, blank=True, on_delete=models.PROTECT)
duration = models.IntegerField('Продолжительность курса', default=0)

Loading…
Cancel
Save