diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/chimere/models.py b/chimere/models.py index 8446a68..59c836d 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -183,6 +183,7 @@ class Category(models.Model): """Category of Point Of Interest (POI) """ name = models.CharField(_(u"Name"), max_length=150) + slug = models.SlugField() available = models.BooleanField(_(u"Available")) order = models.IntegerField(_(u"Order")) description = models.TextField(blank=True, null=True) @@ -211,6 +212,7 @@ class SubCategory(models.Model): category = models.ForeignKey(Category, verbose_name=_(u"Category"), related_name='subcategories') name = models.CharField(_(u"Name"), max_length=150) + slug = models.SlugField() available = models.BooleanField(_(u"Available"), default=True) submission = models.BooleanField(_(u"Available for submission"), default=True) @@ -1524,8 +1526,10 @@ def map_post_save(sender, **kwargs): old_perm = Permission.objects.filter(codename=oldmnemo) if old_perm.count(): perm = old_perm.all()[0] - perm.codename = 'change_map_' + map.urn - perm.save() + codename = 'change_map_' + map.urn + if not Permission.objects.filter(codename=codename).count(): + perm.codename = codename + perm.save() if not map.urn: map.urn = defaultfilters.slugify(map.name) map.save() @@ -1663,8 +1667,7 @@ class PropertyModel(models.Model): verbose_name = _("Property model") def getAttrName(self): - attr_name = defaultfilters.slugify(self.name) - attr_name = re.sub(r'-','_', attr_name) + attr_name = self.slug.replace('-', '_') return attr_name def getNamedId(self): |