X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/3f6f55a25872c1d1465f7bdb59e8a766da9c51cc..0a8139aee3334b3fe07bada2ab18f69a84b33d28:/events/models.py?ds=sidebyside diff --git a/events/models.py b/events/models.py index 9c216af..aa36591 100644 --- a/events/models.py +++ b/events/models.py @@ -2,9 +2,11 @@ # 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 migdal.helpers import add_translatable +from django.utils.translation import ugettext_lazy as _, ugettext +from fnpdjango.utils.models.translation import add_translatable class Event(models.Model): @@ -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), })