Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 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()
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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