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

Merge tag 'upstream/0.38.0+ds'

Upstream version 0.38.0+ds
parents 20774820 b9099ef6
......@@ -47,6 +47,7 @@ Griffith Rees
Guillaume Vincent
Guoyu Hao
Hatem Nassrat
Hyunwoo Shim
J. Erm
J. Fernando Sánchez
Jack Shedd
......@@ -68,6 +69,7 @@ Joshua Sorenson
Julen Ruiz Aizpuru
Justin Michalicek
Justin Pogrob
Kevin Dice
Koichi Harakawa
Lee Semel
Luis Diego García
......@@ -86,10 +88,13 @@ Mauro Stettler
Morgante Pell
Nariman Gharib
Niklas A Emanuelsson
Pavel Savchenko
Patrick Paul
Paulo Eduardo Neves
Peter Bittner
Peter Rowlands
Peter Stein
Philip John James
Rabi Alam
Radek Czajka
Rense VanderHoek
......@@ -108,6 +113,7 @@ Stuart Ross
Terry Jones
Tomas Babej
Tomas Marcik
Tuk Bredsdorff
Udi Oron
Vuong Nguyen
Volodymyr Yatsyk
......
0.38.0 (2018-10-03)
*******************
Security notice
---------------
The ``{% user_display user %}`` tag did not escape properly. Depending on the
username validation rules, this could lead to XSS issues.
Note worthy changes
-------------------
- New provider: Vimeo (OAuth2).
- New translations: Basque.
0.37.1 (2018-08-27)
*******************
Backwards incompatible changes
------------------------------
- Dropped the ``x-li-src: msdk`` headers from the ``linkedin_oauth2`` handshake.
This header is only required for mobile tokens, and breaks the regular flow.
Use the ``HEADERS`` setting to add this header if you need it.
0.37.0 (2018-08-27)
*******************
Note worthy changes
-------------------
- The Battle.net login backend now recognizes ``apac`` as a valid region.
- User model using a ``UUIDField`` as it's primary key can now be logged
in upon email confirmation (if using ``ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION``).
- New providers: Agave, Cern, Disqus, Globus.
- New translation: Danish.
0.36.0 (2018-05-08)
*******************
......@@ -1060,7 +1104,7 @@ Backwards incompatible changes
social login to existing accounts. The symptom is you end up with
users who have multiple primary email addresses which conflicts
with assumptions made by the code. In addition to fixing the code
that allowed duplicates to occur, there is a managegement command
that allowed duplicates to occur, there is a management command
you can run if you think this effects you (and if it doesn't effect
you there is no harm in running it anyways if you are unsure):
......
Metadata-Version: 1.1
Name: django-allauth
Version: 0.36.0
Version: 0.38.0
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
Author: Raymond Penners
......@@ -110,3 +110,4 @@ Classifier: Programming Language :: Python :: 3.6
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
......@@ -8,7 +8,7 @@ r"""
"""
VERSION = (0, 36, 0, 'final', 0)
VERSION = (0, 38, 0, 'final', 0)
__title__ = 'django-allauth'
__version_info__ = VERSION
......
......@@ -268,7 +268,13 @@ class DefaultAccountAdapter(object):
username_field).error_messages.get('unique')
if not error_message:
error_message = self.error_messages['username_taken']
raise forms.ValidationError(error_message)
raise forms.ValidationError(
error_message,
params={
'model_name': user_model.__name__,
'field_label': username_field,
}
)
return username
def clean_email(self, email):
......@@ -333,8 +339,8 @@ class DefaultAccountAdapter(object):
if hasattr(response, 'render'):
response.render()
resp['html'] = response.content.decode('utf8')
if data is not None:
resp['data'] = data
if data is not None:
resp['data'] = data
return HttpResponse(json.dumps(resp),
status=status,
content_type='application/json')
......
......@@ -6,25 +6,8 @@ from allauth.account.utils import user_display
register = template.Library()
class UserDisplayNode(template.Node):
def __init__(self, user, as_var=None):
self.user_var = template.Variable(user)
self.as_var = as_var
def render(self, context):
user = self.user_var.resolve(context)
display = user_display(user)
if self.as_var:
context[self.as_var] = display
return ""
return display
@register.tag(name="user_display")
def do_user_display(parser, token):
@register.simple_tag(name='user_display')
def user_display_tag(user):
"""
Example usage::
......@@ -38,15 +21,4 @@ def do_user_display(parser, token):
{% endblocktrans %}
"""
bits = token.split_contents()
if len(bits) == 2:
user = bits[1]
as_var = None
elif len(bits) == 4:
user = bits[1]
as_var = bits[3]
else:
raise template.TemplateSyntaxError(
"'%s' takes either two or four arguments" % bits[0])
return UserDisplayNode(user, as_var)
return user_display(user)
......@@ -11,6 +11,8 @@ from django.contrib.sites.models import Site
from django.core import mail, validators
from django.core.exceptions import ValidationError
from django.db import models
from django.http import HttpResponseRedirect
from django.template import Context, Template
from django.test.client import Client, RequestFactory
from django.test.utils import override_settings
from django.urls import reverse
......@@ -28,7 +30,7 @@ from allauth.utils import get_user_model, get_username_max_length
from . import app_settings
from .adapter import get_adapter
from .auth_backends import AuthenticationBackend
from .signals import user_logged_out
from .signals import user_logged_in, user_logged_out
from .utils import (
filter_users_by_username,
url_str_to_user_pk,
......@@ -1100,7 +1102,7 @@ class UtilsTests(TestCase):
with patch('allauth.account.utils.get_user_model') as mocked_gum:
mocked_gum.return_value = UUIDUser
self.assertEqual(url_str_to_user_pk(self.user_id),
self.user_id)
uuid.UUID(self.user_id))
def test_pk_to_url_string_identifies_UUID_as_stringlike(self):
user = UUIDUser(
......@@ -1124,3 +1126,94 @@ class UtilsTests(TestCase):
self.assertEqual(user_username(user), 'CamelCase')
# TODO: Actually test something
filter_users_by_username('camelcase', 'foobar')
def test_user_display(self):
user = get_user_model()(username='john<br/>doe')
expected_name = 'john&lt;br/&gt;doe'
templates = [
'{% load account %}{% user_display user %}',
'{% load account %}{% user_display user as x %}{{ x }}'
]
for template in templates:
t = Template(template)
content = t.render(Context({'user': user}))
self.assertEqual(content, expected_name)
class ConfirmationViewTests(TestCase):
def _create_user(self, username='john', password='doe'):
user = get_user_model().objects.create(
username=username,
is_active=True)
if password:
user.set_password(password)
else:
user.set_unusable_password()
user.save()
return user
@override_settings(ACCOUNT_EMAIL_CONFIRMATION_HMAC=True,
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION=True)
def test_login_on_confirm(self):
user = self._create_user()
email = EmailAddress.objects.create(
user=user,
email='a@b.com',
verified=False,
primary=True)
key = EmailConfirmationHMAC(email).key
receiver_mock = Mock() # we've logged if signal was called
user_logged_in.connect(receiver_mock)
# fake post-signup account_user stash
session = self.client.session
session['account_user'] = user_pk_to_url_str(user)
session.save()
resp = self.client.post(
reverse('account_confirm_email',
args=[key]))
email = EmailAddress.objects.get(pk=email.pk)
self.assertTrue(email.verified)
receiver_mock.assert_called_once_with(
sender=get_user_model(),
request=resp.wsgi_request,
response=resp,
user=get_user_model().objects.get(username='john'),
signal=user_logged_in,
)
user_logged_in.disconnect(receiver_mock)
@override_settings(ACCOUNT_EMAIL_CONFIRMATION_HMAC=True,
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION=True)
@patch('allauth.account.views.perform_login')
@patch('allauth.account.utils.get_user_model', return_value=UUIDUser)
def test_login_on_confirm_uuid_user(self, mocked_gum, mock_perform_login):
user = UUIDUser(
is_active=True,
email='john@example.com',
username='john')
# fake post-signup account_user stash
session = self.client.session
session['account_user'] = user_pk_to_url_str(user)
session.save()
# fake email and email confirmation to avoid swappable model hell
email = Mock(verified=False, user=user)
key = 'mockkey'
confirmation = Mock(autospec=EmailConfirmationHMAC, key=key)
confirmation.email_address = email
confirmation.from_key.return_value = confirmation
mock_perform_login.return_value = HttpResponseRedirect(redirect_to='/')
with patch('allauth.account.views.EmailConfirmationHMAC',
confirmation):
self.client.post(
reverse('account_confirm_email',
args=[key]))
assert mock_perform_login.called
......@@ -422,7 +422,7 @@ def url_str_to_user_pk(s):
else:
pk_field = User._meta.pk
if issubclass(type(pk_field), models.UUIDField):
return s
return pk_field.to_python(s)
try:
pk_field.to_python('a')
pk = s
......
......@@ -765,15 +765,18 @@ class LogoutView(TemplateResponseMixin, View):
if app_settings.LOGOUT_ON_GET:
return self.post(*args, **kwargs)
if not self.request.user.is_authenticated:
return redirect(self.get_redirect_url())
response = redirect(self.get_redirect_url())
return _ajax_response(self.request, response)
ctx = self.get_context_data()
return self.render_to_response(ctx)
response = self.render_to_response(ctx)
return _ajax_response(self.request, response)
def post(self, *args, **kwargs):
url = self.get_redirect_url()
if self.request.user.is_authenticated:
self.logout()
return redirect(url)
response = redirect(url)
return _ajax_response(self.request, response)
def logout(self):
adapter = get_adapter(self.request)
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2016-01-19 19:32+0100\n"
"Last-Translator: David D Lowe <daviddlowe.flimm@gmail.com>\n"
"Language-Team: Arabic\n"
......@@ -31,7 +31,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "هنالك مستخدم مسجل سابقا مع نفس عنوان البريد الاكتروني‪.‬"
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "كلمة المرور يجب أن لا تقل عن {0} حروف."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.35\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2018-04-17 16:52+0200\n"
"Last-Translator: Beda Kosata <beda.kosata@gmail.com>\n"
"Language-Team: Czech <>\n"
......@@ -31,7 +31,7 @@ msgstr "Příliš mnoho pokusů o přihlášení. Zkuste to prosím později."
msgid "A user is already registered with this e-mail address."
msgstr "Uživatel s tímto e-mailem je již registrován."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Heslo musí obsahovat minimálně {0} znaků."
......
This diff is collapsed.
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2017-11-04 16:22+0100\n"
"Last-Translator: Jannis Vajen <jvajen@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/projects/p/django-allauth/"
......@@ -34,7 +34,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Es ist bereits jemand mit dieser E-Mail-Adresse registriert."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Das Passwort muss aus mindestens {0} Zeichen bestehen."
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2014-08-12 00:29+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -32,7 +32,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Ένας χρήστης έχει ήδη εγγραφεί με τη συγκεκριμένη διεύθυνση e-mail."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Ο κωδικός πρέπει να είναι κατ' ελάχιστο {0} χαρακτήρες."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,7 +29,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr ""
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr ""
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2018-02-14 17:46-0600\n"
"Last-Translator: Jannis Š\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/django-allauth/"
......@@ -31,7 +31,7 @@ msgstr "Demasiados intentos fallidos, intenta más tarde."
msgid "A user is already registered with this e-mail address."
msgstr "Un usuario ya fue registrado con esta dirección de correo electrónico."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Una contraseña necesita al menos {0} caracteres."
......
This diff is collapsed.
......@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2015-09-14 12:40-0000\n"
"Last-Translator: NARIMAN GHARIB <NARIMAN.GH@GMAIL.COM>\n"
"Language-Team: \n"
......@@ -28,7 +28,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "کاربر دیگری قبلا با این نام کاربری ثبت نام کرده است."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "پسورد تنها می‌تواند دارای {0} کاراکتر باشد."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2015-08-13 15:17+0300\n"
"Last-Translator: Anonymous User <seppo.erviala@iki.fi>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -32,7 +32,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Tämä sähköpostiosoite on jo käytössä."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Salasanan tulee olla vähintään {0} merkkiä pitkä."
......
......@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2016-10-06 15:16+0200\n"
"Last-Translator: Steve Kossouho <steve.kossouho@yahoo.fr>\n"
"Language-Team: français <>\n"
......@@ -33,7 +33,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Un autre utilisateur utilise déjà cette adresse e-mail."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Le mot de passe doit contenir au minimum {0} caractères."
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2017-08-26 16:11+0300\n"
"Last-Translator: Udi Oron <udioron@gmail.com>\n"
"Language-Team: Hebrew\n"
......@@ -30,7 +30,7 @@ msgstr "יותר מדי ניסיונות התחברות כושלים. אנא נ
msgid "A user is already registered with this e-mail address."
msgstr "משתמש אחר כבר רשום עם כתובת אימייל זו."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "הסיסמה חייבת להיות באורך של לפחות {0} תווים."
......
......@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2014-08-12 00:31+0200\n"
"Last-Translator: <goran.cetusic@gmail.com>\n"
"Language-Team: Bojan Mihelac <bmihelac@mihelac.org>\n"
......@@ -35,7 +35,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Već postoji korisnik registriran s ovom e-mail adresom."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Lozinka treba imati najmanje {0} znakova."
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2015-05-08 22:42+0100\n"
"Last-Translator: Tamás Makó <tom@greenplug.hu>\n"
"Language-Team: \n"
......@@ -29,7 +29,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Egy felhasználó már regisztrált ezzel az email címmel."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "A jelszónak minimum {0} hosszúnak kell lennnie."
......
......@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2018-03-08 00:40+0100\n"
"Last-Translator: joke2k <joke2k@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/django-allauth/"
......@@ -33,7 +33,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Un altro utente si è già registrato con questo indirizzo e-mail."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "La password deve essere lunga almeno {0} caratteri."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2014-08-12 00:32+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -30,7 +30,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "他のユーザーがこのメールアドレスを使用しています。"
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "パスワードは {0} 文字以上の長さが必要です。"
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -30,7 +30,7 @@ msgstr "너무 많은 로그인 실패가 감지되었습니다. 잠시 후에
msgid "A user is already registered with this e-mail address."
msgstr "해당 이메일은 이미 사용되고 있습니다."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "비밀번호는 최소 {0}자 이상이어야 합니다."
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2016-07-20 22:24+0600\n"
"Last-Translator: Murat Jumashev <jumasheff at gmail dot com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,7 +29,7 @@ msgstr "Өтө көп жолу кирүү аракеттери жасалды.
msgid "A user is already registered with this e-mail address."
msgstr "Мындай эмейл менен катталган колдонуучу бар."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Купуя жок дегенде {0} белгиден турушу керек."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -32,7 +32,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Šiuo el. pašto adresu jau yra užsiregistravęs kitas naudotojas."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Slaptažodis turi būti sudarytas mažiausiai iš {0} simbolių."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -33,7 +33,7 @@ msgstr ""
msgid "A user is already registered with this e-mail address."
msgstr "Lietotājs ar šādu e-pasta adresi jau ir reģistrēts."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Parolei jābūt vismaz {0} simbolus garai."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-allauth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2016-07-25 15:18+0200\n"
"Last-Translator: pennersr <raymond.penners@intenct.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/django-allauth/"
......@@ -31,7 +31,7 @@ msgstr "Teveel foutieve inlog pogingen. Probeer het later nogmaals."
msgid "A user is already registered with this e-mail address."
msgstr "Er is al een gebruiker geregistreerd met dit e-mailadres."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Het wachtwoord moet minimaal {0} tekens bevatten."
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,7 +29,7 @@ msgstr "For mange innloggingsforsøk. Vennligst prøv igjen senere."
msgid "A user is already registered with this e-mail address."
msgstr "En bruker med følgende e-postadresse er allerede registrert."
#: account/adapter.py:288
#: account/adapter.py:294
#, python-brace-format
msgid "Password must be a minimum of {0} characters."
msgstr "Passordet må være minst {0} tegn."
......
......@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-08 00:43-0500\n"
"POT-Creation-Date: 2018-08-27 05:00-0500\n"
"PO-Revision-Date: 2016-12-05 10:43+0100\n"
"Last-Translator: Adam Dobrawy <naczelnik@jawnosc.tk>\n"
"Language-Team: \n"
......@@ -28,7 +28,7 @@ msgstr "Zbyt wiele nieudanych prób logowania. Spróbuj ponownie później."
msgid "A user is already registered with this e-mail address."