From de84f8005cbb194987bd71fd2e1282f3a113f3cf Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Fri, 9 Aug 2013 17:10:07 +0200 Subject: [PATCH] Add basic functionality for self-registration. --- requirements.txt | 4 +- .../locale/pl_PL/LC_MESSAGES/django.mo | Bin 1100 -> 3761 bytes .../locale/pl_PL/LC_MESSAGES/django.po | 139 +++- src/accounts/templates/account/profile.html | 20 +- src/accounts/templates/account/register.html | 11 + .../registration/password_reset_complete.html | 16 + .../registration/password_reset_confirm.html | 30 + .../registration/password_reset_done.html | 19 + .../registration/password_reset_email.html | 15 + .../registration/password_reset_form.html | 17 + .../registration/password_reset_subject.txt | 3 + src/accounts/urls.py | 16 +- src/accounts/views.py | 18 +- src/cas/context_processors.py | 7 + src/cas/locale-contrib/django.pot | 621 ++++++++++++++++ .../locale-contrib/pl/LC_MESSAGES/django.mo | Bin 0 -> 13932 bytes .../locale-contrib/pl/LC_MESSAGES/django.pl | 0 .../locale-contrib/pl/LC_MESSAGES/django.po | 660 ++++++++++++++++++ src/cas/locale/pl/LC_MESSAGES/django.mo | Bin 1156 -> 2253 bytes src/cas/locale/pl/LC_MESSAGES/django.po | 61 +- src/cas/settings.py | 65 +- src/cas/social.py | 18 + src/cas/static/css/main.css | 46 +- src/cas/static/img/auth/facebook.png | Bin 0 -> 1105 bytes src/cas/static/img/auth/google.png | Bin 0 -> 2490 bytes src/cas/static/img/auth/openid.png | Bin 0 -> 1366 bytes src/cas/static/img/auth/twitter.png | Bin 0 -> 1188 bytes src/cas/templates/base.html | 14 +- src/cas/templates/cas/login.html | 32 +- src/cas/templates/facebook/fbconnect.html | 1 + .../templates/socialaccount/connections.html | 58 ++ .../socialaccount/login_cancelled.html | 17 + .../socialaccount/snippets/provider_list.html | 22 + src/cas/urls.py | 6 + 34 files changed, 1897 insertions(+), 39 deletions(-) create mode 100755 src/accounts/templates/account/register.html create mode 100755 src/accounts/templates/registration/password_reset_complete.html create mode 100755 src/accounts/templates/registration/password_reset_confirm.html create mode 100755 src/accounts/templates/registration/password_reset_done.html create mode 100755 src/accounts/templates/registration/password_reset_email.html create mode 100755 src/accounts/templates/registration/password_reset_form.html create mode 100755 src/accounts/templates/registration/password_reset_subject.txt create mode 100644 src/cas/context_processors.py create mode 100644 src/cas/locale-contrib/django.pot create mode 100644 src/cas/locale-contrib/pl/LC_MESSAGES/django.mo create mode 100644 src/cas/locale-contrib/pl/LC_MESSAGES/django.pl create mode 100644 src/cas/locale-contrib/pl/LC_MESSAGES/django.po create mode 100755 src/cas/social.py create mode 100644 src/cas/static/img/auth/facebook.png create mode 100644 src/cas/static/img/auth/google.png create mode 100644 src/cas/static/img/auth/openid.png create mode 100644 src/cas/static/img/auth/twitter.png create mode 100755 src/cas/templates/facebook/fbconnect.html create mode 100644 src/cas/templates/socialaccount/connections.html create mode 100644 src/cas/templates/socialaccount/login_cancelled.html create mode 100755 src/cas/templates/socialaccount/snippets/provider_list.html diff --git a/requirements.txt b/requirements.txt index f51d854..0d1e675 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,8 @@ Django>=1.5,<1.6 South lxml>=2.2 -django-gravatar +django-honeypot +django-allauth>=0.12,<0.13 +django-libravatar -e git+https://github.com/rczajka/django-cas-provider.git@bb0f7662eb12a838cbd339dd8b60476a73ec161b#egg=django-cas-provider diff --git a/src/accounts/locale/pl_PL/LC_MESSAGES/django.mo b/src/accounts/locale/pl_PL/LC_MESSAGES/django.mo index 63b2a7dc7a5a65fc46b3e8370876f7583888d007..1ae2fe470c0cd1ab47be79e4abfa2b8be6d8fa6a 100644 GIT binary patch literal 3761 zcmaKuO^h5z6~_w*1ct99gbxFOXGm;Td5Ey|EgK5*g3G%$x z!5I8K_yG7Q{&m0;;CsNw8=e6lL;EcFL2wOZ`>%kX1P#dR`~>_W_$%<^;2wAa{2TZw z@V`y}!|#R-w4VeAUk2B|Oycjq z20jb^4*UT4Pw)%izrh%qop^5@$B*7u^Yw`cF(iJ_@aJF`?OpI^;2*&Rybfn9w?U5U9Fle({04|A;-?_n|0M{S zDqmUe_JO%cX^b^B4g{GjZ_NAMyY)x$CH^8{Yj z){5hAAJ&{7-Ub}UC-5SKDn^t{^`P{GSQ<$)R5UFpk!hM+7qwl- z+Rkq4ScxTTwzZqi=MTj4RO*;y6gicqXd15^8I{kch)dQDt@p}MVKX=HKTq}Cs#6`d zLR%`fd6%S#C|9TBnCf9|Qtz_RYim;4wvJNey*5LV)q>Wjo_O9)l~~bRPVPuAomjC$ z(uQF(FRt21IYVnUX4{u+W+KVv$SXM&*A96-5NnMj6jmx7v_~?9hX|)0hr?(5v7WpDk5or$%DYVY1(8mP=t_=nQK@@8QZ9URBy!v5*x}4ZX;y&P{vNlh`W(*^hZ6S zCU~d5o2k?v39w$FC$6j0J5Zd<8WFLS_pRP4A#Kd9pm%Qw{(hQmO*OU=T=+IOM>dNi zIEEENrFS@RIE`*sr3iCQyTgNiq|;_2wL!AkCJYsIbV&qhHtCHlhE)XfS zhPU-GQ`OiQl^R@$f|ry_vB3wlwz%}o#mmd|((?KXS5~ieP;F2uxS9@i6ns4!roo0C zP-ks*BUnPt`BVrlq8tZww!iSDpnoptFVMomp#POK{j>c(CI;(jN3-#J&RbYG(_g^6 z6`A^A!%36I(pxv6bs4D%EtPUSk@Sp{k;O>f3#*O`h}wpwN{vixoK9p9QT3AeIoL77 z40|isz)>}zmBnk9U*ve6Sy{OdYo7L8=jxTK%LfrJ^!go~*Eo3L0QT_!r`-4aQ%Nkf z`5GTy4oP_S#f?kBxr2G^=(cjfvI%X3ni|l#E$uts3N9<7TphuhRS`;Uq4#v}%N?;f z)oS)b-Yv5m_TH^Jfnv?#q){%Kz17Sfh(*3ONCmu4kT)C2F(+Ql%|V8#(Q{zNoaTGC$GCnD%yd!6c`@6K74Eeq-R!$bINra7LiQ3az+kn?(BdeA-1|4Z znjF40HYJKM8&j(HZ;9(g)exI1P4;fjZqOyZHo~!{Yx88m8_t$MPwV@DwU9; zwooG6N1GCh;YM)TSX_j!w26U-|po0z_1S|eS;nAjPN}E^G*65%G>E`%w z=p=puDS}@>x~N}4cfrxk#q*N1&<7{KcW-jfx#`S*D9x{!@1Ed9pgE`oMWG)^p4A~j zra%>(0C&N0@CY0Qb+2!Nv#4*tX|N5(!44?>-oX&~>DAw0n2;vou6JrKy+P`Oxwq|-S diff --git a/src/accounts/locale/pl_PL/LC_MESSAGES/django.po b/src/accounts/locale/pl_PL/LC_MESSAGES/django.po index dbd98d8..1605566 100644 --- a/src/accounts/locale/pl_PL/LC_MESSAGES/django.po +++ b/src/accounts/locale/pl_PL/LC_MESSAGES/django.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-15 11:11+0200\n" -"PO-Revision-Date: 2013-04-15 11:11+0100\n" +"POT-Creation-Date: 2013-08-01 11:06+0200\n" +"PO-Revision-Date: 2013-08-01 11:11+0100\n" "Last-Translator: Radek Czajka \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" #: forms.py:15 msgid "Your new password" @@ -28,17 +28,17 @@ msgstr "Powtórzone hasło" msgid "Passwords do not match!" msgstr "Hasło i powtórzenie się nie zgadzają!" -#: views.py:28 +#: views.py:32 msgid "Profile has been changed." msgstr "Profil został zmieniony." -#: views.py:42 +#: views.py:46 msgid "Password has been changed." msgstr "Hasło zostało zmienione." #: templates/account/profile.html:8 -msgid "Change at Gravatar.com" -msgstr "Zmień na Gravatar.com" +msgid "Libravatar" +msgstr "Libravatar" #: templates/account/profile.html:9 msgid "Logout" @@ -64,3 +64,128 @@ msgstr "Zmień hasło" msgid "Sign in to:" msgstr "Zaloguj do:" +#: templates/account/register.html:5 templates/account/register.html.py:9 +msgid "Sign-up" +msgstr "Zarejestruj" + +#: templates/registration/password_reset_complete.html:4 +#: templates/registration/password_reset_complete.html:9 +msgid "Password reset complete" +msgstr "Hasło zostało zresetowane" + +#: templates/registration/password_reset_complete.html:11 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Twoje hasło zostało ustawione. Możesz się teraz zalogować." + +#: templates/registration/password_reset_complete.html:13 +msgid "Log in" +msgstr "Zaloguj się" + +#: templates/registration/password_reset_confirm.html:4 +#: templates/registration/password_reset_done.html:7 +#: templates/registration/password_reset_form.html:4 +#: templates/registration/password_reset_form.html:8 +msgid "Password reset" +msgstr "Zresetuj hasło" + +#: templates/registration/password_reset_confirm.html:10 +msgid "Enter new password" +msgstr "Podaj nowe hasło" + +#: templates/registration/password_reset_confirm.html:12 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Podaj dwukrotnie nowe hasło, by można było zweryfikować, czy zostało wpisane " +"poprawnie." + +#: templates/registration/password_reset_confirm.html:16 +msgid "New password:" +msgstr "Nowe hasło:" + +#: templates/registration/password_reset_confirm.html:18 +msgid "Confirm password:" +msgstr "Potwierdź hasło:" + +#: templates/registration/password_reset_confirm.html:19 +msgid "Change my password" +msgstr "Zmień hasło" + +#: templates/registration/password_reset_confirm.html:24 +msgid "Password reset unsuccessful" +msgstr "Zresetowanie hasła nie powiodło się" + +#: templates/registration/password_reset_confirm.html:26 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link do resetowania hasła był niepoprawny, być może dlatego, że został już " +"raz użyty. Możesz ponownie zażądać zresetowania hasła." + +#: templates/registration/password_reset_done.html:6 +msgid "Home" +msgstr "Początek" + +#: templates/registration/password_reset_done.html:11 +#: templates/registration/password_reset_done.html:15 +msgid "Password reset successful" +msgstr "Hasło zmienione" + +#: templates/registration/password_reset_done.html:17 +msgid "" +"We've emailed you instructions for setting your password to the email " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Wysłaliśmy Ci instrukcję odzyskiwania hasła na podany adres email. Wkrótce " +"powinieneś/-naś ją otrzymać." + +#: templates/registration/password_reset_email.html:2 +msgid "" +"You're receiving this email because you requested\n" +"a password reset for your user account at Modern Poland Foundation." +msgstr "" +"Otrzymujesz tę wiadomość, ponieważ wybrałeś/-aś opcję\n" +"odzyskiwania hasła w Fundacji Nowoczesna Polska." + +#: templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Aby wprowadzić nowe hasło, proszę przejść na stronę, której adres widnieje " +"poniżej:" + +#: templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Twoja nazwa użytkownika:" + +#: templates/registration/password_reset_email.html:11 +msgid "Thanks for using our services!" +msgstr "Dziękujemy za korzystanie z naszych usług!" + +#: templates/registration/password_reset_email.html:13 +msgid "Modern Poland Foundation team" +msgstr "Zespół Fundacji Nowoczesna Polska" + +#: templates/registration/password_reset_form.html:10 +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Zapomniałeś/-aś hasła? Podaj swój adres e-mail,\n" +"a wyślemy Ci instrukcję ustawienia nowego." + +#: templates/registration/password_reset_form.html:14 +msgid "Email address:" +msgstr "Adres e-mail:" + +#: templates/registration/password_reset_form.html:14 +msgid "Reset my password" +msgstr "Zresetuj moje hasło" + +#: templates/registration/password_reset_subject.txt:2 +msgid "Password reset at Modern Poland Foundation" +msgstr "Odzyskiwanie hasła w Fundacji Nowoczesna Polska" + +#~ msgid "Change at Gravatar.com" +#~ msgstr "Zmień na Gravatar.com" diff --git a/src/accounts/templates/account/profile.html b/src/accounts/templates/account/profile.html index bc576d9..3845526 100644 --- a/src/accounts/templates/account/profile.html +++ b/src/accounts/templates/account/profile.html @@ -1,12 +1,14 @@ {% extends "base.html" %} -{% load gravatar i18n %} +{% load libravatar_tags i18n %} {% block content %}
@@ -26,15 +28,11 @@

{% trans "Password change" %}

-
- {% csrf_token %} - - {{ pass_form.as_table }} - -
-
+ Zmień hasło +
+ {% if services %}

{% trans "Sign in to:" %}

diff --git a/src/accounts/templates/account/register.html b/src/accounts/templates/account/register.html new file mode 100755 index 0000000..977135d --- /dev/null +++ b/src/accounts/templates/account/register.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block content_enclosed %} +

{% trans "Sign-up" %}

+
+ {% csrf_token %} + {{ form.as_p }} +

+
+{% endblock %} diff --git a/src/accounts/templates/registration/password_reset_complete.html b/src/accounts/templates/registration/password_reset_complete.html new file mode 100755 index 0000000..5e0fda2 --- /dev/null +++ b/src/accounts/templates/registration/password_reset_complete.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block title %}{% trans 'Password reset complete' %}{% endblock %} + +{% block content_enclosed %} + + +

{% trans 'Password reset complete' %}

+ +

{% trans "Your password has been set. You may go ahead and log in now." %}

+ +

{% trans 'Log in' %}

+ + +{% endblock %} diff --git a/src/accounts/templates/registration/password_reset_confirm.html b/src/accounts/templates/registration/password_reset_confirm.html new file mode 100755 index 0000000..2d4147d --- /dev/null +++ b/src/accounts/templates/registration/password_reset_confirm.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block title %}{% trans 'Password reset' %}{% endblock %} + +{% block content_enclosed %} + +{% if validlink %} + +

{% trans 'Enter new password' %}

+ +

{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}

+ +
{% csrf_token %} +{{ form.new_password1.errors }} +

{{ form.new_password1 }}

+{{ form.new_password2.errors }} +

{{ form.new_password2 }}

+

+
+ +{% else %} + +

{% trans 'Password reset unsuccessful' %}

+ +

{% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}

+ +{% endif %} + +{% endblock %} diff --git a/src/accounts/templates/registration/password_reset_done.html b/src/accounts/templates/registration/password_reset_done.html new file mode 100755 index 0000000..81a46e8 --- /dev/null +++ b/src/accounts/templates/registration/password_reset_done.html @@ -0,0 +1,19 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{% trans 'Password reset successful' %}{% endblock %} + +{% block content_enclosed %} + +

{% trans 'Password reset successful' %}

+ +

{% trans "We've emailed you instructions for setting your password to the email address you submitted. You should be receiving it shortly." %}

+ +{% endblock %} diff --git a/src/accounts/templates/registration/password_reset_email.html b/src/accounts/templates/registration/password_reset_email.html new file mode 100755 index 0000000..9b5ff52 --- /dev/null +++ b/src/accounts/templates/registration/password_reset_email.html @@ -0,0 +1,15 @@ +{% load i18n %}{% autoescape off %} +{% blocktrans %}You're receiving this email because you requested +a password reset for your user account at Modern Poland Foundation.{% endblocktrans %} + +{% trans "Please go to the following page and choose a new password:" %} +{% block reset_link %} +{{ protocol }}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %} +{% endblock %} +{% trans "Your username, in case you've forgotten:" %} {{ user.get_username }} + +{% trans "Thanks for using our services!" %} + +{% blocktrans %}Modern Poland Foundation team{% endblocktrans %} + +{% endautoescape %} diff --git a/src/accounts/templates/registration/password_reset_form.html b/src/accounts/templates/registration/password_reset_form.html new file mode 100755 index 0000000..43441ea --- /dev/null +++ b/src/accounts/templates/registration/password_reset_form.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block title %}{% trans "Password reset" %}{% endblock %} + +{% block content_enclosed %} + +

{% trans "Password reset" %}

+ +

{% trans "Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one." %}

+ +
{% csrf_token %} +{{ form.email.errors }} +

{{ form.email }}

+
+ +{% endblock %} diff --git a/src/accounts/templates/registration/password_reset_subject.txt b/src/accounts/templates/registration/password_reset_subject.txt new file mode 100755 index 0000000..6e6186e --- /dev/null +++ b/src/accounts/templates/registration/password_reset_subject.txt @@ -0,0 +1,3 @@ +{% load i18n %}{% autoescape off %} +{% blocktrans %}Password reset at Modern Poland Foundation{% endblocktrans %} +{% endautoescape %} diff --git a/src/accounts/urls.py b/src/accounts/urls.py index 41752f8..ab557c7 100644 --- a/src/accounts/urls.py +++ b/src/accounts/urls.py @@ -1,8 +1,22 @@ # -*- coding: utf-8 -*- +from django.conf import settings from django.conf.urls import patterns, url +from .views import Register urlpatterns = patterns('accounts.views', - url(r'^$', 'account_profile'), + url(r'^$', 'account_profile', name='account_profile'), url(r'^change_profile$', 'account_change_basic_profile'), url(r'^change_password$', 'account_change_password'), ) + +if settings.REGISTRATION_OPEN: + urlpatterns += patterns('accounts.views', + url(r'^register/$', Register.as_view(), name='account_register'), + ) + +urlpatterns += patterns('django.contrib.auth.views', + url(r'^password_reset/$', 'password_reset', name='account_reset_password'), + url(r'^password_reset_done/$', 'password_reset_done'), + url(r'^password_reset_confirm/(?P[^/]+)/(?P[^/]+)/$', 'password_reset_confirm'), + url(r'^password_reset_complete/$', 'password_reset_complete'), +) diff --git a/src/accounts/views.py b/src/accounts/views.py index 5f153c0..799b4fe 100644 --- a/src/accounts/views.py +++ b/src/accounts/views.py @@ -2,11 +2,16 @@ from django import http from django.contrib.auth.decorators import login_required from django.contrib import messages -from django.shortcuts import render +from django.shortcuts import render, redirect from django.utils.translation import ugettext as _ from django.views.decorators.http import require_POST from accounts.forms import UserBasicForm, UserPasswordForm from .models import Service +from django.views.generic.edit import FormView +from django.contrib.auth import login +from django.contrib.auth.models import User +from django.contrib.auth.forms import UserCreationForm + @login_required def account_profile(request, basic_form=None, pass_form=None): @@ -42,3 +47,14 @@ def account_change_password(request): return http.HttpResponseRedirect('/accounts/') return account_profile(request, pass_form=form) + + +class Register(FormView): + form_class = UserCreationForm + template_name = "account/register.html" + + def form_valid(self, form): + user = form.save() + user.backend='django.contrib.auth.backends.ModelBackend' + login(self.request, user) + return redirect('account_profile') diff --git a/src/cas/context_processors.py b/src/cas/context_processors.py new file mode 100644 index 0000000..e302ac4 --- /dev/null +++ b/src/cas/context_processors.py @@ -0,0 +1,7 @@ +from django.conf import settings as _settings + +view_settings = dict((k, getattr(_settings, k)) for k in + _settings.TEMPLATE_CONTEXT_SETTINGS) + +def settings(request): + return {'settings': view_settings} diff --git a/src/cas/locale-contrib/django.pot b/src/cas/locale-contrib/django.pot new file mode 100644 index 0000000..306bfb3 --- /dev/null +++ b/src/cas/locale-contrib/django.pot @@ -0,0 +1,621 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2013. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-08-05 13:14+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" + +#: allauth/account/adapter.py:167 +msgid "Usernames can only contain letters, digits and @/./+/-/_." +msgstr "" + +#: allauth/account/adapter.py:172 +msgid "Username can not be used. Please use other username." +msgstr "" + +#: allauth/account/forms.py:33 +#: allauth/account/forms.py:51 +#: allauth/account/forms.py:237 +#: allauth/account/forms.py:343 +msgid "Password" +msgstr "" + +#: allauth/account/forms.py:43 +msgid "Password must be a minimum of {0} characters." +msgstr "" + +#: allauth/account/forms.py:53 +msgid "Remember Me" +msgstr "" + +#: allauth/account/forms.py:64 +#: allauth/account/forms.py:178 +msgid "E-mail address" +msgstr "" + +#: allauth/account/forms.py:65 +#: allauth/account/forms.py:189 +#: allauth/account/forms.py:292 +#: allauth/account/forms.py:360 +msgid "E-mail" +msgstr "" + +#: allauth/account/forms.py:70 +#: allauth/account/forms.py:71 +#: allauth/account/forms.py:171 +#: allauth/account/forms.py:175 +msgid "Username" +msgstr "" + +#: allauth/account/forms.py:78 +msgid "Username or e-mail" +msgstr "" + +#: allauth/account/forms.py:111 +msgid "This account is currently inactive." +msgstr "" + +#: allauth/account/forms.py:115 +msgid "The e-mail address and/or password you specified are not correct." +msgstr "" + +#: allauth/account/forms.py:119 +msgid "The username and/or password you specified are not correct." +msgstr "" + +#: allauth/account/forms.py:122 +msgid "The login and/or password you specified are not correct." +msgstr "" + +#: allauth/account/forms.py:192 +msgid "E-mail (optional)" +msgstr "" + +#: allauth/account/forms.py:207 +msgid "This username is already taken. Please choose another." +msgstr "" + +#: allauth/account/forms.py:216 +msgid "A user is already registered with this e-mail address." +msgstr "" + +#: allauth/account/forms.py:238 +#: allauth/account/forms.py:344 +msgid "Password (again)" +msgstr "" + +#: allauth/account/forms.py:256 +#: allauth/account/forms.py:333 +#: allauth/account/forms.py:349 +#: allauth/account/forms.py:418 +msgid "You must type the same password each time." +msgstr "" + +#: allauth/account/forms.py:301 +msgid "This e-mail address is already associated with this account." +msgstr "" + +#: allauth/account/forms.py:302 +msgid "This e-mail address is already associated with another account." +msgstr "" + +#: allauth/account/forms.py:321 +msgid "Current Password" +msgstr "" + +#: allauth/account/forms.py:322 +#: allauth/account/forms.py:406 +msgid "New Password" +msgstr "" + +#: allauth/account/forms.py:323 +#: allauth/account/forms.py:407 +msgid "New Password (again)" +msgstr "" + +#: allauth/account/forms.py:327 +msgid "Please type your current password." +msgstr "" + +#: allauth/account/forms.py:371 +msgid "The e-mail address is not assigned to any user account" +msgstr "" + +#: allauth/account/models.py:31 +msgid "email address" +msgstr "" + +#: allauth/account/models.py:32 +msgid "email addresses" +msgstr "" + +#: allauth/account/models.py:82 +msgid "email confirmation" +msgstr "" + +#: allauth/account/models.py:83 +msgid "email confirmations" +msgstr "" + +#: allauth/account/utils.py:290 +#, python-format +msgid "Confirmation e-mail sent to %(email)s" +msgstr "" + +#: allauth/socialaccount/adapter.py:74 +msgid "Your account has no password set up." +msgstr "" + +#: allauth/socialaccount/adapter.py:78 +msgid "Your account has no verified e-mail address." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:78 +#, python-format +msgid "Invalid response while obtaining request token from \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:102 +#, python-format +msgid "Invalid response while obtaining access token from \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:115 +#, python-format +msgid "No request token saved for \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:159 +#, python-format +msgid "No access token saved for \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:177 +#, python-format +msgid "No access to private resources at \"%s\"." +msgstr "" + +#: allauth/templates/account/email.html:6 +msgid "Account" +msgstr "" + +#: allauth/templates/account/email.html:9 +msgid "E-mail Addresses" +msgstr "" + +#: allauth/templates/account/email.html:11 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: allauth/templates/account/email.html:25 +msgid "Verified" +msgstr "" + +#: allauth/templates/account/email.html:27 +msgid "Unverified" +msgstr "" + +#: allauth/templates/account/email.html:29 +msgid "Primary" +msgstr "" + +#: allauth/templates/account/email.html:35 +msgid "Make Primary" +msgstr "" + +#: allauth/templates/account/email.html:36 +msgid "Re-send Verification" +msgstr "" + +#: allauth/templates/account/email.html:37 +#: allauth/templates/socialaccount/connections.html:35 +msgid "Remove" +msgstr "" + +#: allauth/templates/account/email.html:44 +msgid "Warning:" +msgstr "" + +#: allauth/templates/account/email.html:44 +msgid "" +"You currently do not have any e-mail address set up. You should really " +"add an e-mail address so you can receive notifications, reset your " +"password, etc." +msgstr "" + +#: allauth/templates/account/email.html:49 +msgid "Add E-mail Address" +msgstr "" + +#: allauth/templates/account/email.html:54 +msgid "Add E-mail" +msgstr "" + +#: allauth/templates/account/email.html:63 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: allauth/templates/account/email_confirm.html:7 +#: allauth/templates/account/email_confirm.html:11 +#: allauth/templates/account/email_confirmed.html:6 +#: allauth/templates/account/email_confirmed.html:11 +#: allauth/templates/account/email/email_confirmation_subject.txt:3 +msgid "Confirm E-mail Address" +msgstr "" + +#: allauth/templates/account/email_confirm.html:17 +#, python-format +msgid "" +"Please confirm that %(email)s is an " +"e-mail address for user %(user_display)s." +msgstr "" + +#: allauth/templates/account/email_confirm.html:21 +msgid "Confirm" +msgstr "" + +#: allauth/templates/account/email_confirm.html:28 +#, python-format +msgid "" +"This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: allauth/templates/account/email_confirmed.html:15 +#, python-format +msgid "" +"You have confirmed that %(email)s is an " +"e-mail address for user %(user_display)s." +msgstr "" + +#: allauth/templates/account/login.html:7 +#: allauth/templates/account/login.html:11 +#: allauth/templates/account/login.html:39 +msgid "Sign In" +msgstr "" + +#: allauth/templates/account/login.html:16 +#, python-format +msgid "" +"Please sign in with one\n" +"of your existing third party accounts. Or, sign up \n" +"for a %(site_name)s account and sign in below:" +msgstr "" + +#: allauth/templates/account/login.html:24 +msgid "or" +msgstr "" + +#: allauth/templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: allauth/templates/account/logout.html:6 +#: allauth/templates/account/logout.html:9 +#: allauth/templates/account/logout.html:18 +msgid "Sign Out" +msgstr "" + +#: allauth/templates/account/logout.html:11 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: allauth/templates/account/password_change.html:4 +#: allauth/templates/account/password_change.html:7 +#: allauth/templates/account/password_change.html:12 +#: allauth/templates/account/password_reset_from_key.html:5 +#: allauth/templates/account/password_reset_from_key.html:8 +msgid "Change Password" +msgstr "" + +#: allauth/templates/account/password_delete.html:5 +#: allauth/templates/account/password_delete.html:8 +msgid "Delete Password" +msgstr "" + +#: allauth/templates/account/password_delete.html:9 +msgid "" +"You may delete your password since you are currently logged in using " +"OpenID." +msgstr "" + +#: allauth/templates/account/password_delete.html:12 +msgid "delete my password" +msgstr "" + +#: allauth/templates/account/password_delete_done.html:5 +#: allauth/templates/account/password_delete_done.html:8 +msgid "Password Deleted" +msgstr "" + +#: allauth/templates/account/password_delete_done.html:9 +msgid "Your password has been deleted." +msgstr "" + +#: allauth/templates/account/password_reset.html:6 +#: allauth/templates/account/password_reset.html:10 +#: allauth/templates/account/password_reset_done.html:6 +#: allauth/templates/account/password_reset_done.html:9 +msgid "Password Reset" +msgstr "" + +#: allauth/templates/account/password_reset.html:15 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll send " +"you an e-mail allowing you to reset it." +msgstr "" + +#: allauth/templates/account/password_reset.html:20 +msgid "Reset My Password" +msgstr "" + +#: allauth/templates/account/password_reset.html:23 +msgid "Please contact us if you have any trouble resetting your password." +msgstr "" + +#: allauth/templates/account/password_reset_done.html:15 +msgid "" +"We have sent you an e-mail. Please contact us if you do not receive it " +"within a few minutes." +msgstr "" + +#: allauth/templates/account/password_reset_from_key.html:8 +msgid "Bad Token" +msgstr "" + +#: allauth/templates/account/password_reset_from_key.html:12 +#, python-format +msgid "" +"The password reset link was invalid, possibly because it has already been" +" used. Please request a new password " +"reset." +msgstr "" + +#: allauth/templates/account/password_reset_from_key.html:18 +msgid "change password" +msgstr "" + +#: allauth/templates/account/password_reset_from_key.html:21 +msgid "Your password is now changed." +msgstr "" + +#: allauth/templates/account/password_set.html:5 +#: allauth/templates/account/password_set.html:8 +#: allauth/templates/account/password_set.html:13 +msgid "Set Password" +msgstr "" + +#: allauth/templates/account/signup.html:6 +#: allauth/templates/socialaccount/signup.html:5 +msgid "Signup" +msgstr "" + +#: allauth/templates/account/signup.html:9 +#: allauth/templates/account/signup.html:19 +#: allauth/templates/socialaccount/signup.html:8 +#: allauth/templates/socialaccount/signup.html:19 +msgid "Sign Up" +msgstr "" + +#: allauth/templates/account/signup.html:11 +#, python-format +msgid "" +"Already have an account? Then please sign " +"in." +msgstr "" + +#: allauth/templates/account/signup_closed.html:6 +#: allauth/templates/account/signup_closed.html:9 +msgid "Sign Up Closed" +msgstr "" + +#: allauth/templates/account/signup_closed.html:11 +msgid "We are sorry, but the sign up is currently closed." +msgstr "" + +#: allauth/templates/account/verification_sent.html:5 +#: allauth/templates/account/verification_sent.html:8 +#: allauth/templates/account/verified_email_required.html:6 +#: allauth/templates/account/verified_email_required.html:9 +msgid "Verify Your E-mail Address" +msgstr "" + +#: allauth/templates/account/verification_sent.html:10 +#, python-format +msgid "" +"We have sent an e-mail to %(email)s for " +"verification. Follow the link provided to finalize the signup process. " +"Please contact us if you do not receive it within a few minutes." +msgstr "" + +#: allauth/templates/account/verified_email_required.html:15 +msgid "" +"This part of the site requires us to verify that\n" +"you are who you claim to be. For this purpose, we require that you\n" +"verify ownership of your e-mail address. " +msgstr "" + +#: allauth/templates/account/verified_email_required.html:19 +msgid "" +"We have sent an e-mail to you for\n" +"verification. Please click on the link inside this e-mail. Please\n" +"contact us if you do not receive it within a few minutes." +msgstr "" + +#: allauth/templates/account/verified_email_required.html:21 +#, python-format +msgid "" +"Note: you can still change " +"your e-mail address." +msgstr "" + +#: allauth/templates/account/email/email_confirmation_message.txt:4 +#, 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" +msgstr "" + +#: allauth/templates/account/email/password_reset_key_message.txt:9 +#, 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.\n" +"\n" +"%(password_reset_url)s\n" +"\n" +"In case you forgot, your username is %(username)s.\n" +"\n" +"Thanks for using our site!\n" +msgstr "" + +#: allauth/templates/account/email/password_reset_key_subject.txt:3 +msgid "Password Reset E-mail" +msgstr "" + +#: allauth/templates/account/messages/cannot_delete_primary_email.txt:2 +#, python-format +msgid "You cannot remove your primary e-mail address (%(email)s)." +msgstr "" + +#: allauth/templates/account/messages/email_confirmation_sent.txt:2 +#, python-format +msgid "Confirmation e-mail sent to %(email)s." +msgstr "" + +#: allauth/templates/account/messages/email_confirmed.txt:2 +#, python-format +msgid "You have confirmed %(email)s." +msgstr "" + +#: allauth/templates/account/messages/email_deleted.txt:2 +#, python-format +msgid "Removed e-mail address %(email)s." +msgstr "" + +#: allauth/templates/account/messages/logged_in.txt:4 +#, python-format +msgid "Successfully signed in as %(name)s." +msgstr "" + +#: allauth/templates/account/messages/logged_out.txt:2 +msgid "You have signed out." +msgstr "" + +#: allauth/templates/account/messages/password_changed.txt:2 +msgid "Password successfully changed." +msgstr "" + +#: allauth/templates/account/messages/password_set.txt:2 +msgid "Password successfully set." +msgstr "" + +#: allauth/templates/account/messages/primary_email_set.txt:2 +msgid "Primary e-mail address set." +msgstr "" + +#: allauth/templates/account/messages/unverified_primary_email.txt:2 +msgid "Your primary e-mail address must be verified." +msgstr "" + +#: allauth/templates/account/snippets/already_logged_in.html:5 +msgid "Note" +msgstr "" + +#: allauth/templates/account/snippets/already_logged_in.html:5 +#, python-format +msgid "you are already logged in as %(user_display)s." +msgstr "" + +#: allauth/templates/openid/login.html:10 +msgid "OpenID Sign In" +msgstr "" + +#: allauth/templates/socialaccount/account_inactive.html:5 +#: allauth/templates/socialaccount/account_inactive.html:8 +msgid "Account Inactive" +msgstr "" + +#: allauth/templates/socialaccount/account_inactive.html:10 +msgid "This account is inactive." +msgstr "" + +#: allauth/templates/socialaccount/authentication_error.html:5 +#: allauth/templates/socialaccount/authentication_error.html:8 +msgid "Social Network Login Failure" +msgstr "" + +#: allauth/templates/socialaccount/authentication_error.html:10 +msgid "" +"An error occurred while attempting to login via your social network " +"account." +msgstr "" + +#: allauth/templates/socialaccount/connections.html:5 +#: allauth/templates/socialaccount/connections.html:8 +msgid "Account Connections" +msgstr "" + +#: allauth/templates/socialaccount/connections.html:11 +msgid "" +"You can sign in to your account using any of the following third party " +"accounts:" +msgstr "" + +#: allauth/templates/socialaccount/connections.html:43 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: allauth/templates/socialaccount/connections.html:46 +msgid "Add a 3rd Party Account" +msgstr "" + +#: allauth/templates/socialaccount/login_cancelled.html:6 +#: allauth/templates/socialaccount/login_cancelled.html:10 +msgid "Login Cancelled" +msgstr "" + +#: allauth/templates/socialaccount/login_cancelled.html:14 +#, python-format +msgid "" +"You decided to cancel logging in to our site using one of your existing " +"accounts. If this was a mistake, please proceed to sign in." +msgstr "" + +#: allauth/templates/socialaccount/signup.html:11 +#, python-format +msgid "" +"You are about to use your %(provider_name)s account to login to \n" +"%(site_name)s. As a final step, please complete the following form:" +msgstr "" + +#: allauth/templates/socialaccount/messages/account_connected.txt:2 +msgid "The social account has been connected." +msgstr "" + +#: allauth/templates/socialaccount/messages/account_connected_other.txt:2 +msgid "The social account is already connected to a different account." +msgstr "" + +#: allauth/templates/socialaccount/messages/account_disconnected.txt:2 +msgid "The social account has been disconnected." +msgstr "" + diff --git a/src/cas/locale-contrib/pl/LC_MESSAGES/django.mo b/src/cas/locale-contrib/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..8f3a9b094ab81c55492b0d543ef1e697adf0c56f GIT binary patch literal 13932 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 literal 0 HcmV?d00001 diff --git a/src/cas/locale-contrib/pl/LC_MESSAGES/django.pl b/src/cas/locale-contrib/pl/LC_MESSAGES/django.pl new file mode 100644 index 0000000..e69de29 diff --git a/src/cas/locale-contrib/pl/LC_MESSAGES/django.po b/src/cas/locale-contrib/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..d45751e --- /dev/null +++ b/src/cas/locale-contrib/pl/LC_MESSAGES/django.po @@ -0,0 +1,660 @@ +# Polish translations for PROJECT. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-08-05 13:14+0200\n" +"PO-Revision-Date: 2013-08-05 13:35+0100\n" +"Last-Translator: Radek Czajka \n" +"Language-Team: pl \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"X-Generator: Poedit 1.5.4\n" + +#: allauth/account/adapter.py:167 +msgid "Usernames can only contain letters, digits and @/./+/-/_." +msgstr "Login może zawierać tylko litery, cyfry i znaki @/./+/-/_." + +#: allauth/account/adapter.py:172 +msgid "Username can not be used. Please use other username." +msgstr "Ta nazwa użytkownika nie może zostać użyta. Prosimy użyć innej." + +#: allauth/account/forms.py:33 allauth/account/forms.py:51 +#: allauth/account/forms.py:237 allauth/account/forms.py:343 +msgid "Password" +msgstr "Hasło" + +#: allauth/account/forms.py:43 +msgid "Password must be a minimum of {0} characters." +msgstr "Hasło musi składać się z co najmniej {0} znaków." + +#: allauth/account/forms.py:53 +msgid "Remember Me" +msgstr "Zapamiętaj mnie" + +#: allauth/account/forms.py:64 allauth/account/forms.py:178 +msgid "E-mail address" +msgstr "Adres e-mail" + +#: allauth/account/forms.py:65 allauth/account/forms.py:189 +#: allauth/account/forms.py:292 allauth/account/forms.py:360 +msgid "E-mail" +msgstr "E-mail" + +#: allauth/account/forms.py:70 allauth/account/forms.py:71 +#: allauth/account/forms.py:171 allauth/account/forms.py:175 +msgid "Username" +msgstr "Nazwa użytkownika" + +#: allauth/account/forms.py:78 +msgid "Username or e-mail" +msgstr "Nazwa użytkownika lub e-mail." + +#: allauth/account/forms.py:111 +msgid "This account is currently inactive." +msgstr "Konto jest nieaktywne." + +#: allauth/account/forms.py:115 +msgid "The e-mail address and/or password you specified are not correct." +msgstr "Podany e-mail i/lub hasło są niepoprawne." + +#: allauth/account/forms.py:119 +msgid "The username and/or password you specified are not correct." +msgstr "Nazwa użytkownika i/lub hasło są niepoprawne." + +#: allauth/account/forms.py:122 +msgid "The login and/or password you specified are not correct." +msgstr "Podany login i/lub hasło są niepoprawne." + +#: allauth/account/forms.py:192 +msgid "E-mail (optional)" +msgstr "E-mail (opcjonalnie)" + +#: allauth/account/forms.py:207 +msgid "This username is already taken. Please choose another." +msgstr "Ta nazwa użytkownika jest zajęta. Proszę wybrać inną." + +#: allauth/account/forms.py:216 +msgid "A user is already registered with this e-mail address." +msgstr "Istnieje już użytkownik o tym adresie e-mail." + +#: allauth/account/forms.py:238 allauth/account/forms.py:344 +msgid "Password (again)" +msgstr "Hasło (ponownie)" + +#: allauth/account/forms.py:256 allauth/account/forms.py:333 +#: allauth/account/forms.py:349 allauth/account/forms.py:418 +msgid "You must type the same password each time." +msgstr "Proszę wpisać dwa razy to samo hasło." + +#: allauth/account/forms.py:301 +msgid "This e-mail address is already associated with this account." +msgstr "Ten adres e-mail jest już używany przez to konto." + +#: allauth/account/forms.py:302 +msgid "This e-mail address is already associated with another account." +msgstr "Ten adres e-mail jest już używany przez inne konto." + +#: allauth/account/forms.py:321 +msgid "Current Password" +msgstr "Aktualne hasło" + +#: allauth/account/forms.py:322 allauth/account/forms.py:406 +msgid "New Password" +msgstr "Nowe hasło" + +#: allauth/account/forms.py:323 allauth/account/forms.py:407 +msgid "New Password (again)" +msgstr "Nowe hasło (ponownie)" + +#: allauth/account/forms.py:327 +msgid "Please type your current password." +msgstr "Proszę wpisać swoje aktualne hasło." + +#: allauth/account/forms.py:371 +msgid "The e-mail address is not assigned to any user account" +msgstr "Ten adres e-mail nie jest używany przez żadne konto." + +#: allauth/account/models.py:31 +msgid "email address" +msgstr "adres e-mail" + +#: allauth/account/models.py:32 +msgid "email addresses" +msgstr "adresy e-mail" + +#: allauth/account/models.py:82 +msgid "email confirmation" +msgstr "potwierdzenie adresu e-mail" + +#: allauth/account/models.py:83 +msgid "email confirmations" +msgstr "potwierdzenia adresów e-mail" + +#: allauth/account/utils.py:290 +#, python-format +msgid "Confirmation e-mail sent to %(email)s" +msgstr "E-mail potwierdzający wysłany do %(email)s" + +#: allauth/socialaccount/adapter.py:74 +msgid "Your account has no password set up." +msgstr "Twoje konto nie ma ustawionego hasła." + +#: allauth/socialaccount/adapter.py:78 +msgid "Your account has no verified e-mail address." +msgstr "Twoje konto nie ma potwierdzonego adresu e-mail." + +#: allauth/socialaccount/providers/oauth/client.py:78 +#, python-format +msgid "Invalid response while obtaining request token from \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:102 +#, python-format +msgid "Invalid response while obtaining access token from \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:115 +#, python-format +msgid "No request token saved for \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:159 +#, python-format +msgid "No access token saved for \"%s\"." +msgstr "" + +#: allauth/socialaccount/providers/oauth/client.py:177 +#, python-format +msgid "No access to private resources at \"%s\"." +msgstr "" + +#: allauth/templates/account/email.html:6 +msgid "Account" +msgstr "Konto" + +#: allauth/templates/account/email.html:9 +msgid "E-mail Addresses" +msgstr "Adresy e-mail" + +#: allauth/templates/account/email.html:11 +msgid "The following e-mail addresses are associated with your account:" +msgstr "Z Twoim kontem są związane następujące adresy e-mail:" + +#: allauth/templates/account/email.html:25 +msgid "Verified" +msgstr "Potwierdzony" + +#: allauth/templates/account/email.html:27 +msgid "Unverified" +msgstr "Nie potwierdzony" + +#: allauth/templates/account/email.html:29 +msgid "Primary" +msgstr "Główny" + +#: allauth/templates/account/email.html:35 +msgid "Make Primary" +msgstr "Ustaw jako główny" + +#: allauth/templates/account/email.html:36 +msgid "Re-send Verification" +msgstr "Ponownie prześlij link potwierdzający" + +#: allauth/templates/account/email.html:37 +#: allauth/templates/socialaccount/connections.html:35 +msgid "Remove" +msgstr "Usuń" + +#: allauth/templates/account/email.html:44 +msgid "Warning:" +msgstr "Uwaga:" + +#: allauth/templates/account/email.html:44 +msgid "" +"You currently do not have any e-mail address set up. You should really add " +"an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" +"Nie masz ustawionego żadnego adresu e-mail. Dodanie adresu e-mail umożliwi " +"otrzymywanie powiadomień, odzyskanie konta w przypadku utraty hasła itp.." + +#: allauth/templates/account/email.html:49 +msgid "Add E-mail Address" +msgstr "Dodaj adres e-mail" + +#: allauth/templates/account/email.html:54 +msgid "Add E-mail" +msgstr "Dodaj e-mail" + +#: allauth/templates/account/email.html:63 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "Czy na pewno usunąć wybrany adres e-mail?" + +#: allauth/templates/account/email_confirm.html:7 +#: allauth/templates/account/email_confirm.html:11 +#: allauth/templates/account/email_confirmed.html:6 +#: allauth/templates/account/email_confirmed.html:11 +#: allauth/templates/account/email/email_confirmation_subject.txt:3 +msgid "Confirm E-mail Address" +msgstr "Potwierdź adres e-mail" + +#: allauth/templates/account/email_confirm.html:17 +#, python-format +msgid "" +"Please confirm that %(email)s is an e-mail " +"address for user %(user_display)s." +msgstr "" +"Proszę potwierdzić adres %(email)s jako e-" +"mail użytkownika %(user_display)s." + +#: allauth/templates/account/email_confirm.html:21 +msgid "Confirm" +msgstr "Potwierdź" + +#: allauth/templates/account/email_confirm.html:28 +#, python-format +msgid "" +"This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" +"Ten link z wiadomości e-mail jest nieprawidłowy lub nieaktualny. Możesz zamówić kolejny link weryfikacyjny." + +#: allauth/templates/account/email_confirmed.html:15 +#, python-format +msgid "" +"You have confirmed that %(email)s is an e-" +"mail address for user %(user_display)s." +msgstr "" +"Adres %(email)s został właśnie powierdzony " +"jako e-mail dla użytkownika %(user_display)s." + +#: allauth/templates/account/login.html:7 +#: allauth/templates/account/login.html:11 +#: allauth/templates/account/login.html:39 +msgid "Sign In" +msgstr "Zaloguj" + +#: allauth/templates/account/login.html:16 +#, python-format +msgid "" +"Please sign in with one\n" +"of your existing third party accounts. Or, sign " +"up \n" +"for a %(site_name)s account and sign in below:" +msgstr "" +"Zaloguj za pomocą konta zewnętrznego, albo zarejestruj się w serwisie %(site_name)s i " +"zaloguj poniżej:" + +#: allauth/templates/account/login.html:24 +msgid "or" +msgstr "lub" + +#: allauth/templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "Nie pamiętasz hasła?" + +#: allauth/templates/account/logout.html:6 +#: allauth/templates/account/logout.html:9 +#: allauth/templates/account/logout.html:18 +msgid "Sign Out" +msgstr "Wylogowano" + +#: allauth/templates/account/logout.html:11 +msgid "Are you sure you want to sign out?" +msgstr "Czy na pewno chcesz się wylogować?" + +#: allauth/templates/account/password_change.html:4 +#: allauth/templates/account/password_change.html:7 +#: allauth/templates/account/password_change.html:12 +#: allauth/templates/account/password_reset_from_key.html:5 +#: allauth/templates/account/password_reset_from_key.html:8 +msgid "Change Password" +msgstr "Zmień hasło" + +#: allauth/templates/account/password_delete.html:5 +#: allauth/templates/account/password_delete.html:8 +msgid "Delete Password" +msgstr "Usuń hasło" + +#: allauth/templates/account/password_delete.html:9 +msgid "" +"You may delete your password since you are currently logged in using OpenID." +msgstr "Możesz usunąć hasło, ponieważ jesteś zalogowany/-a za pomocą OpenID." + +#: allauth/templates/account/password_delete.html:12 +msgid "delete my password" +msgstr "usuń moje hasło" + +#: allauth/templates/account/password_delete_done.html:5 +#: allauth/templates/account/password_delete_done.html:8 +msgid "Password Deleted" +msgstr "Hasło usunięte" + +#: allauth/templates/account/password_delete_done.html:9 +msgid "Your password has been deleted." +msgstr "Twoje hasło zostało usunięte." + +#: allauth/templates/account/password_reset.html:6 +#: allauth/templates/account/password_reset.html:10 +#: allauth/templates/account/password_reset_done.html:6 +#: allauth/templates/account/password_reset_done.html:9 +msgid "Password Reset" +msgstr "Odzyskiwanie hasła" + +#: allauth/templates/account/password_reset.html:15 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll send you " +"an e-mail allowing you to reset it." +msgstr "" +"Nie pamiętasz swojego hasła? Wpisz adres e-mail, a wyślemy Ci e-mail " +"umożliwiający zresetowanie go." + +#: allauth/templates/account/password_reset.html:20 +msgid "Reset My Password" +msgstr "Odzyskaj hasło" + +#: allauth/templates/account/password_reset.html:23 +msgid "Please contact us if you have any trouble resetting your password." +msgstr "Prosimy o kontakt w przypadku problemów z uzyskaniem nowego hasła." + +#: allauth/templates/account/password_reset_done.html:15 +msgid "" +"We have sent you an e-mail. Please contact us if you do not receive it " +"within a few minutes." +msgstr "" +"E-mail został wysłany. Prosimy o kontakt, jeśli wiadomość nie dotrze w ciągu " +"kilku minut." + +#: allauth/templates/account/password_reset_from_key.html:8 +msgid "Bad Token" +msgstr "Błędny klucz" + +#: allauth/templates/account/password_reset_from_key.html:12 +#, python-format +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link resetujący hasło jest nieprawidłowy, być może ponieważ został już " +"wcześniej użyty. Spróbuj zresetować hasło " +"ponownie." + +#: allauth/templates/account/password_reset_from_key.html:18 +msgid "change password" +msgstr "zmień hasło" + +#: allauth/templates/account/password_reset_from_key.html:21 +msgid "Your password is now changed." +msgstr "Hasło zostało zmienione." + +#: allauth/templates/account/password_set.html:5 +#: allauth/templates/account/password_set.html:8 +#: allauth/templates/account/password_set.html:13 +msgid "Set Password" +msgstr "Ustaw hasło" + +#: allauth/templates/account/signup.html:6 +#: allauth/templates/socialaccount/signup.html:5 +msgid "Signup" +msgstr "Rejestracja" + +#: allauth/templates/account/signup.html:9 +#: allauth/templates/account/signup.html:19 +#: allauth/templates/socialaccount/signup.html:8 +#: allauth/templates/socialaccount/signup.html:19 +msgid "Sign Up" +msgstr "Zarejestruj się" + +#: allauth/templates/account/signup.html:11 +#, python-format +msgid "" +"Already have an account? Then please sign in." +msgstr "Masz już konto? Zaloguj się." + +#: allauth/templates/account/signup_closed.html:6 +#: allauth/templates/account/signup_closed.html:9 +msgid "Sign Up Closed" +msgstr "Rejestracja zamknięta" + +#: allauth/templates/account/signup_closed.html:11 +msgid "We are sorry, but the sign up is currently closed." +msgstr "Przepraszamy, ale rejestracja jest obecnie zamknięta." + +#: allauth/templates/account/verification_sent.html:5 +#: allauth/templates/account/verification_sent.html:8 +#: allauth/templates/account/verified_email_required.html:6 +#: allauth/templates/account/verified_email_required.html:9 +msgid "Verify Your E-mail Address" +msgstr "Potwierdź swój adres e-mail" + +#: allauth/templates/account/verification_sent.html:10 +#, python-format +msgid "" +"We have sent an e-mail to %(email)s for " +"verification. Follow the link provided to finalize the signup process. " +"Please contact us if you do not receive it within a few minutes." +msgstr "" +"Na podany adres e-mail %(email)s została " +"wysłana wiadomość w celu weryfikacji. Proszę kliknąć w podany w tej " +"wiadomości link w celu zakończenia procesu rejestracji. Prosimy o kontakt, " +"jeśli wiadomość nie dotrze w ciągu kilku minut." + +#: allauth/templates/account/verified_email_required.html:15 +msgid "" +"This part of the site requires us to verify that\n" +"you are who you claim to be. For this purpose, we require that you\n" +"verify ownership of your e-mail address. " +msgstr "" +"W celu korzystania z tej części strony wymagamy\n" +"potwierdzenia tożsamości. W tym celu konieczne jest\n" +"potwierdzenie adresu e-mail. " + +#: allauth/templates/account/verified_email_required.html:19 +msgid "" +"We have sent an e-mail to you for\n" +"verification. Please click on the link inside this e-mail. Please\n" +"contact us if you do not receive it within a few minutes." +msgstr "" +"Na podany adres została wysłana wiadomość w celu\n" +"weryfikacji. Proszę kliknąć na link wewnątrz tej wiadomości. Prosimy\n" +"o kontakt, jeśli wiadomość nie dotrze w ciągu kilku minut." + +#: allauth/templates/account/verified_email_required.html:21 +#, python-format +msgid "" +"Note: you can still change your e-" +"mail address." +msgstr "" +"Uwaga: nadal możesz zmienić swój " +"adres e-mail." + +#: allauth/templates/account/email/email_confirmation_message.txt:4 +#, 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" +msgstr "" +"Użytkownik '%(user_display)s' podał ten adres e-mail na stronie " +"%(site_name)s.\n" +"\n" +"Aby go potwierdzić, przejdź do %(activate_url)s\n" + +#: allauth/templates/account/email/password_reset_key_message.txt:9 +#, 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.\n" +"\n" +"%(password_reset_url)s\n" +"\n" +"In case you forgot, your username is %(username)s.\n" +"\n" +"Thanks for using our site!\n" +msgstr "" +"Otrzymujesz tego e-maila, ponieważ zostaliśmy poproszeni o zresetowanie " +"hasła dla konta w serwisie %(site_domain)s.\n" +"Możesz go zignorować, jeśli prośba nie pochodzi od Ciebie. Wejdź pod " +"poniższy link, aby zresetować swoje hasło.\n" +"\n" +"%(password_reset_url)s\n" +"\n" +"W razie czego, Twój login to: %(username)s.\n" +"\n" +"Dziękujemy za korzystanie z naszych serwisów!\n" + +#: allauth/templates/account/email/password_reset_key_subject.txt:3 +msgid "Password Reset E-mail" +msgstr "E-mail resetujący hasło" + +#: allauth/templates/account/messages/cannot_delete_primary_email.txt:2 +#, python-format +msgid "You cannot remove your primary e-mail address (%(email)s)." +msgstr "Nie można usunąć głównego adresu e-mail (%(email)s)." + +#: allauth/templates/account/messages/email_confirmation_sent.txt:2 +#, python-format +msgid "Confirmation e-mail sent to %(email)s." +msgstr "E-mail potwierdzający wysłany do %(email)s." + +#: allauth/templates/account/messages/email_confirmed.txt:2 +#, python-format +msgid "You have confirmed %(email)s." +msgstr "Adres %(email)s został potwierdzony." + +#: allauth/templates/account/messages/email_deleted.txt:2 +#, python-format +msgid "Removed e-mail address %(email)s." +msgstr "Usunięto adres e-mail %(email)s." + +#: allauth/templates/account/messages/logged_in.txt:4 +#, python-format +msgid "Successfully signed in as %(name)s." +msgstr "Zalogowano jako %(name)s." + +#: allauth/templates/account/messages/logged_out.txt:2 +msgid "You have signed out." +msgstr "Wylogowano." + +#: allauth/templates/account/messages/password_changed.txt:2 +msgid "Password successfully changed." +msgstr "Hasło zostało zmienione." + +#: allauth/templates/account/messages/password_set.txt:2 +msgid "Password successfully set." +msgstr "Hasło zostało ustawione." + +#: allauth/templates/account/messages/primary_email_set.txt:2 +msgid "Primary e-mail address set." +msgstr "Ustawiono główny adres e-mail." + +#: allauth/templates/account/messages/unverified_primary_email.txt:2 +msgid "Your primary e-mail address must be verified." +msgstr "Główny adres e-mail musi zostać potwierdzony." + +#: allauth/templates/account/snippets/already_logged_in.html:5 +msgid "Note" +msgstr "Zwróć uwagę" + +#: allauth/templates/account/snippets/already_logged_in.html:5 +#, python-format +msgid "you are already logged in as %(user_display)s." +msgstr "jesteś już zalogowany/-a jako %(user_display)s." + +#: allauth/templates/openid/login.html:10 +msgid "OpenID Sign In" +msgstr "Logowanie przy użyciu OpenID" + +#: allauth/templates/socialaccount/account_inactive.html:5 +#: allauth/templates/socialaccount/account_inactive.html:8 +msgid "Account Inactive" +msgstr "Konto nieaktywne" + +#: allauth/templates/socialaccount/account_inactive.html:10 +msgid "This account is inactive." +msgstr "To konto jest nieaktywne." + +#: allauth/templates/socialaccount/authentication_error.html:5 +#: allauth/templates/socialaccount/authentication_error.html:8 +msgid "Social Network Login Failure" +msgstr "Błąd podczas logowania przy użyciu sieci społecznościowej." + +#: allauth/templates/socialaccount/authentication_error.html:10 +msgid "" +"An error occurred while attempting to login via your social network account." +msgstr "" +"Podczas próby zalogowania za pośrednictwej konta w sieci społecznościowej " +"wystąpił błąd." + +#: allauth/templates/socialaccount/connections.html:5 +#: allauth/templates/socialaccount/connections.html:8 +msgid "Account Connections" +msgstr "Powiązania konta" + +#: allauth/templates/socialaccount/connections.html:11 +msgid "" +"You can sign in to your account using any of the following third party " +"accounts:" +msgstr "" +"Możesz zalogować się na swoje konto używając następujących kont zewnętrznych:" + +#: allauth/templates/socialaccount/connections.html:43 +msgid "" +"You currently have no social network accounts connected to this account." +msgstr "" +"Aktualnie do Twojego konta nie są podłączone żadne konta w sieciach " +"społecznościowych." + +#: allauth/templates/socialaccount/connections.html:46 +msgid "Add a 3rd Party Account" +msgstr "Dodaj konto zewnętrzne" + +#: allauth/templates/socialaccount/login_cancelled.html:6 +#: allauth/templates/socialaccount/login_cancelled.html:10 +msgid "Login Cancelled" +msgstr "Logowanie anulowane" + +#: allauth/templates/socialaccount/login_cancelled.html:14 +#, python-format +msgid "" +"You decided to cancel logging in to our site using one of your existing " +"accounts. If this was a mistake, please proceed to sign in." +msgstr "" +"Logowanie do serwisu za pomocą istniejącego konta zostało anulowane. Jeśli " +"był to błąd, przejdź do strony logowania." + +#: allauth/templates/socialaccount/signup.html:11 +#, python-format +msgid "" +"You are about to use your %(provider_name)s account to login to \n" +"%(site_name)s. As a final step, please complete the following form:" +msgstr "" +"Za chwilę użyjesz konta w serwisie %(provider_name)s aby zalogować się \n" +"do serwisu %(site_name)s. Zanim to nastąpi, wypełnij proszę ten krótki " +"formularz:" + +#: allauth/templates/socialaccount/messages/account_connected.txt:2 +msgid "The social account has been connected." +msgstr "Konto społecznościowe zostało dołączone." + +#: allauth/templates/socialaccount/messages/account_connected_other.txt:2 +msgid "The social account is already connected to a different account." +msgstr "To konto społecznościowe jest już dołączone do innego konta." + +#: allauth/templates/socialaccount/messages/account_disconnected.txt:2 +msgid "The social account has been disconnected." +msgstr "Konto społecznościowe zostało odłączone." diff --git a/src/cas/locale/pl/LC_MESSAGES/django.mo b/src/cas/locale/pl/LC_MESSAGES/django.mo index e155fa0a1651debbe60e9a891030ea08ff561285..123afb7db71147815005ce9f871a2bb0a5d81ace 100644 GIT binary patch literal 2253 zcmah}OK%)S5FQ}mu_Qb~Bsg#=MM~t5%w*RNky(399LEU;J6SoK0Fe+X&$QRQJKH_# zp7CT?xnL0i5(f@&2oX{a+&M&CkZZ|Jh z{m6lDJhYeby^imDe6Qj={RDn!p95b3egSmz-vN&Te*``Ud<3ije+3={{sDXu_}2*k z0X~iK!6!ZM8Q>w{S>RFNCEx^|#xpiwkX@t()$G;m)ro&alnxt!Yz1tvtg(+mC~G6 zN`$G@%6hX=L`)MVq9&WPPa_*|fmXF?>y&zZO4!<5o5)+#ZR!b<%JteJBAunKTTVzt zbF4xU$0G8s8j9TlWmc+o-CGtty)L|KvW=<4`%q^TvLcSHrfH@%BUT&7j*k_4KF&;h z(jJ>B9dMhanm)rbJDZG1GovWgWQAFmp`d=@4%AkS?$!4?9Jx9^R&@U3#yT!w2tU|w zh)41ijEPmB^eUxmaH`{2=LiEM38j)ksgb#@m%K7#gi7N+t?{}b1#UW&9Fr0$wCiqr zw-lD@Lp>Y}hjx1@C>%v1lu@||fuN?-5kj^{R2@?*Q&9>_S_wz92teGDSaGJ?+yYu~ zA>fRhaSrvQO}Q&hQxXfdf)b-cQ69Em5=JUHBju>wS}u!D$63#CiRzWTSoqctZn_4u2ZFXwdKzl!LH2xi=2u&jaO?Ees$8XzD2cj z^@($*s^irv4E<%X4(0ZbDFl8*{2not8NgU78zkr^_^LIMP_jgRq!5 zuXL`%fv}1b9osGkxK2S5&%lprXWSNkOE7A6arVmP>n@(@#l`cnbY?S^rG=&W-H2;J zwSqgFqQ3lAKS3m^xRstsVqAb>yxfO|Hna(u_01 zv42UMo~@HgilJ>xOra#)N@Gkl8Z~;Gs)Xg^wdzb`oKBo5y3>ubt~=(YtJAeA-M(GS zJDciB?5SbT_{pit2mWQDgehfeY7xnlYQdYq*^1ZH!;P&w5JpL+E`nn3qK>#z^fe7c zuD0%`W}t+3MWR5tCo$$8u9Y2buy>PDN?C_`N(%4&J_b5xrMKtZYvd-dl~smY%WyOs zufX$YV>aCE=iC8@x_8}X!%wkwxbg78aI>V~E$QK=umfm}sr_z6;SJumKEq|)x=V>h zzHw@KO}1U+=HY`-!X_%7s$AOae;%h`=lI7@P)vA)J7Of%ZWwT$>sX04Vst#@aMKR@ z;aXw1M^H@Fp*6Lf7Z?}flT*rW-68I#8OLsv=%`GQds>E@905w(J;@372%VTgpB$f1 zW{-K_v%}HTczuQ&dN(xzy(@LIlp`uN@5=!DN LLhc?u$OG?R@2s_k delta 262 zcmX>r*uq(VPl#nI0}!wSu?!H005LZZ_W&^n>;Pg;Al?bYTtIvnh*^R791xoT@f9F; z17c1_28Mhf9RQ>c0r3GK<^l4XnIZZn0BMjNvw^e|kX{U=tr-|B8J+6vI$_7y&i$MTn(BzYhGLuD^8YZ7-KEP|NYh<8cXl7+#sBK_4c@B#- o7hJ?-@-iaUe8uPIh!L103GQihyVZp diff --git a/src/cas/locale/pl/LC_MESSAGES/django.po b/src/cas/locale/pl/LC_MESSAGES/django.po index 7a56631..24efb67 100644 --- a/src/cas/locale/pl/LC_MESSAGES/django.po +++ b/src/cas/locale/pl/LC_MESSAGES/django.po @@ -7,25 +7,37 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-20 16:31+0100\n" -"PO-Revision-Date: 2013-03-20 16:04+0100\n" +"POT-Creation-Date: 2013-08-09 16:36+0200\n" +"PO-Revision-Date: 2013-08-09 16:38+0100\n" "Last-Translator: Radek Czajka \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 1.5.4\n" #: templates/cas/login.html:9 msgid "Login" msgstr "Zaloguj" -#: templates/cas/login.html:16 +#: templates/cas/login.html:20 msgid "Log me in" msgstr "Zaloguj mnie" +#: templates/cas/login.html:25 +msgid "I forgot my password" +msgstr "Nie pamiętam hasła" + +#: templates/cas/login.html:27 +msgid "Sign up" +msgstr "Załóż konto" + +#: templates/cas/login.html:36 +msgid "Or login using:" +msgstr "Albo zaloguj używając:" + #: templates/cas/logout.html:5 templates/cas/logout.html.py:12 msgid "Logged out" msgstr "Wylogowano" @@ -48,3 +60,44 @@ msgstr "Możesz wrócić do serwisu: %(url)s." #, python-format msgid "You can also login again" msgstr "Możesz też zalogować się ponownie." + +#: templates/socialaccount/connections.html:6 +#: templates/socialaccount/connections.html:9 +msgid "Account Connections" +msgstr "Połączenia konta" + +#: templates/socialaccount/connections.html:13 +msgid "" +"You can sign in to your account using any of the following third party " +"accounts:" +msgstr "" +"Możesz zalogować się na swoje konto używając dowolnego z poniższych kont " +"zewnętrznych:" + +#: templates/socialaccount/connections.html:39 +msgid "Remove" +msgstr "Usuń" + +#: templates/socialaccount/connections.html:47 +msgid "" +"You currently have no social network accounts connected to this account." +msgstr "Do Twojego konta nie są aktualnie podłączone żadne konta zewnętrzne." + +#: templates/socialaccount/connections.html:50 +msgid "Add a 3rd Party Account" +msgstr "Dodaj konto zewnętrzne" + +#: templates/socialaccount/login_cancelled.html:5 +#: templates/socialaccount/login_cancelled.html:9 +msgid "Login Cancelled" +msgstr "Logowanie anulowane" + +#: templates/socialaccount/login_cancelled.html:15 +#, python-format +msgid "" +"You decided to cancel logging in to our site using one of your exisiting " +"accounts. If this was a mistake, please proceed to sign in." +msgstr "" +"Logowanie przy użyciu Twojego konta zewnętrznego zostało anulowane. Jeśli to " +"pomyłka, przejdź do strony logowania." diff --git a/src/cas/settings.py b/src/cas/settings.py index 9e0a0f4..3857503 100644 --- a/src/cas/settings.py +++ b/src/cas/settings.py @@ -62,10 +62,26 @@ TEMPLATE_DIRS = ( ) LOCALE_PATHS = ( + PROJECT_ROOT + '/locale-contrib', PROJECT_ROOT + '/locale', ) INSTALLED_APPS = ( + 'accounts', + + 'cas_provider', + 'fnpdjango', + 'honeypot', + 'south', + 'django_libravatar', + + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + 'allauth.socialaccount.providers.facebook', + 'allauth.socialaccount.providers.openid', + #'allauth.socialaccount.providers.persona', + 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', @@ -74,13 +90,18 @@ INSTALLED_APPS = ( 'django.contrib.admindocs', 'django.contrib.staticfiles', - 'cas_provider', - 'gravatar', - 'south', +) - 'accounts', +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'honeypot.middleware.HoneypotMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware' ) + TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_processors.auth", "django.core.context_processors.debug", @@ -90,6 +111,14 @@ TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages", "django.core.context_processors.request", + "allauth.account.context_processors.account", + "allauth.socialaccount.context_processors.socialaccount", + "cas.context_processors.settings", +) + +AUTHENTICATION_BACKENDS = ( + "django.contrib.auth.backends.ModelBackend", + "allauth.account.auth_backends.AuthenticationBackend", ) # django-cas-provider settings @@ -99,8 +128,32 @@ LOGIN_REDIRECT_URL = '/accounts/' CAS_CUSTOM_ATTRIBUTES_CALLBACK = 'cas.utils.custom_attributes_callback' SESSION_COOKIE_NAME = 'fnpcas' -GRAVATAR_DEFAULT_IMAGE = 'mm' -GRAVATAR_URL_PREFIX = 'https://www.gravatar.com/' +REGISTRATION_OPEN = True +TEMPLATE_CONTEXT_SETTINGS = ('REGISTRATION_OPEN',) + +ACCOUNT_EMAIL_VERIFICATION = None +SOCIALACCOUNT_AUTO_SIGNUP = False +SOCIALACCOUNT_AVATAR_SUPPORT = False +SOCIALACCOUNT_ADAPTER = 'cas.social.LooseSocialAccountAdapter' + +SOCIALACCOUNT_PROVIDERS = { + 'openid': { + 'SERVERS': [ + dict(id='google', + name='Google', + openid_url='https://www.google.com/accounts/o8/id') + ] + } +} + + +CONTRIB_LOCALE_APPS = [ + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + 'allauth.socialaccount.providers.facebook', + 'allauth.socialaccount.providers.openid', +] # Import localsettings file, which may override settings defined here try: diff --git a/src/cas/social.py b/src/cas/social.py new file mode 100755 index 0000000..bce55aa --- /dev/null +++ b/src/cas/social.py @@ -0,0 +1,18 @@ +from django.core.exceptions import ValidationError +from django.utils.translation import ugettext as _ +from allauth.socialaccount.adapter import DefaultSocialAccountAdapter + + +class LooseSocialAccountAdapter(DefaultSocialAccountAdapter): + def validate_disconnect(self, account, accounts): + """ + Validate whether or not the socialaccount account can be + safely disconnected. + """ + if len(accounts) == 1: + # No usable password would render the local account unusable + if not account.user.has_usable_password(): + raise ValidationError(_("Your account has no password set up.")) + # No email address, no password reset + if not account.user.email: + raise ValidationError(_("Your account has no e-mail address.")) diff --git a/src/cas/static/css/main.css b/src/cas/static/css/main.css index 4d62c01..1e6e823 100644 --- a/src/cas/static/css/main.css +++ b/src/cas/static/css/main.css @@ -7,13 +7,16 @@ } .enclosed { - margin-top: 70px; + margin-top: 75px; display: inline-block; text-align: left; max-width: 300px; background-color: rgb(247, 247, 247); background-color: rgba(247, 247, 247, .5); } +.enclosed h1 { + margin-top: 0; +} a { text-decoration: none; @@ -39,10 +42,20 @@ form label, form input { } #login-form input { font-size: 1.75em; - margin-bottom: .4em; +} +#login-form p { + margin-bottom: .7em; +} +#tools { + text-align: right; } - +#register-form .helptext { + font-size: .8em; +} +#register-form p { + #margin-bottom: .5em; +} html, body { @@ -134,3 +147,30 @@ footer, #content_push { height: 50px; margin: 10px 10px 0 0; } + + +.content-extra { + text-align: center; +} +.socialaccount_provider { + display: inline-block; + background-repeat: no-repeat; + color: transparent; + height: 40px; + width: 40px; + vertical-align: middle; +} +.socialaccount_provider.google { + background-image: url(/static/img/auth/google.png); +} + + +.socialaccount_providers { + margin: 1em 0; + padding: 0; +} +.socialaccount_providers li { + display: inline; + list-style: none; + margin-right: 1em; +} diff --git a/src/cas/static/img/auth/facebook.png b/src/cas/static/img/auth/facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b6e71494072be50b14bc734788450d03efd708 GIT binary patch literal 1105 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 Ef+dxZ*Z=?k literal 0 HcmV?d00001 diff --git a/src/cas/static/img/auth/openid.png b/src/cas/static/img/auth/openid.png new file mode 100644 index 0000000000000000000000000000000000000000..83e97691f6f35ba00646a3c7e54bab51bb28fda6 GIT binary patch literal 1366 zcmV-c1*!UpP)g5w7{`BO$1iE)q-|c@6+OUe#f6Ws2PA~J@-5&9UjW1zi7$XSapMFx zBu>BqB(7YLxS+0-q>h_-)A%JGdxk?~Z?kF3w#{z#z;pE2|M|`HJf8X6LTjygSrPsN ztuDCUoh6Ky0#@Yk$9M4UNAPrfFR8}X;i4h@_$B=M4Y=)l%WV%(EBNbY_~A47`*+Y9 z_ByW-;4fdp_n*Ujvem}fj#OE|pFhFV?ZRyjaJx#cLiT^a*C$?kz&md+n@yT_1Gm}S&@oMue!tJcJ0eR~Em4-`v&;*DQi|DZ#$vI+aU7B)K`Di0Syz|1 zEKA1YF+mWliB({xY2tYv2L}hVS}knb#?T5}7oJO`VHo(n&%l3^LQ0Y(A&MgA^Lbs7 z3bZH+q?8*KS_4!{F&qvFf?y+S0G&>U!CcWzp$$Xt&#BSw)jiynkSB9Y};lq7~FWT zX__<|jTPWxu^^7)jTfTbZqx7gw*ps9dRsjMR^=_ra(%!s=yto9rnxo1yM&>Xs`t9f zVObXY`};eEs{xCmSi7jTUe*7eZ|qh8cMb5LfQDggWJ(BuloBcBuK8AgdwY8u15!#B zi^Z<_RwZt?+Z$QbS`&uh&a-F$?CCbZm&;cUxYl^RUXQXY8I4A38Pi&Getu4pB=mYc4i67& zL-|Spg%J3@k7=3=hr`-HR*@tLPo6v>48z*nxvon?XarX{lPz?`#!(@Jpx^J~x-O&9 zh>MGh+TvHR)yGc|1lYEXW0|~>rZlUyXuvSx?Z>M>tlI>v!t*?u%_h_7lrRiQ({uw= zDMgxPER%wME@@U-J2-|9K81HbhP{KA0|?M)G#Cs993CDLMG;XH5yvrQS=L*U5CVii zR26>bJ^1hoc=Q;={ZCSHo1f@PDbh5p{bQD8NGZ`p&colnqJ8oR-v0!=?Rm&s0bUNR zHAPX7=Q(njv6qF|{##($cagg`{sqnNAD*u*wH^Qf03~!qSaf7zbY(hYa%Ew3WdJfT zF)}SMGc7PVR53IK~z}7?U&DMTvZguKj+>% zZ!$ldOiW@DQ^ZmW_#dopvUZNhUM%-n}l~n>3So^JWyG3OTzO=HAaezrN>;-0`jBT9~>f)P3+i zcpu#V7C{RFT82Gh{*|}a0|JL9Y+H(kVdw+ET5t~A{|5qFmIp_FBUl$X^x-@= zXR!_?k(UBz%DnaqULsk~JoiR?4uqOdxy{2RX44!SD)f+@#r{t zP0-z7X5jgzr5@m^y#lNN0Ubl$4Y#1gqP;}N?YF;^4=dbE!ja-`n8i58UX=3RN|>Aj^>heSaefwW^{L9a%BKPWN%_+AW3auXJt}lVPtu6$z?nM0000
- {% block content %} {% endblock %} + {% block content %} + +
+
+ {% block content_enclosed %} + {% endblock %} +
+ +
+ {% block content_extra %} + {% endblock %} +
+ {% endblock %}
diff --git a/src/cas/templates/cas/login.html b/src/cas/templates/cas/login.html index b1b9025..962451c 100644 --- a/src/cas/templates/cas/login.html +++ b/src/cas/templates/cas/login.html @@ -1,10 +1,10 @@ {% extends "base.html" %} {% load i18n %} +{% load account %} -{% block content %} +{% block content_enclosed %} -
-
+ {% csrf_token %}

{% trans "Login" %}

@@ -17,9 +17,33 @@ {% endif %} {{ form.as_p }} - +

+ +
+ {% trans "I forgot my password" %} + {% if settings.REGISTRATION_OPEN %} +
{% trans "Sign up" %} + {% endif %} +
+{% endblock %} + + +{% block content_extra %} + +{% if socialaccount.providers %} +

{% trans "Or login using:" %}

+
+ +
    + {% include "socialaccount/snippets/provider_list.html" with process="login" %} +
+ +
+
+{% include "socialaccount/snippets/login_extra.html" %} +{% endif %} {% endblock %} diff --git a/src/cas/templates/facebook/fbconnect.html b/src/cas/templates/facebook/fbconnect.html new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/src/cas/templates/facebook/fbconnect.html @@ -0,0 +1 @@ + diff --git a/src/cas/templates/socialaccount/connections.html b/src/cas/templates/socialaccount/connections.html new file mode 100644 index 0000000..85d163b --- /dev/null +++ b/src/cas/templates/socialaccount/connections.html @@ -0,0 +1,58 @@ +{% extends "base.html" %} + +{% load i18n %} +{% load static from staticfiles %} + +{% block title %}{% trans "Account Connections" %}{% endblock %} + +{% block content %} +

{% trans "Account Connections" %}

+ +{% if form.accounts %} +

{% blocktrans %}You can sign in to your account using any of the following third party accounts:{% endblocktrans %}

+ + +
+{% csrf_token %} + +
+{% if form.non_field_errors %} +
{{form.non_field_errors}}
+{% endif %} + +{% for base_account in form.accounts %} +{% with base_account.get_provider_account as account %} +
+ +
+{% endwith %} +{% endfor %} + +
+ +
+ +
+ +
+ +{% else %} +

{% trans "You currently have no social network accounts connected to this account." %}

+{% endif %} + +

{% trans 'Add a 3rd Party Account' %}

+ +
    +{% include "socialaccount/snippets/provider_list.html" %} +
+ +{% include "socialaccount/snippets/login_extra.html" %} +{% endblock %} + + diff --git a/src/cas/templates/socialaccount/login_cancelled.html b/src/cas/templates/socialaccount/login_cancelled.html new file mode 100644 index 0000000..e051b5d --- /dev/null +++ b/src/cas/templates/socialaccount/login_cancelled.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% load i18n %} + +{% block title %}{% trans "Login Cancelled" %}{% endblock %} + +{% block content %} + +

{% trans "Login Cancelled" %}

+ +{% url 'socialaccount_login' as login_url %} +{{ login_url }} + +

{% blocktrans %}You decided to cancel logging in to our site using one of your exisiting accounts. If this was a mistake, please proceed to sign in.{% endblocktrans %}

+ +{% endblock %} + diff --git a/src/cas/templates/socialaccount/snippets/provider_list.html b/src/cas/templates/socialaccount/snippets/provider_list.html new file mode 100755 index 0000000..80f9c2f --- /dev/null +++ b/src/cas/templates/socialaccount/snippets/provider_list.html @@ -0,0 +1,22 @@ +{% load socialaccount %} +{% load static from staticfiles %} + +{% for provider in socialaccount.providers %} + {% if provider.id == "openid" %} + {% for brand in provider.get_brands %} +
  • + {{ brand.name }} +
  • + {% endfor %} + {% endif %} +
  • + {{ provider.name }} +
  • +{% endfor %} diff --git a/src/cas/urls.py b/src/cas/urls.py index 5b67eb1..29c63e3 100644 --- a/src/cas/urls.py +++ b/src/cas/urls.py @@ -3,9 +3,11 @@ from django.conf.urls import include, patterns, url from django.views.generic import RedirectView from django.contrib import admin from django.conf import settings +from django.views.defaults import page_not_found admin.autodiscover() + urlpatterns = patterns('', url(r'^$', RedirectView.as_view(url='/accounts/')), @@ -17,6 +19,10 @@ urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^accounts/', include('accounts.urls')), + + url(r'^accounts/', include('accounts.urls')), + url(r'^auth/(email|signup|login|logout|confirm_email)', page_not_found), + url(r'^auth/', include('allauth.urls')), ) -- 2.20.1