diff options
| -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( | 
