def clean_default_service(self): """Clean the default_service field. Raises: django.core.exceptions.ValidationError: Raised if an unknown service or disabled service is set to be the default. """ enabled_services = set(self.cleaned_data['enabled_services']) service_id = self.cleaned_data['default_service'] if service_id == 'none': default_service = None else: if not avatar_services.has_service(service_id): raise ValidationError('Unknown service "%s".' % service_id) elif service_id not in enabled_services: raise ValidationError('Cannot set disabled service "%s" to ' 'default.' % service_id) default_service = avatar_services.get('avatar_service_id', service_id) return default_service
def clean(self): """Clean and validate the form. This will clean the form, handling any fields that need cleaned that depend on the cleaned data of other fields. Raises: django.core.exceptions.ValidationError: Raised if an unknown service or disabled service is set to be the default. """ cleaned_data = super(AvatarServicesForm, self).clean() enabled_services = set(cleaned_data['enabled_services']) service_id = cleaned_data['default_service'] if service_id == 'none': default_service = None else: if not avatar_services.has_service(service_id): raise ValidationError( ugettext('"%s" is not an available avatar service.') % service_id) elif service_id not in enabled_services: raise ValidationError( ugettext('The "%s" avatar service is disabled and cannot ' 'be set.') % service_id) default_service = avatar_services.get('avatar_service_id', service_id) cleaned_data['default_service'] = default_service return cleaned_data
def clean_enabled_services(self): """Clean the enabled_services field. Raises: django.core.exceptions.ValidationError: Raised if an unknown service is attempted to be enabled. """ for service_id in self.cleaned_data['enabled_services']: if not avatar_services.has_service(service_id): raise ValidationError('Unknown service "%s"' % service_id) return self.cleaned_data['enabled_services']
def clean_enabled_services(self): """Clean and validate the enabled_services field. Raises: django.core.exceptions.ValidationError: Raised if an unknown service is attempted to be enabled. """ for service_id in self.cleaned_data['enabled_services']: if not avatar_services.has_service(service_id): raise ValidationError( ugettext('"%s" is not an available avatar service.') % service_id) return self.cleaned_data['enabled_services']