diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-17 18:50:52 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-17 18:50:52 +0200 |
commit | fdafbb6485dc4622f0636d1525d0fdb16e4d12cb (patch) | |
tree | 4ee250c2becd737eb1db4dfe5f384f3d0ca6588a | |
parent | 80aa774cce9b531feb60a01e40709fb4fe0252a7 (diff) | |
download | Chimère-fdafbb6485dc4622f0636d1525d0fdb16e4d12cb.tar.bz2 Chimère-fdafbb6485dc4622f0636d1525d0fdb16e4d12cb.zip |
Fix admin form for files
-rw-r--r-- | chimere/forms.py | 12 | ||||
-rw-r--r-- | chimere/models.py | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index cd75ec4..02dbf53 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -40,7 +40,7 @@ if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None): from chimere.models import Marker, Route, PropertyModel, Area,\ News, Category, RouteFile, MultimediaFile, MultimediaType, \ PictureFile, Importer, PropertyModelChoice, Page, IMPORTER_CHOICES, \ - get_areas_for_user, SubCategoryUserLimit, Polygon + get_areas_for_user, SubCategoryUserLimit, Polygon, SubCategory from chimere.widgets import AreaField, PointFormField, TextareaWidget, \ FullTextareaWidget, DatePickerWidget, ButtonSelectWidget, NominatimWidget,\ TextareaAdminWidget, ImportFiltrWidget, ImporterChoicesWidget, RE_XAPI @@ -481,7 +481,7 @@ class RouteAdminForm(forms.ModelForm): name = forms.CharField(label=_("Name"), required=True) read_from_file = forms.BooleanField( label=_("Read geometry from the file"), required=False) - categories = forms.ChoiceField(choices=[], widget=forms.Select) + categories = forms.MultipleChoiceField(choices=[], widget=forms.Select) description = forms.CharField(widget=TextareaWidget, required=False) class Meta: @@ -518,7 +518,13 @@ class RouteAdminForm(forms.ModelForm): keys['initial'] = property_dct subcategories = keys.pop('subcategories') \ if 'subcategories' in keys else [] + if not subcategories: + subcategories = [ + (c.id, str(c)) for c in SubCategory.objects.filter( + item_type__in=["R", "B"]).all() + ] super(RouteAdminForm, self).__init__(*args, **keys) + self.fields["categories"].choices = subcategories if self.is_admin: self.fields['route'].required = False self.fields['categories'].widget = forms.SelectMultiple( @@ -539,8 +545,6 @@ class RouteAdminForm(forms.ModelForm): k in pms: continue self.fields.pop(k) - self.fields['categories'].widget.choices = \ - [('', _(u"Select"))] + self.fields['categories'].widget.choices def clean(self): if self.cleaned_data.get('read_from_file', None) and \ diff --git a/chimere/models.py b/chimere/models.py index a46d9b1..2f8f792 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -1816,7 +1816,8 @@ class RouteFile(models.Model): if not self.simplified_file: return - file_name = settings.MEDIA_ROOT + self.simplified_file.name + #file_name = settings.MEDIA_ROOT + self.simplified_file.name + file_name = self.simplified_file.name tree = etree.parse(file_name) pts = [] for pt in tree.getiterator(): |