summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit318bfc901e262a8d35323f42eb71b364497dc27c (patch)
treedfe191706eb7c45afed8564cbe628f735463c915
parent6429458e32429a36234bb30ccdd2e5b2b058128b (diff)
downloadChimère-318bfc901e262a8d35323f42eb71b364497dc27c.tar.bz2
Chimère-318bfc901e262a8d35323f42eb71b364497dc27c.zip
Fix unrelevant required field for properties (refs #3996)
-rw-r--r--chimere/forms.py24
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(