diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-18 16:59:56 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-18 16:59:56 +0100 |
commit | 318bfc901e262a8d35323f42eb71b364497dc27c (patch) | |
tree | dfe191706eb7c45afed8564cbe628f735463c915 | |
parent | 6429458e32429a36234bb30ccdd2e5b2b058128b (diff) | |
download | Chimère-318bfc901e262a8d35323f42eb71b364497dc27c.tar.bz2 Chimère-318bfc901e262a8d35323f42eb71b364497dc27c.zip |
Fix unrelevant required field for properties (refs #3996)
-rw-r--r-- | chimere/forms.py | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 301677b..54dfd43 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -272,25 +272,27 @@ def get_properties(queryset): fields = collections.OrderedDict() for prop in queryset: key = "property_%d_%d" % (prop.order, prop.id) - required = prop.mandatory + label = prop.name + if prop.mandatory: + label += " *" if prop.type == 'C': choices = PropertyModelChoice.objects.filter(propertymodel=prop, available=True ).order_by('value') fields[key] = forms.ChoiceField( - label=prop.name, choices=[('', '--')] + + label=label, choices=[('', '--')] + [(choice.pk, str(choice)) for choice in choices], - required=required) + required=False) elif prop.type == 'A': widget = PropertyModel.TYPE_WIDGET[prop.type] widget = widget(slug=prop.slug) - fields[key] = forms.CharField(label=prop.name, widget=widget, - required=required) + fields[key] = forms.CharField(label=label, widget=widget, + required=False) else: widget = PropertyModel.TYPE_WIDGET[prop.type] fields[key] = forms.CharField( - label=prop.name, widget=widget, - required=required) + label=label, widget=widget, + required=False) return fields @@ -308,14 +310,6 @@ class MarkerAdminFormBase(forms.ModelForm): model = Marker exclude = [] - @classmethod - def _set_cls_fields(cls): - fields = get_properties( - PropertyModel.objects.filter( - **cls._PROPERTY_FILTERS).order_by('order').all()) - for key in fields: - setattr(cls, key, fields[key]) - def _set_fields(self): fields = get_properties( PropertyModel.objects.filter( |