summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-05-26 17:24:35 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-05-26 17:24:35 +0200
commit1af69d67f354b62cafdd49b9b4d4453c6b5354b1 (patch)
tree348340661a466900161376d81300eb0500848102 /chimere/views.py
parent58c181b8792466834512c85f8f19b8daf1d79c2d (diff)
downloadChimère-1af69d67f354b62cafdd49b9b4d4453c6b5354b1.tar.bz2
Chimère-1af69d67f354b62cafdd49b9b4d4453c6b5354b1.zip
Forms: do not choose between categories if only one is available
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 8c2c52c..9281e8d 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -344,10 +344,9 @@ def edit(request, area_name="", item_id=None, submited=False):
item_id, init_item, response_dct, form, formset_multi, formset_picture = \
values
# get the "manualy" declared_fields. Ie: properties
- declared_fields = form.declared_fields.keys()
- declared_fields = PropertyModel.objects.filter(available=True).all()
- filtered_properties = PropertyModel.objects.filter(
- available=True, subcategories__id__isnull=False).all()
+ declared_fields = PropertyModel.getAvailable(area_name=area_name)
+ filtered_properties = declared_fields.filter(
+ subcategories__id__isnull=False).all()
point_value = init_item.point if init_item else None
if request.POST and request.POST.get('point'):
point_value = request.POST.get('point')
@@ -495,14 +494,16 @@ def editPolygon(request, area_name="", item_id=None, submited=False):
Polygon edition page
"""
response, values, sub_categories = get_edit_polygon(request, area_name,
- item_id, ['R', 'B'])
+ item_id, ['P'])
if response:
return response
item_id, init_item, response_dct, form, formset_multi, formset_picture = \
values
# get the "manualy" declared_fields. Ie: properties
- declared_fields = form.declared_fields.keys()
+ declared_fields = PropertyModel.getAvailable(area_name=area_name)
+ filtered_properties = declared_fields.filter(
+ subcategories__id__isnull=False).all()
polygon_value = init_item.polygon if init_item else None
if request.POST and request.POST.get('polygon'):
polygon_value = request.POST.get('polygon')
@@ -520,6 +521,7 @@ def editPolygon(request, area_name="", item_id=None, submited=False):
'polygon_widget': PolygonChooserWidget().render(
'polygon', polygon_value, area_name=response_dct['area_name'],),
'properties': declared_fields,
+ 'filtered_properties': filtered_properties,
'submited': submited
})
# manualy populate the custom widget