summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py11
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):