summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitfdafbb6485dc4622f0636d1525d0fdb16e4d12cb (patch)
tree4ee250c2becd737eb1db4dfe5f384f3d0ca6588a
parent80aa774cce9b531feb60a01e40709fb4fe0252a7 (diff)
downloadChimère-fdafbb6485dc4622f0636d1525d0fdb16e4d12cb.tar.bz2
Chimère-fdafbb6485dc4622f0636d1525d0fdb16e4d12cb.zip
Fix admin form for files
-rw-r--r--chimere/forms.py12
-rw-r--r--chimere/models.py3
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():