Commit d421b6c4 authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue

New upstream version 0.36.0

parent 58ab8f0a
...@@ -19,6 +19,7 @@ Andrey Balandin ...@@ -19,6 +19,7 @@ Andrey Balandin
Andrey Akolpakov Andrey Akolpakov
Andy Matthews Andy Matthews
Ani Vera Ani Vera
Antonin Delpeuch
Aron Griffis Aron Griffis
Basil Shubin Basil Shubin
Ben Timby Ben Timby
......
0.35.0 (2017-02-02) 0.36.0 (2018-05-08)
******************* *******************
Note worthy changes
-------------------
- New providers: Telegram, QuickBooks.
- The Facebook API version now defaults to v2.12.
- ORCID upgraded to use API v2.1.
Security notice
---------------
- In previous versions, the authentication backend did not invoke the
``user_can_authenticate()`` method, potentially allowing users with
``is_active=False`` to authenticate when the allauth authentication backend
was used in a non allauth context.
0.35.0 (2018-02-02)
*******************
Note worthy changes
-------------------
- Add support for Django 2.0
Security notice Security notice
--------------- ---------------
...@@ -9,6 +36,11 @@ Security notice ...@@ -9,6 +36,11 @@ Security notice
address to the hash such that whenever the user's email address changes the address to the hash such that whenever the user's email address changes the
token is invalidated. token is invalidated.
Backwards incompatible changes
------------------------------
- Drop support for Django 1.8 and Django 1.10.
Note worthy changes Note worthy changes
------------------- -------------------
......
Metadata-Version: 1.1 Metadata-Version: 1.1
Name: django-allauth Name: django-allauth
Version: 0.35.0 Version: 0.36.0
Summary: Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication. Summary: Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
Home-page: http://github.com/pennersr/django-allauth Home-page: http://github.com/pennersr/django-allauth
Author: Raymond Penners Author: Raymond Penners
Author-email: raymond.penners@intenct.nl Author-email: raymond.penners@intenct.nl
License: UNKNOWN License: UNKNOWN
Description-Content-Type: UNKNOWN
Description: ========================== Description: ==========================
Welcome to django-allauth! Welcome to django-allauth!
========================== ==========================
......
...@@ -8,7 +8,7 @@ r""" ...@@ -8,7 +8,7 @@ r"""
""" """
VERSION = (0, 35, 0, 'final', 0) VERSION = (0, 36, 0, 'final', 0)
__title__ = 'django-allauth' __title__ = 'django-allauth'
__version_info__ = VERSION __version_info__ = VERSION
......
...@@ -407,7 +407,7 @@ class DefaultAccountAdapter(object): ...@@ -407,7 +407,7 @@ class DefaultAccountAdapter(object):
def is_safe_url(self, url): def is_safe_url(self, url):
from django.utils.http import is_safe_url from django.utils.http import is_safe_url
return is_safe_url(url) return is_safe_url(url, allowed_hosts=None)
def get_email_confirmation_url(self, request, emailconfirmation): def get_email_confirmation_url(self, request, emailconfirmation):
"""Constructs the email confirmation (activation) url. """Constructs the email confirmation (activation) url.
...@@ -476,9 +476,14 @@ class DefaultAccountAdapter(object): ...@@ -476,9 +476,14 @@ class DefaultAccountAdapter(object):
def authenticate(self, request, **credentials): def authenticate(self, request, **credentials):
"""Only authenticates, does not actually login. See `login`""" """Only authenticates, does not actually login. See `login`"""
from allauth.account.auth_backends import AuthenticationBackend
self.pre_authenticate(request, **credentials) self.pre_authenticate(request, **credentials)
AuthenticationBackend.unstash_authenticated_user()
user = authenticate(request, **credentials) user = authenticate(request, **credentials)
if user: alt_user = AuthenticationBackend.unstash_authenticated_user()
user = user or alt_user
if user and app_settings.LOGIN_ATTEMPTS_LIMIT:
cache_key = self._get_login_attempts_cache_key( cache_key = self._get_login_attempts_cache_key(
request, **credentials) request, **credentials)
cache.delete(cache_key) cache.delete(cache_key)
...@@ -487,11 +492,14 @@ class DefaultAccountAdapter(object): ...@@ -487,11 +492,14 @@ class DefaultAccountAdapter(object):
return user return user
def authentication_failed(self, request, **credentials): def authentication_failed(self, request, **credentials):
cache_key = self._get_login_attempts_cache_key(request, **credentials) if app_settings.LOGIN_ATTEMPTS_LIMIT:
data = cache.get(cache_key, []) cache_key = self._get_login_attempts_cache_key(
dt = timezone.now() request, **credentials
data.append(time.mktime(dt.timetuple())) )
cache.set(cache_key, data, app_settings.LOGIN_ATTEMPTS_TIMEOUT) data = cache.get(cache_key, [])
dt = timezone.now()
data.append(time.mktime(dt.timetuple()))
cache.set(cache_key, data, app_settings.LOGIN_ATTEMPTS_TIMEOUT)
def is_ajax(self, request): def is_ajax(self, request):
return request.is_ajax() return request.is_ajax()
......
from threading import local
from django.contrib.auth.backends import ModelBackend from django.contrib.auth.backends import ModelBackend
from . import app_settings from . import app_settings
...@@ -6,6 +8,9 @@ from .app_settings import AuthenticationMethod ...@@ -6,6 +8,9 @@ from .app_settings import AuthenticationMethod
from .utils import filter_users_by_email, filter_users_by_username from .utils import filter_users_by_email, filter_users_by_username
_stash = local()
class AuthenticationBackend(ModelBackend): class AuthenticationBackend(ModelBackend):
def authenticate(self, request, **credentials): def authenticate(self, request, **credentials):
...@@ -33,7 +38,7 @@ class AuthenticationBackend(ModelBackend): ...@@ -33,7 +38,7 @@ class AuthenticationBackend(ModelBackend):
try: try:
# Username query is case insensitive # Username query is case insensitive
user = filter_users_by_username(username).get() user = filter_users_by_username(username).get()
if user.check_password(password): if self._check_password(user, password):
return user return user
except User.DoesNotExist: except User.DoesNotExist:
return None return None
...@@ -47,6 +52,46 @@ class AuthenticationBackend(ModelBackend): ...@@ -47,6 +52,46 @@ class AuthenticationBackend(ModelBackend):
email = credentials.get('email', credentials.get('username')) email = credentials.get('email', credentials.get('username'))
if email: if email:
for user in filter_users_by_email(email): for user in filter_users_by_email(email):
if user.check_password(credentials["password"]): if self._check_password(user, credentials["password"]):
return user return user
return None return None
def _check_password(self, user, password):
ret = user.check_password(password)
if ret:
ret = self.user_can_authenticate(user)
if not ret:
self._stash_user(user)
return ret
@classmethod
def _stash_user(cls, user):
"""Now, be aware, the following is quite ugly, let me explain:
Even if the user credentials match, the authentication can fail because
Django's default ModelBackend calls user_can_authenticate(), which
checks `is_active`. Now, earlier versions of allauth did not do this
and simply returned the user as authenticated, even in case of
`is_active=False`. For allauth scope, this does not pose a problem, as
these users are properly redirected to an account inactive page.
This does pose a problem when the allauth backend is used in a
different context where allauth is not responsible for the login. Then,
by not checking on `user_can_authenticate()` users will allow to become
authenticated whereas according to Django logic this should not be
allowed.
In order to preserve the allauth behavior while respecting Django's
logic, we stash a user for which the password check succeeded but
`user_can_authenticate()` failed. In the allauth authentication logic,
we can then unstash this user and proceed pointing the user to the
account inactive page.
"""
global _stash
ret = getattr(_stash, 'user', None)
_stash.user = user
return ret
@classmethod
def unstash_authenticated_user(cls):
return cls._stash_user(None)
...@@ -821,10 +821,12 @@ class EmailFormTests(TestCase): ...@@ -821,10 +821,12 @@ class EmailFormTests(TestCase):
HTTP_X_REQUESTED_WITH='XMLHttpRequest') HTTP_X_REQUESTED_WITH='XMLHttpRequest')
data = json.loads(resp.content.decode('utf8')) data = json.loads(resp.content.decode('utf8'))
assert data['data'] == [ assert data['data'] == [
{'email': 'john1@example.org', {'id': self.email_address.pk,
'email': 'john1@example.org',
'primary': True, 'primary': True,
'verified': True}, 'verified': True},
{'email': 'john2@example.org', {'id': self.email_address2.pk,
'email': 'john2@example.org',
'primary': False, 'primary': False,
'verified': False}] 'verified': False}]
......
...@@ -521,6 +521,7 @@ class EmailView(AjaxCapableProcessFormViewMixin, FormView): ...@@ -521,6 +521,7 @@ class EmailView(AjaxCapableProcessFormViewMixin, FormView):
data = [] data = []
for emailaddress in self.request.user.emailaddress_set.all(): for emailaddress in self.request.user.emailaddress_set.all():
data.append({ data.append({
'id': emailaddress.pk,
'email': emailaddress.email, 'email': emailaddress.email,
'verified': emailaddress.verified, 'verified': emailaddress.verified,
'primary': emailaddress.primary, 'primary': emailaddress.primary,
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2016-01-19 19:32+0100\n" "PO-Revision-Date: 2016-01-19 19:32+0100\n"
"Last-Translator: David D Lowe <daviddlowe.flimm@gmail.com>\n" "Last-Translator: David D Lowe <daviddlowe.flimm@gmail.com>\n"
"Language-Team: Arabic\n" "Language-Team: Arabic\n"
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: django-allauth\n" "Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2017-11-04 16:22+0100\n" "PO-Revision-Date: 2017-11-04 16:22+0100\n"
"Last-Translator: Jannis Vajen <jvajen@gmail.com>\n" "Last-Translator: Jannis Vajen <jvajen@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/projects/p/django-allauth/" "Language-Team: German (http://www.transifex.com/projects/p/django-allauth/"
...@@ -105,7 +105,7 @@ msgstr "E-Mail (optional)" ...@@ -105,7 +105,7 @@ msgstr "E-Mail (optional)"
#: account/forms.py:345 #: account/forms.py:345
msgid "You must type the same email each time." msgid "You must type the same email each time."
msgstr "Du musst zweimal dasselbe Passwort eingeben." msgstr "Du musst zweimal dieselbe E-Mail-Adresse eingeben."
#: account/forms.py:368 account/forms.py:477 #: account/forms.py:368 account/forms.py:477
msgid "Password (again)" msgid "Password (again)"
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2014-08-12 00:29+0200\n" "PO-Revision-Date: 2014-08-12 00:29+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
......
...@@ -7,8 +7,8 @@ msgid "" ...@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: django-allauth\n" "Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2014-08-12 00:30+0200\n" "PO-Revision-Date: 2018-02-14 17:46-0600\n"
"Last-Translator: Jannis Š\n" "Last-Translator: Jannis Š\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/django-allauth/" "Language-Team: Spanish (http://www.transifex.com/projects/p/django-allauth/"
"language/es/)\n" "language/es/)\n"
...@@ -17,6 +17,7 @@ msgstr "" ...@@ -17,6 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.7.1\n"
#: account/adapter.py:45 #: account/adapter.py:45
msgid "Username can not be used. Please use other username." msgid "Username can not be used. Please use other username."
...@@ -89,26 +90,20 @@ msgid "Login" ...@@ -89,26 +90,20 @@ msgid "Login"
msgstr "Iniciar sesión" msgstr "Iniciar sesión"
#: account/forms.py:292 #: account/forms.py:292
#, fuzzy
#| msgid "E-mail (optional)"
msgid "E-mail (again)" msgid "E-mail (again)"
msgstr "Correo Electrónico (opcional)" msgstr "Correo Electrónico (otra vez)"
#: account/forms.py:296 #: account/forms.py:296
#, fuzzy
#| msgid "email confirmation"
msgid "E-mail address confirmation" msgid "E-mail address confirmation"
msgstr "confirmación de correo electrónico" msgstr "Confirmación de la dirección de correo electrónico"
#: account/forms.py:304 #: account/forms.py:304
msgid "E-mail (optional)" msgid "E-mail (optional)"
msgstr "Correo Electrónico (opcional)" msgstr "Correo Electrónico (opcional)"
#: account/forms.py:345 #: account/forms.py:345
#, fuzzy
#| msgid "You must type the same password each time."
msgid "You must type the same email each time." msgid "You must type the same email each time."
msgstr "Debes escribir la misma contraseña cada vez." msgstr "Debe escribir el mismo correo electrónico cada vez."
#: account/forms.py:368 account/forms.py:477 #: account/forms.py:368 account/forms.py:477
msgid "Password (again)" msgid "Password (again)"
...@@ -303,7 +298,7 @@ msgstr "" ...@@ -303,7 +298,7 @@ msgstr ""
#: socialaccount/providers/douban/views.py:36 #: socialaccount/providers/douban/views.py:36
msgid "Invalid profile data" msgid "Invalid profile data"
msgstr "" msgstr "Datos de perfil inválidos"
#: socialaccount/providers/oauth/client.py:78 #: socialaccount/providers/oauth/client.py:78
#, python-format #, python-format
...@@ -404,12 +399,7 @@ msgstr "" ...@@ -404,12 +399,7 @@ msgstr ""
"seleccionada?" "seleccionada?"
#: templates/account/email/email_confirmation_message.txt:1 #: templates/account/email/email_confirmation_message.txt:1
#, fuzzy, python-format #, python-format
#| msgid ""
#| "User %(user_display)s at %(site_name)s has given this as an email "
#| "address.\n"
#| "\n"
#| "To confirm this is correct, go to %(activate_url)s\n"
msgid "" msgid ""
"Hello from %(site_name)s!\n" "Hello from %(site_name)s!\n"
"\n" "\n"
...@@ -418,8 +408,10 @@ msgid "" ...@@ -418,8 +408,10 @@ msgid ""
"\n" "\n"
"To confirm this is correct, go to %(activate_url)s\n" "To confirm this is correct, go to %(activate_url)s\n"
msgstr "" msgstr ""
"El usuario %(user_display)s de %(site_name)s ha proporcionado este como su " "¡Te saluda %(site_name)s!\n"
"correo electrónico.\n" "\n"
"Estás recibiendo este correo electrónico porque el usuario %(user_display)s "
"ha dado su correo electrónico para conectar su cuenta.\n"
"\n" "\n"
"Para confirmar que esto es correcto, haz clic en %(activate_url)s\n" "Para confirmar que esto es correcto, haz clic en %(activate_url)s\n"
...@@ -429,20 +421,15 @@ msgid "" ...@@ -429,20 +421,15 @@ msgid ""
"Thank you from %(site_name)s!\n" "Thank you from %(site_name)s!\n"
"%(site_domain)s" "%(site_domain)s"
msgstr "" msgstr ""
"Gracias %(site_name)s!\n"
"%(site_domain)s"
#: templates/account/email/email_confirmation_subject.txt:3 #: templates/account/email/email_confirmation_subject.txt:3
#, fuzzy
#| msgid "Confirm E-mail Address"
msgid "Please Confirm Your E-mail Address" msgid "Please Confirm Your E-mail Address"
msgstr "Confirmar dirección de correo electrónico" msgstr "Por favor confirmar dirección de correo electrónico"
#: templates/account/email/password_reset_key_message.txt:1 #: templates/account/email/password_reset_key_message.txt:1
#, fuzzy, python-format #, python-format
#| msgid ""
#| "You're receiving this e-mail because you or someone else has requested a "
#| "password for your user account at %(site_domain)s.\n"
#| "It can be safely ignored if you did not request a password reset. Click "
#| "the link below to reset your password."
msgid "" msgid ""
"Hello from %(site_name)s!\n" "Hello from %(site_name)s!\n"
"\n" "\n"
...@@ -451,10 +438,12 @@ msgid "" ...@@ -451,10 +438,12 @@ msgid ""
"It can be safely ignored if you did not request a password reset. Click the " "It can be safely ignored if you did not request a password reset. Click the "
"link below to reset your password." "link below to reset your password."
msgstr "" msgstr ""
"Has recibido este correo porque tú u otra persona han pedido una nueva " "¡Te saluda %(site_name)s!\n"
"contraseña para su cuenta en %(site_domain)s.\n" "\n"
"Si tú no pediste restablecer tu contraseña, ignora este correo. Haz clic en " "Estas recibiendo este correo electrónico porque usted u otra persona ha "
"el enlace de abajo para restablecer tu contraseña." "solicitado una contraseña para su cuenta de usuario.\n"
"Se puede ignorar de forma segura si no solicitó un restablecimiento de "
"contraseña. Haga clic en el siguiente enlace para restablecer su contraseña."
#: templates/account/email/password_reset_key_message.txt:8 #: templates/account/email/password_reset_key_message.txt:8
#, python-format #, python-format
...@@ -467,6 +456,8 @@ msgid "" ...@@ -467,6 +456,8 @@ msgid ""
"Thank you for using %(site_name)s!\n" "Thank you for using %(site_name)s!\n"
"%(site_domain)s" "%(site_domain)s"
msgstr "" msgstr ""
"Muchas gracias por usar %(site_name)s!\n"
"%(site_domain)s"
#: templates/account/email/password_reset_key_subject.txt:3 #: templates/account/email/password_reset_key_subject.txt:3
msgid "Password Reset E-mail" msgid "Password Reset E-mail"
......
...@@ -6,7 +6,7 @@ msgid "" ...@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2015-09-14 12:40-0000\n" "PO-Revision-Date: 2015-09-14 12:40-0000\n"
"Last-Translator: NARIMAN GHARIB <NARIMAN.GH@GMAIL.COM>\n" "Last-Translator: NARIMAN GHARIB <NARIMAN.GH@GMAIL.COM>\n"
"Language-Team: \n" "Language-Team: \n"
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2015-08-13 15:17+0300\n" "PO-Revision-Date: 2015-08-13 15:17+0300\n"
"Last-Translator: Anonymous User <seppo.erviala@iki.fi>\n" "Last-Translator: Anonymous User <seppo.erviala@iki.fi>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
......
...@@ -9,7 +9,7 @@ msgid "" ...@@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: django-allauth\n" "Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2016-10-06 15:16+0200\n" "PO-Revision-Date: 2016-10-06 15:16+0200\n"
"Last-Translator: Steve Kossouho <steve.kossouho@yahoo.fr>\n" "Last-Translator: Steve Kossouho <steve.kossouho@yahoo.fr>\n"
"Language-Team: français <>\n" "Language-Team: français <>\n"
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2017-08-26 16:11+0300\n" "PO-Revision-Date: 2017-08-26 16:11+0300\n"
"Last-Translator: Udi Oron <udioron@gmail.com>\n" "Last-Translator: Udi Oron <udioron@gmail.com>\n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
......
...@@ -10,7 +10,7 @@ msgid "" ...@@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2014-08-12 00:31+0200\n" "PO-Revision-Date: 2014-08-12 00:31+0200\n"
"Last-Translator: <goran.cetusic@gmail.com>\n" "Last-Translator: <goran.cetusic@gmail.com>\n"
"Language-Team: Bojan Mihelac <bmihelac@mihelac.org>\n" "Language-Team: Bojan Mihelac <bmihelac@mihelac.org>\n"
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2015-05-08 22:42+0100\n" "PO-Revision-Date: 2015-05-08 22:42+0100\n"
"Last-Translator: Tamás Makó <tom@greenplug.hu>\n" "Last-Translator: Tamás Makó <tom@greenplug.hu>\n"
"Language-Team: \n" "Language-Team: \n"
......
...@@ -10,8 +10,8 @@ msgid "" ...@@ -10,8 +10,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: django-allauth\n" "Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-02 12:55-0600\n" "POT-Creation-Date: 2018-05-08 00:43-0500\n"
"PO-Revision-Date: 2014-08-12 00:31+0200\n" "PO-Revision-Date: 2018-03-08 00:40+0100\n"
"Last-Translator: joke2k <joke2k@gmail.com>\n" "Last-Translator: joke2k <joke2k@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/django-allauth/" "Language-Team: Italian (http://www.transifex.com/projects/p/django-allauth/"
"language/it/)\n" "language/it/)\n"
...@@ -57,7 +57,7 @@ msgstr "Ricordami" ...@@ -57,7 +57,7 @@ msgstr "Ricordami"
#: account/forms.py:98 #: account/forms.py:98
msgid "This account is currently inactive." msgid "This account is currently inactive."
msgstr "Questo account non è attualmente attivo" msgstr "Questo account non è attualmente attivo."
#: account/forms.py:101 #: account/forms.py:101
msgid "The e-mail address and/or password you specified are not correct." msgid "The e-mail address and/or password you specified are not correct."
...@@ -101,7 +101,7 @@ msgstr "E-mail (opzionale)" ...@@ -101,7 +101,7 @@ msgstr "E-mail (opzionale)"
#, fuzzy #, fuzzy
#| msgid "email confirmation" #| msgid "email confirmation"
msgid "E-mail address confirmation" msgid "E-mail address confirmation"
msgstr "email di conferma" msgstr "e-mail di conferma"
#: account/forms.py:304 #: account/forms.py:304
msgid "E-mail (optional)" msgid "E-mail (optional)"
...@@ -143,11 +143,11 @@ msgstr "Per favore digita la tua password attuale." ...@@ -143,11 +143,11 @@ msgstr "Per favore digita la tua password attuale."
#: account/forms.py:504 #: account/forms.py:504
msgid "The e-mail address is not assigned to any user account" msgid "The e-mail address is not assigned to any user account"
msgstr "L'indirizzo e-mail non è assegnato a nessun utenza" msgstr "L'indirizzo e-mail non è assegnato a nessun account utente"
#: account/forms.py:568 #: account/forms.py:568
msgid "The password reset token was invalid." msgid "The password reset token was invalid."
msgstr "" msgstr "Il codice per il reset della password non è valido."
#: account/models.py:23 #: account/models.py:23
msgid "user" msgid "user"
...@@ -222,7 +222,7 @@ msgstr "" ...@@ -222,7 +222,7 @@ msgstr ""
#: socialaccount/models.py:46 #: socialaccount/models.py:46
#, fuzzy #, fuzzy
msgid "name" msgid "name"