diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-01-03 17:49:29 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-01-03 17:49:29 -0300 |
commit | c2e34e7e4de944f8e65dbeaa1d7f33be22792f8e (patch) | |
tree | 31f5dd36ab233a6d6cf088c63a1dfa38ff83909a | |
parent | 8fdedb34d6d6a0d3c3fde084eff7d55ece16e670 (diff) | |
download | askbot-c2e34e7e4de944f8e65dbeaa1d7f33be22792f8e.tar.gz askbot-c2e34e7e4de944f8e65dbeaa1d7f33be22792f8e.tar.bz2 askbot-c2e34e7e4de944f8e65dbeaa1d7f33be22792f8e.zip |
allowed disabling gravatar
-rw-r--r-- | askbot/conf/settings_wrapper.py | 1 | ||||
-rw-r--r-- | askbot/conf/user_settings.py | 31 | ||||
-rw-r--r-- | askbot/doc/source/changelog.rst | 1 | ||||
-rw-r--r-- | askbot/models/__init__.py | 16 |
4 files changed, 46 insertions, 3 deletions
diff --git a/askbot/conf/settings_wrapper.py b/askbot/conf/settings_wrapper.py index 9405ff09..78d16397 100644 --- a/askbot/conf/settings_wrapper.py +++ b/askbot/conf/settings_wrapper.py @@ -60,6 +60,7 @@ class ConfigSettings(object): def update(self, key, value): setting = config_get(self.__group_map[key], key) setting.update(value) + #self.prime_cache() def register(self, value): """registers the setting diff --git a/askbot/conf/user_settings.py b/askbot/conf/user_settings.py index 1fdfb42f..cec13083 100644 --- a/askbot/conf/user_settings.py +++ b/askbot/conf/user_settings.py @@ -4,6 +4,8 @@ User policy settings from askbot.conf.settings_wrapper import settings from askbot.conf.super_groups import LOGIN_USERS_COMMUNICATION from askbot.deps import livesettings +from django.conf import settings as django_settings +from askbot.skins import utils as skin_utils from django.utils.translation import ugettext as _ from askbot import const @@ -51,6 +53,35 @@ settings.register( ) settings.register( + livesettings.ImageValue( + USER_SETTINGS, + 'DEFAULT_AVATAR_URL', + description = _('Default avatar for users'), + help_text = _( + 'To change the avatar image, select new file, ' + 'then submit this whole form.' + ), + upload_directory = django_settings.ASKBOT_FILE_UPLOAD_DIR, + upload_url = '/' + django_settings.ASKBOT_UPLOADED_FILES_URL, + default = '/images/nophoto.png', + url_resolver = skin_utils.get_media_url + ) +) + +settings.register( + livesettings.BooleanValue( + USER_SETTINGS, + 'ENABLE_GRAVATAR', + default = True, + description = _('Use automatic avatars from gravatar.com'), + help_text=_( + 'Check this option if you want to allow the use of gravatar.com for avatars. Please, note that this feature might take about 10 minutes to become 100% effective. You will have to enable uploaded avatars as well. For more information, please visit <a href="http://askbot.org/doc/optional-modules.html#uploaded-avatars">this page</a>.' + ) + ) +) + + +settings.register( livesettings.StringValue( USER_SETTINGS, 'GRAVATAR_TYPE', diff --git a/askbot/doc/source/changelog.rst b/askbot/doc/source/changelog.rst index 7ef46ffe..496ac21e 100644 --- a/askbot/doc/source/changelog.rst +++ b/askbot/doc/source/changelog.rst @@ -13,6 +13,7 @@ Development version (not released yet) * made setting `ASKBOT_FILE_UPLOAD_DIR` work (Radim Řehůřek) * added minimal length of question title ond body text to live settings and allowed body-less questions (Radim Řehůřek, Evgeny) +* allowed disabling use of gravatar site-wide (Rosandra Cuello Suñol) 0.7.36 (Dec 20, 2011) --------------------- diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 0ba2e4c7..f851d3f9 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -22,6 +22,7 @@ import askbot from askbot import exceptions as askbot_exceptions from askbot import const from askbot.conf import settings as askbot_settings +from askbot.skins import utils as skin_utils from askbot.models.question import Question from askbot.models.question import QuestionView, AnonymousQuestion from askbot.models.question import FavoriteQuestion @@ -121,6 +122,11 @@ def user_get_gravatar_url(self, size): 'size': size, } +def user_get_default_avatar_url(self, size): + """returns default avatar url + """ + return skin_utils.get_media_url(askbot_settings.DEFAULT_AVATAR_URL) + def user_get_avatar_url(self, size): """returns avatar url - by default - gravatar, but if application django-avatar is installed @@ -129,10 +135,10 @@ def user_get_avatar_url(self, size): if 'avatar' in django_settings.INSTALLED_APPS: if self.avatar_type == 'n': import avatar - if avatar.settings.AVATAR_GRAVATAR_BACKUP: + if askbot_settings.ENABLE_GRAVATAR: #avatar.settings.AVATAR_GRAVATAR_BACKUP: return self.get_gravatar_url(size) else: - return avatar.utils.get_default_avatar_url() + return self.get_default_avatar_url(size) elif self.avatar_type == 'a': kwargs = {'user_id': self.id, 'size': size} try: @@ -146,7 +152,10 @@ def user_get_avatar_url(self, size): else: return self.get_gravatar_url(size) else: - return self.get_gravatar_url(size) + if askbot_settings.ENABLE_GRAVATAR: + return self.get_gravatar_url(size) + else: + return self.get_default_avatar_url(size) def user_update_avatar_type(self): """counts number of custom avatars @@ -2115,6 +2124,7 @@ User.add_to_class( ) User.add_to_class('get_absolute_url', user_get_absolute_url) User.add_to_class('get_avatar_url', user_get_avatar_url) +User.add_to_class('get_default_avatar_url', user_get_default_avatar_url) User.add_to_class('get_gravatar_url', user_get_gravatar_url) User.add_to_class('get_anonymous_name', user_get_anonymous_name) User.add_to_class('update_avatar_type', user_update_avatar_type) |