X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/b4ededb44a47569b05671f08e95a2fe595732fd4..9b6d232f7a8bc0ed1f9b090c06c8438db14e8179:/events/models.py?ds=sidebyside diff --git a/events/models.py b/events/models.py index 9c216af..e20ae53 100644 --- a/events/models.py +++ b/events/models.py @@ -2,8 +2,10 @@ # This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # +from django.conf import settings +from django.core.exceptions import ValidationError from django.db import models -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext_lazy as _, ugettext from migdal.helpers import add_translatable @@ -19,9 +21,18 @@ class Event(models.Model): def __unicode__(self): return self.title + def clean(self): + for lc, ln in settings.LANGUAGES: + if (getattr(self, "published_%s" % lc) and + not getattr(self, "title_%s" % lc)): + raise ValidationError( + ugettext("Published event should have a title in relevant language (%s).") % lc) + add_translatable(Event, { - 'title': models.CharField(_('title'), max_length=255), - 'organizer': models.CharField(_('organizer'), max_length=255, db_index=True), - 'place': models.CharField(_('place'), max_length=255), + 'title': models.CharField(_('title'), max_length=255, blank=True), + 'organizer': models.CharField(_('organizer'), max_length=255, + db_index=True, blank=True), + 'place': models.CharField(_('place'), max_length=255, blank=True), + 'published': models.BooleanField(_('published'), default=False), })