diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-30 17:48:23 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-30 17:49:36 +0100 |
commit | ae157646c5be0112f0ab92eb623b3162a9ed08a9 (patch) | |
tree | bf22c40dac082d0f9c752fc0792efe731591f713 /chimere/forms.py | |
parent | a4ed744071a475926e620b605d0c6cece19e7143 (diff) | |
download | Chimère-ae157646c5be0112f0ab92eb623b3162a9ed08a9.tar.bz2 Chimère-ae157646c5be0112f0ab92eb623b3162a9ed08a9.zip |
Propose form: Filter keywords - FIx property field ordering
Diffstat (limited to 'chimere/forms.py')
-rw-r--r-- | chimere/forms.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 6881f42..375e13b 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -20,6 +20,7 @@ """ Forms """ +import collections from django import forms from django.conf import settings @@ -266,7 +267,7 @@ class CategoryAdminForm(forms.ModelForm): def get_properties(queryset): # As we have dynamic fields, it's cleaner to make the class dynamic too - fields = {} + fields = collections.OrderedDict() for prop in queryset: key = "property_%d_%d" % (prop.order, prop.id) if prop.type == 'C': @@ -307,13 +308,15 @@ class MarkerAdminFormBase(forms.ModelForm): @classmethod def _set_cls_fields(cls): fields = get_properties( - PropertyModel.objects.filter(**cls._PROPERTY_FILTERS).all()) + 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(**self._PROPERTY_FILTERS).all()) + PropertyModel.objects.filter( + **self._PROPERTY_FILTERS).order_by('order').all()) for key in fields: self.fields[key] = fields[key] @@ -352,6 +355,8 @@ class MarkerAdminFormBase(forms.ModelForm): self.fields['end_date'].widget = DatePickerWidget() if self.is_admin: return + if 'keywords' in self.fields: + self.fields.pop("keywords") if subcategories: self.fields['categories'].choices = subcategories elif subcategories is None: |