Example #1
0
    def validate_long_slug(self):
        self._create_mpath_long_slug()

        filters = dict(long_slug=self.long_slug)
        if self.id:
            filters['id__ne'] = self.id

        exist = self.__class__.objects(**filters)
        if exist.count():
            if current_app.config.get('SMART_SLUG_ENABLED', False):
                self.slug = "{0}-{1}".format(self.slug, random.getrandbits(32))
                self._create_mpath_long_slug()
            else:
                raise db.ValidationError(
                    _l("%(slug)s slug already exists", slug=self.long_slug))
Example #2
0
 def clean(self):
     homepage = Channel.objects(is_homepage=True)
     if self.is_homepage and homepage and not self in homepage:
         raise db.ValidationError(_l("Home page already exists"))
     super(Channel, self).clean()
Example #3
0
 def clean(self):
     [cls.clean() for cls in self.classes]
     if not self.is_unique_slug(self.classes):
         raise db.ValidationError("Classroom slugs duplicated")
     if not self.is_unique_slug(self.variants):
         raise db.ValidationError("Variants slugs duplicated")