diff options
Diffstat (limited to 'chimere/models.py')
| -rw-r--r-- | chimere/models.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/chimere/models.py b/chimere/models.py index 19c99eb..0db9899 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -291,6 +291,10 @@ class GeographicItem(models.Model): self.import_key = new_keys self.save() + @classmethod + def properties(cls): + return [pm for pm in PropertyModel.objects.filter(available=True)] + class Marker(GeographicItem): '''Marker for a POI ''' @@ -312,8 +316,7 @@ class Marker(GeographicItem): super(Marker, self).__init__(*args, **kwargs) # add read attributes for properties for property in self.getProperties(): - attr_name = defaultfilters.slugify(property.propertymodel.name) - attr_name = re.sub(r'-','_', attr_name) + attr_name = property.propertymodel.getAttrName() if not hasattr(self, attr_name): setattr(self, attr_name, property.python_value) @@ -1049,6 +1052,11 @@ class PropertyModel(models.Model): ordering = ('order',) verbose_name = _("Property model") + def getAttrName(self): + attr_name = defaultfilters.slugify(self.name) + attr_name = re.sub(r'-','_', attr_name) + return attr_name + def getNamedId(self): '''Get the name used as named id (easily sortable) ''' |
