Minor improvements on avatar/gravatar settings.
parent
bfecc26158
commit
2e3abe60f0
|
@ -100,7 +100,7 @@ MEDIA_URL = "http://localhost:8000/media/"
|
|||
# Static url is not widelly used by taiga (only
|
||||
# if admin is activated).
|
||||
STATIC_URL = "http://localhost:8000/static/"
|
||||
ADMIN_MEDIA_PREFIX = "/static/admin/"
|
||||
ADMIN_MEDIA_PREFIX = "http://localhost:8000/static/admin/"
|
||||
|
||||
# Static configuration.
|
||||
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
|
||||
|
@ -309,8 +309,6 @@ SOUTH_MIGRATION_MODULES = {
|
|||
DEFAULT_AVATAR_SIZE = 80 # 80x80 pixels
|
||||
DEFAULT_BIG_AVATAR_SIZE = 300 # 300x300 pixels
|
||||
|
||||
DEFAULT_AVATAR_URL = 'user-noimage.png'
|
||||
|
||||
THUMBNAIL_ALIASES = {
|
||||
'': {
|
||||
'avatar': {'size': (DEFAULT_AVATAR_SIZE, DEFAULT_AVATAR_SIZE), 'crop': True},
|
||||
|
@ -318,17 +316,9 @@ THUMBNAIL_ALIASES = {
|
|||
},
|
||||
}
|
||||
|
||||
GRAVATAR_DEFAULT_OPTIONS = {
|
||||
'default': DEFAULT_AVATAR_URL, # default avatar to show if there's no gravatar image
|
||||
'size': DEFAULT_AVATAR_SIZE
|
||||
}
|
||||
|
||||
try:
|
||||
IN_DEVELOPMENT_SERVER = sys.argv[1] == 'runserver'
|
||||
except IndexError:
|
||||
IN_DEVELOPMENT_SERVER = False
|
||||
|
||||
ATTACHMENTS_TOKEN_SALT = "ATTACHMENTS_TOKEN_SALT"
|
||||
# GRAVATAR_DEFAULT_AVATAR = "img/user-noimage.png"
|
||||
GRAVATAR_DEFAULT_AVATAR = ""
|
||||
GRAVATAR_AVATAR_SIZE = DEFAULT_AVATAR_SIZE
|
||||
|
||||
TAGS_PREDEFINED_COLORS = ["#fce94f", "#edd400", "#c4a000", "#8ae234",
|
||||
"#73d216", "#4e9a06", "#d3d7cf", "#fcaf3e",
|
||||
|
@ -338,7 +328,6 @@ TAGS_PREDEFINED_COLORS = ["#fce94f", "#edd400", "#c4a000", "#8ae234",
|
|||
"#2e3436",]
|
||||
|
||||
# NOTE: DON'T INSERT MORE SETTINGS AFTER THIS LINE
|
||||
|
||||
TEST_RUNNER="django.test.runner.DiscoverRunner"
|
||||
|
||||
if "test" in sys.argv:
|
||||
|
|
|
@ -27,18 +27,21 @@ urlpatterns = [
|
|||
url(r'^admin/', include(admin.site.urls)),
|
||||
]
|
||||
|
||||
|
||||
def mediafiles_urlpatterns():
|
||||
def mediafiles_urlpatterns(prefix):
|
||||
"""
|
||||
Method for serve media files with runserver.
|
||||
"""
|
||||
import re
|
||||
from django.views.static import serve
|
||||
|
||||
return [
|
||||
url(r'^%s(?P<path>.*)$' % 'media', serve,
|
||||
url(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), serve,
|
||||
{'document_root': settings.MEDIA_ROOT})
|
||||
]
|
||||
|
||||
if settings.DEBUG:
|
||||
# Hardcoded only for development server
|
||||
urlpatterns += staticfiles_urlpatterns(prefix="/static/")
|
||||
urlpatterns += mediafiles_urlpatterns(prefix="/media/")
|
||||
|
||||
urlpatterns += staticfiles_urlpatterns(prefix="/static/")
|
||||
urlpatterns += mediafiles_urlpatterns()
|
||||
handler500 = "taiga.base.api.views.api_server_error"
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import hashlib
|
||||
import copy
|
||||
|
||||
from urllib.parse import urlencode
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -30,16 +32,22 @@ def get_gravatar_url(email: str, **options) -> str:
|
|||
:param options: Additional options to gravatar.
|
||||
- `default` defines what image url to show if no gravatar exists
|
||||
- `size` defines the size of the avatar.
|
||||
By default the `settings.GRAVATAR_DEFAULT_OPTIONS` are used.
|
||||
|
||||
:return: Gravatar url.
|
||||
"""
|
||||
defaults = settings.GRAVATAR_DEFAULT_OPTIONS.copy()
|
||||
default = defaults.get("default", None)
|
||||
if default:
|
||||
defaults["default"] = static(default)
|
||||
defaults.update(options)
|
||||
|
||||
params = copy.copy(options)
|
||||
|
||||
default_avatar = getattr(settings, "GRAVATAR_DEFAULT_AVATAR", None)
|
||||
default_size = getattr(settings, "GRAVATAR_AVATAR_SIZE", None)
|
||||
|
||||
if default_avatar:
|
||||
params["default"] = static(default)
|
||||
|
||||
if default_size:
|
||||
params["size"] = default_size
|
||||
|
||||
email_hash = hashlib.md5(email.lower().encode()).hexdigest()
|
||||
url = GRAVATAR_BASE_URL.format(email_hash, urlencode(defaults))
|
||||
url = GRAVATAR_BASE_URL.format(email_hash, urlencode(params))
|
||||
|
||||
return url
|
||||
|
|
Loading…
Reference in New Issue