diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-20 21:25:11 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-20 21:25:11 +0200 |
commit | 965f73970acb54cea6eff0922b173894b9f117b2 (patch) | |
tree | b46078ba8290f5f44fb543837cb9538df29d02ae | |
parent | fbcd968f8436e13050fb7eced712d8604eec5f15 (diff) | |
download | Chimère-965f73970acb54cea6eff0922b173894b9f117b2.tar.bz2 Chimère-965f73970acb54cea6eff0922b173894b9f117b2.zip |
Non available cproperties can be rendered
-rw-r--r-- | chimere/admin.py | 3 | ||||
-rw-r--r-- | chimere/models.py | 12 |
2 files changed, 10 insertions, 5 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index c3b588a..c60f4fe 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -356,8 +356,7 @@ class MarkerAdmin(admin.ModelAdmin): newfieldsets = list(fieldsets) if self.has_properties: main_fields = newfieldsets[0][1]['fields'] - for pm in PropertyModel.objects.filter(available=True)\ - .order_by('order').all(): + for pm in PropertyModel.objects.order_by('order').all(): pm_name = pm.getNamedId() if pm_name not in main_fields: main_fields.append(pm_name) diff --git a/chimere/models.py b/chimere/models.py index 1b6ff06..452fc63 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -715,11 +715,17 @@ class GeographicItem(models.Model): return return property - def getProperties(self, area_name=None): + def getProperties(self, area_name=None, available=True): """Get all the property availables """ properties = [] - querys = PropertyModel.getAvailable(area_name=area_name) + if not available: + if area_name.endswith('/'): + area_name = area_name[:-1] + querys = [PropertyModel.objects.filter( + Q(areas=None) | Q(areas__urn=area_name))] + else: + querys = PropertyModel.getAvailable(area_name=area_name) for query in querys: for pm in query.all(): property = self.getProperty(pm) @@ -732,7 +738,7 @@ class GeographicItem(models.Model): Decorate the object with properties has attributes :return: """ - for proprty in self.getProperties(area_name=area_name): + for proprty in self.getProperties(area_name=area_name, available=False): setattr(self, proprty.propertymodel.slug.replace('-', '_'), str(proprty)) |