diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-30 15:54:53 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-30 15:54:53 +0100 |
commit | d32140f33cfb0c952b965c6f4605c85420cb0d88 (patch) | |
tree | 3abc0ace273364720fd395d7fed6110104057d80 | |
parent | 72bda3fe8a40a0e3f7a96e9188802fd0b30b5763 (diff) | |
download | Chimère-d32140f33cfb0c952b965c6f4605c85420cb0d88.tar.bz2 Chimère-d32140f33cfb0c952b965c6f4605c85420cb0d88.zip |
Do not display categories when no category is available
-rw-r--r-- | chimere/forms.py | 10 | ||||
-rw-r--r-- | chimere/models.py | 5 | ||||
-rw-r--r-- | chimere/views.py | 2 |
3 files changed, 10 insertions, 7 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 4685144..6881f42 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -354,6 +354,8 @@ class MarkerAdminFormBase(forms.ModelForm): return if subcategories: self.fields['categories'].choices = subcategories + elif subcategories is None: + self.fields['categories'].choices = [] # auto select if there is only one category choices = list(self.fields['categories'].choices) self.fields['categories'].choices = choices @@ -378,16 +380,16 @@ class MarkerAdminFormBase(forms.ModelForm): # not a clean way to filter properties... # to do: change creation process pms = [pm.getNamedId() for pm in self.pms] - for k in self.fields.keys(): - if not k.startswith('property_') or \ - k in pms: + keys = [k for k in self.fields.keys()] + for k in keys: + if not k.startswith('property_') or k in pms: continue self.fields.pop(k) def clean(self): """ Verify that a start date is provided when an end date is set - Verify the mandatory properties (to be check manualy because it depends + Verify the mandatory properties (to be check manually because it depends on the checked categories) """ start_date = self.cleaned_data.get('start_date') diff --git a/chimere/models.py b/chimere/models.py index 30c3be0..1598f38 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -334,8 +334,8 @@ class SubCategory(models.Model): if area.subcategories.count(): sub_ids = [sub.id for sub in area.subcategories.all()] subcategories = subcategories.filter(id__in=sub_ids) - selected_cats = [subcat.pk - for subcat in area.default_subcategories.all()] + selected_cats = [ + subcat.pk for subcat in area.default_subcategories.all()] if instance: return subcategories.order_by('order') @@ -624,7 +624,6 @@ class GeographicItem(models.Model): # add read attributes for properties for pm in self.all_properties(): attr_name = pm.getAttrName() - print(attr_name) if not hasattr(self, attr_name): val = '' property = self.getProperty(pm) diff --git a/chimere/views.py b/chimere/views.py index 409f2ab..84e5e03 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -263,6 +263,8 @@ def get_edit_page(redirect_url, item_cls, item_form, listed_subcats.append( (str(cat), [(subcat.pk, subcat.name) for subcat in subcats])) + else: + listed_subcats = None # if an item_id is provided: modification init_item, ref_item = None, None if item_id: |