beaconmeasurement quest backened implementation

This commit is contained in:
Laura Klünder 2024-12-27 19:21:39 +01:00
parent 87b7f00740
commit fd291858dd
3 changed files with 61 additions and 9 deletions

View file

@ -309,13 +309,6 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
_('Can not add redirecting slug “%s”: it is already used elsewhere.') % slug
)
def clean_data(self):
data = self.cleaned_data['data']
if not data.wifi:
raise ValidationError(_('WiFi scan data is missing.'))
data.wifi = [[item for item in scan if item.ssid] for scan in data.wifi]
return data
def clean(self):
if self.is_json:
for name, field in self.missing_fields:
@ -325,6 +318,15 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
if not self.cleaned_data.get('geometry'):
raise ValidationError('Missing geometry.')
data = self.cleaned_data['data']
if self.cleaned_data['fill_quest']:
if self.cleaned_data['data'].wifi:
raise ValidationError(_('Why is there WiFi scan data if this is a fill quest?'))
else:
if not self.cleaned_data['data'].wifi:
raise ValidationError(_('WiFi scan data is missing.'))
self.cleaned_data['data'].wifi = [[item for item in scan if item.ssid] for scan in data.wifi]
super().clean()
def _save_m2m(self):