Exemple #1
0
 def trim(self, value):
     value = slugify(u'%s'%value, rtx = self.rtxchar)
     if self.lower:
         value = value.lower()
     elif self.upper:
         value = value.upper()
     return value
Exemple #2
0
 def save(self, **kwargs):
     '''
     In this case implicit is better than explicit. Django is changing in this function
     '''
     model = self.__class__
     slug = self.slug
     if not slug:
         slug = slugify(self.name)
     self.slug = model.objects.unique_slug(self.id, slug.lower())
     super(SlugBase,self).save(**kwargs)
Exemple #3
0
 def clean_url_pattern(self):
     '''
     Check for url patterns
         No need if:
             1 - it is the root page
             2 - oit is an application page
         Otherwise it is required
     '''
     data     = self.data
     value    = data.get('url_pattern',None)
     if value:
         value = slugify(force_str(value))
     if data.get('application_view',None):
         return value
     parent = self.get_parent()
     if parent:
         if not value:
             raise forms.ValidationError('url_pattern or application view must be provided if not a root page')
         page = parent.children.filter(url_pattern = value)
         if page and page[0].id != self.instance.id:
             raise forms.ValidationError("page %s already available" % page)
     return value
Exemple #4
0
 def _makename(self, name):
     name = name or self.name
     if not name:
         name = self.__class__.__name__
     name = name.replace("-", "_").lower()
     return str(slugify(name, rtx="_"))