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 save(self): """Save the enabled services and default service to the database.""" avatar_services.enabled_services = [ avatar_services.get('id', service_id) for service_id in self.cleaned_data['enabled_services'] ] avatar_services.default_service = self.cleaned_data['default_service'] avatar_services.avatars_enabled = self.cleaned_data['avatars_enabled'] avatar_services.save()
def save(self): """Save the enabled services and default service to the database.""" avatar_services.enabled_services = [ avatar_services.get('avatar_service_id', service_id) for service_id in self.cleaned_data['enabled_services'] ] avatar_services.set_default_service( self.cleaned_data['default_service'], save=False) avatar_services.avatars_enabled = self.cleaned_data['avatars_enabled'] avatar_services.save()
def save(self): """Save the enabled services and default service to the database.""" avatar_services.enabled_services = [ avatar_services.get('avatar_service_id', service_id) for service_id in self.cleaned_data['enabled_services'] ] avatar_services.set_default_service( self.cleaned_data['default_service'], save=False) avatars_enabled_changed = (avatar_services.avatars_enabled != self.cleaned_data['avatars_enabled']) avatar_services.avatars_enabled = self.cleaned_data['avatars_enabled'] avatar_services.save() if avatars_enabled_changed: if avatar_services.avatars_enabled: AccountPage.registry.add_form_to_page(ProfilePage, AvatarSettingsForm) else: AccountPage.registry.remove_form_from_page( ProfilePage, AvatarSettingsForm)
def save(self): """Save the enabled services and default service to the database.""" avatar_services.enabled_services = [ avatar_services.get('avatar_service_id', service_id) for service_id in self.cleaned_data['enabled_services'] ] avatar_services.set_default_service( self.cleaned_data['default_service'], save=False) avatars_enabled_changed = (avatar_services.avatars_enabled != self.cleaned_data['avatars_enabled']) avatar_services.avatars_enabled = self.cleaned_data['avatars_enabled'] avatar_services.save() if avatars_enabled_changed: if avatar_services.avatars_enabled: AccountPage.registry.add_form_to_page(ProfilePage, AvatarSettingsForm) else: AccountPage.registry.remove_form_from_page(ProfilePage, AvatarSettingsForm)