diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-09-27 12:25:06 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-09-27 12:25:06 +0200 |
commit | ce68857ab707ec1fe744a1007c04c10fdb05e0ed (patch) | |
tree | 4f85a004df1ea888e182b9ea60320c7533a9f737 | |
parent | 07b7824f0114df453f191a94b2a30e0f9d524fc0 (diff) | |
download | Chimère-ce68857ab707ec1fe744a1007c04c10fdb05e0ed.tar.bz2 Chimère-ce68857ab707ec1fe744a1007c04c10fdb05e0ed.zip |
Admin: fix property initialization for markers and routes
-rw-r--r-- | chimere/forms.py | 21 | ||||
-rw-r--r-- | chimere/models.py | 5 |
2 files changed, 16 insertions, 10 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 63aadf9..6cc1aba 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -325,10 +325,13 @@ class MarkerAdminFormBase(forms.ModelForm): area_name = None if 'area_name' in keys: area_name = keys.pop('area_name') - querys = PropertyModel.getAvailable(area_name=area_name) self.pms = [] - for query in querys: - self.pms += [pm for pm in query.all()] + if self.is_admin: + self.pms = list(PropertyModel.objects.all()) + else: + querys = PropertyModel.getAvailable(area_name=area_name) + for query in querys: + self.pms += [pm for pm in query.all()] if 'instance' in keys and keys['instance']: instance = keys['instance'] property_dct = {} @@ -355,7 +358,7 @@ class MarkerAdminFormBase(forms.ModelForm): choices = list(self.fields['categories'].choices) self.fields['categories'].choices = choices self.fields['categories'].label = "" - if (len(choices) == 1): + if len(choices) == 1: self.fields['categories'].widget = forms.MultipleHiddenInput() choices = list(self.fields['categories'].choices) if type(choices[0][1]) in (list, tuple): @@ -488,10 +491,12 @@ class RouteAdminForm(forms.ModelForm): area_name = None if 'area_name' in keys: area_name = keys.pop('area_name') - querys = PropertyModel.getAvailable(area_name=area_name) - self.pms = [] - for query in querys: - self.pms += [pm for pm in query.all()] + if self.is_admin: + self.pms = list(PropertyModel.objects.all()) + else: + querys = PropertyModel.getAvailable(area_name=area_name) + for query in querys: + self.pms += [pm for pm in query.all()] if 'instance' in keys and keys['instance']: instance = keys['instance'] property_dct = {} diff --git a/chimere/models.py b/chimere/models.py index 539ebfa..d8bf638 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -2137,8 +2137,9 @@ class PropertyModel(models.Model): class PropertyModelChoice(models.Model): - '''Choices for property model - ''' + """ + Choices for property model + """ propertymodel = models.ForeignKey(PropertyModel, related_name='choices', verbose_name=_("Property model")) value = models.CharField(_("Value"), max_length=150) |