summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-07-23 11:13:35 +0000
committeretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-07-23 11:13:35 +0000
commit6788cb26c51bf446b5b8883b0fc5e0965784427f (patch)
tree52647734ba26ad65fea57f8fa855ce20813b47af
parentec145c338abd3e783a2eaa3937f2c6b11a43e0f0 (diff)
downloadChimère-6788cb26c51bf446b5b8883b0fc5e0965784427f.tar.bz2
Chimère-6788cb26c51bf446b5b8883b0fc5e0965784427f.zip
Change on filter restrictions
git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@84 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864
-rw-r--r--chimere/main/models.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py
index 5c4151c..4ef4c0d 100644
--- a/chimere/main/models.py
+++ b/chimere/main/models.py
@@ -163,8 +163,12 @@ class SubCategory(models.Model):
subcategories = subcategories.filter(item_type__in=item_types)
if area_name:
area = Area.objects.get(urn=area_name)
+ # if there some restrictions with categories limit them
if area.subcategories.count():
sub_ids = [sub.id for sub in area.subcategories.all()]
+ # if no area is defined for a category don't filter it
+ sub_ids += [sub.id for sub in subcategories
+ if not sub.areas.count()]
subcategories = subcategories.filter(id__in=sub_ids)
for sub_category in subcategories:
if sub_category.category not in sub_categories: