diff options
| 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 |
| commit | 1af69d67f354b62cafdd49b9b4d4453c6b5354b1 (patch) | |
| tree | 348340661a466900161376d81300eb0500848102 /chimere/views.py | |
| parent | 58c181b8792466834512c85f8f19b8daf1d79c2d (diff) | |
| download | Chimè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.py | 14 |
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 |
