replacing openid by django-registration, django-authopenid; warning: not fully work now!

This commit is contained in:
slav0nic 2009-09-08 17:35:04 +03:00
parent 30c7a608c9
commit 304b1ea379
42 changed files with 636 additions and 281 deletions

View file

@ -13,16 +13,8 @@ from forum.models import Topic, Post, Profile, Reputation, Report, PrivateMessag
Forum, Attachment, TZ_CHOICES, PRIVACY_CHOICES
from forum.markups import mypostmarkup
from forum import settings as forum_settings
import openauth
from openauth.forms import RegistrationForm, OpenIDRegistrationForm
from openauth.models import OpenID
from annoying.functions import get_object_or_None
ACCOUNT_CAPTCHA = getattr(settings, 'ACCOUNT_CAPTCHA', False)
if ACCOUNT_CAPTCHA:
from captcha.fields import CaptchaField
SORT_USER_BY_CHOICES = (
('username', _(u'Username')),
@ -385,62 +377,3 @@ class CreatePMForm(forms.ModelForm):
pm = PrivateMessage(src_user=self.user, dst_user=self.cleaned_data['recipient'])
pm = forms.save_instance(self, pm)
return pm
class CustomRegistrationForm(RegistrationForm):
email = forms.EmailField(label=_('Email'))
time_zone = forms.ChoiceField(label=_('Time zone'), choices=TZ_CHOICES)
privacy_permission = forms.ChoiceField(label=_('Privacy permission'), choices=PRIVACY_CHOICES)
def __init__(self, *args, **kwargs):
self.base_fields['privacy_permission'].widget = forms.RadioSelect(
choices=self.base_fields['privacy_permission'].choices
)
super(CustomRegistrationForm, self).__init__(*args, **kwargs)
def clean_email(self):
if get_object_or_None(User, email=self.cleaned_data['email'].lower()):
raise forms.ValidationError(_(u'This email already registered'))
return self.cleaned_data['email']
def save(self):
username = self.cleaned_data['login']
email = self.cleaned_data['email']
password = self.cleaned_data['password']
time_zone = self.cleaned_data['time_zone']
privacy_permission = self.cleaned_data['privacy_permission']
print email
user = User.objects.create_user(username, email, password=password)
user.save()
profile = Profile(user = user,
time_zone = time_zone,
privacy_permission = privacy_permission,
status = 'Member'
)
profile.save()
return user
class CustomOpenIDRegistrationForm(OpenIDRegistrationForm):
username = forms.CharField()
email = forms.EmailField()
def clean_email(self):
if get_object_or_None(User, email=self.cleaned_data['email'].lower()):
raise forms.ValidationError(_(u'This email already registered'))
return self.cleaned_data['email']
def clean_username(self):
if get_object_or_None(User, username__iexact=self.cleaned_data['username']):
raise forms.ValidationError(_(u'This username is already taken'))
return self.cleaned_data['username']
def save(self, openid_url):
username = self.cleaned_data['username']
email = self.cleaned_data['email']
user = User.objects.create(username=username, email=email)
if openauth.settings.OPENID_ACTIVATION_REQUIRED:
user.is_active = False
user.save()
OpenID(user=user, url=openid_url).save()
return user

View file

@ -26,10 +26,10 @@
{% if "PM_SUPPORT"|forum_setting %}
<li id="navpm"><a href="{% url forum_pm_inbox %}">{% trans "PM" %}</a></li>
{% endif %}
<li id="navlogout"><a href="{% url openauth-logout %}">{% trans "Log out" %}</a></li>
<li id="navlogout"><a href="{% url user_signout %}">{% trans "Log out" %}</a></li>
{% else %}
<li><a href="{% url openauth-login %}">{% trans "Log in" %}</a></li>
<li><a href="{% url openauth-registration %}">{% trans "Sign up" %}</a></li>
<li><a href="{% url user_signin %}">{% trans "Log in" %}</a></li>
<li><a href="{% url registration_register %}">{% trans "Sign up" %}</a></li>
{% endif %}
</ul>
</div>

View file

@ -5,24 +5,17 @@ from forum import views as forum_views
from openauth import views as openauth_views
urlpatterns = patterns('',
# Account
url(r'^auth/registration/$', openauth_views.registration, name='openauth-registration'),
url(r'^auth/login/$', openauth_views.login, name='openauth-login'),
url(r'^auth/openid-login/$', openauth_views.openid_login, name='openauth-openid-login'),
url(r'^auth/openid-complete/$', openauth_views.openid_complete, name='openauth-openid-complete'),
url(r'^auth/openid-registration/$', openauth_views.openid_registration, name='openauth-openid-registration'),
url(r'^auth/logout/$', openauth_views.logout, name='openauth-logout'),
url(r'^auth/reset-password/$', openauth_views.reset_password, name='openauth-reset-password'),
url(r'^auth/change-password/$', openauth_views.change_password, name='openauth-change-password'),
#(r'', include('confirmation.urls'))# needed for activation
# Misc
# Forum
url('^$', forum_views.index, name='index'),
url('^(?P<forum_id>\d+)/$', forum_views.show_forum, name='forum'),
url('^moderate/(?P<forum_id>\d+)/$', forum_views.moderate, name='moderate'),
url('^search/$', forum_views.search, name='search'),
url('^misc/$', forum_views.misc, name='misc'),
# Account
('account/', include('django_authopenid.urls')),
# User
url('^user/(?P<username>.*)/$', forum_views.user, name='forum_profile'),
url('^users/$', forum_views.users, name='forum_users'),

View file

@ -5,6 +5,7 @@ import datetime
from django.shortcuts import get_object_or_404
from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseForbidden
from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required
from django.conf import settings
from django.core.urlresolvers import reverse
from django.db import connection
@ -12,7 +13,6 @@ from django.core.cache import cache
from django.utils import translation
from django.db.models import Q, F, Sum
from openauth.utils import login_required
from forum.util import render_to, paged, build_form, paginate, set_language
from forum.models import Category, Forum, Topic, Post, Profile, Read,\
@ -494,7 +494,7 @@ def user(request, username):
else:
topic_count = Topic.objects.filter(user=user).count()
if user.forum_profile.post_count < forum_settings.POST_USER_SEARCH and not request.user.is_authenticated():
return HttpResponseRedirect(reverse('openauth_login') + '?next=%s' % request.path)
return HttpResponseRedirect(reverse('user_signin') + '?next=%s' % request.path)
return {'profile': user,
'topic_count': topic_count,
}

View file

@ -88,14 +88,9 @@ MIDDLEWARE_CLASSES = (
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_authopenid.middleware.OpenIDMiddleware',
'forum.middleware.LastLoginMiddleware',
'forum.middleware.UsersOnline',
'flashcookie.FlashMiddleware',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'openauth.backends.OpenIDBackend',
'forum.middleware.UsersOnline'
)
ROOT_URLCONF = 'urls'
@ -115,9 +110,8 @@ INSTALLED_APPS = (
'django.contrib.sitemaps',
'django.contrib.admin',
'django.contrib.admindocs',
'notify',
'confirmation',
'openauth',
'registration',
'django_authopenid',
'forum',
'djapian',
)
@ -130,20 +124,16 @@ TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.request',
'flashcookie.flash_context',
'django_authopenid.context_processors.authopenid'
)
# Djapian settings
DJAPIAN_DATABASE_PATH = os.path.join(PROJECT_ROOT, 'djapian_db')
# Account settings
REGISTRATION_FORM = 'forum.forms.CustomRegistrationForm'
OPENID_REGISTRATION_FORM = 'forum.forms.CustomOpenIDRegistrationForm'
ACCOUNT_ACTIVATION_DAYS = 10
LOGIN_REDIRECT_URL = '/forum/'
LOGOUT_REDIRECT_URL = '/forum/'
NOTIFY_TYPE = 'flashcookie'
OPENID_EXTRA_FIELDS = ['nickname', 'email']
OPENID_PROFILE_MAPPING = {'nickname': 'login', 'email': 'email'}
try:

View file

@ -0,0 +1,56 @@
#auth_form {
display: block;
width: 250px;
float: left;
margin-right: 20px;
}
#openid_form {
display: block;
width: 470px;
float: left;
}
#openid_form legend,
#auth_form legend {
font-weight: bold;
}
#openid_choice {
display: none;
}
#openid_input_area {
clear: both;
padding: 10px;
}
#openid_btns, #openid_btns br {
clear: both;
}
#openid_highlight {
padding: 3px;
background-color: #FFFCC9;
float: left;
}
.openid_large_btn {
width: 100px;
height: 60px;
border: 1px solid #DDD;
margin: 3px;
float: left;
}
.openid_small_btn {
width: 24px;
height: 24px;
border: 1px solid #DDD;
margin: 3px;
float: left;
}
a.openid_large_btn:focus {
outline: none;
}
a.openid_large_btn:focus {
-moz-outline-style: none;
}
.openid_selected {
border: 4px solid #DDD;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,243 @@
/*
Simple OpenID Plugin
http://code.google.com/p/openid-selector/
This code is licenced under the New BSD License.
*/
var providers_large = {
google: {
name: 'Google',
url: 'https://www.google.com/accounts/o8/id'
},
yahoo: {
name: 'Yahoo',
url: 'http://yahoo.com/'
},
aol: {
name: 'AOL',
label: 'Enter your AOL screenname.',
url: 'http://openid.aol.com/{username}/'
},
openid: {
name: 'OpenID',
label: 'Enter your OpenID.',
url: null
}
};
var providers_small = {
myopenid: {
name: 'MyOpenID',
label: 'Enter your MyOpenID username.',
url: 'http://{username}.myopenid.com/'
},
livejournal: {
name: 'LiveJournal',
label: 'Enter your Livejournal username.',
url: 'http://{username}.livejournal.com/'
},
flickr: {
name: 'Flickr',
label: 'Enter your Flickr username.',
url: 'http://flickr.com/{username}/'
},
technorati: {
name: 'Technorati',
label: 'Enter your Technorati username.',
url: 'http://technorati.com/people/technorati/{username}/'
},
wordpress: {
name: 'Wordpress',
label: 'Enter your Wordpress.com username.',
url: 'http://{username}.wordpress.com/'
},
blogger: {
name: 'Blogger',
label: 'Your Blogger account',
url: 'http://{username}.blogspot.com/'
},
verisign: {
name: 'Verisign',
label: 'Your Verisign username',
url: 'http://{username}.pip.verisignlabs.com/'
},
vidoop: {
name: 'Vidoop',
label: 'Your Vidoop username',
url: 'http://{username}.myvidoop.com/'
},
verisign: {
name: 'Verisign',
label: 'Your Verisign username',
url: 'http://{username}.pip.verisignlabs.com/'
},
claimid: {
name: 'ClaimID',
label: 'Your ClaimID username',
url: 'http://claimid.com/{username}'
}
};
var providers = $.extend({}, providers_large, providers_small);
var openid = {
cookie_expires: 6*30, // 6 months.
cookie_name: 'openid_provider',
cookie_path: '/',
img_path: '/static/openid/images/',
input_id: null,
provider_url: null,
provider_name: null,
init: function(input_id) {
var openid_btns = $('#openid_btns');
this.input_id = input_id;
$("#"+ input_id).type = "hidden"
$('#openid_choice').show();
$('#openid_input_area').empty();
// add box for each provider
for (id in providers_large) {
openid_btns.append(this.getBoxHTML(providers_large[id], 'large', '.gif'));
}
if (providers_small) {
openid_btns.append('<br/>');
for (id in providers_small) {
openid_btns.append(this.getBoxHTML(providers_small[id], 'small', '.ico'));
}
}
$('#openid_form').submit(this.submit);
var self = this;
$('.openidProvider').bind("click", function(e) {
self.signin(e.target.id);
return false;
});
var box_id = this.readCookie();
if (box_id) {
this.signin(box_id, true);
}
},
getBoxHTML: function(provider, box_size, image_ext) {
var box_id = provider["name"].toLowerCase();
return '<a title="'+provider["name"]+'" href="#" id="' + box_id + '"' +
' style="background: #FFF url(' + this.img_path + box_id + image_ext+') no-repeat center center" ' +
'class="openidProvider ' + box_id + ' openid_' + box_size + '_btn"></a>';
},
/* Provider image click */
signin: function(box_id, onload) {
var provider = providers[box_id];
if (! provider) {
return;
}
this.highlight(box_id);
this.setCookie(box_id);
// prompt user for input?
if (provider['label']) {
this.useInputBox(provider);
this.provider_url = provider['url'];
this.provider_name = provider['name'];
} else {
this.provider_url = null;
this.setOpenIdUrl(provider['url']);
if (! onload) {
$('#openid_form').submit();
}
}
},
/* Sign-in button click */
submit: function() {
var url = openid.provider_url;
if (url) {
url = url.replace('{username}', $('#openid_username').val());
openid.setOpenIdUrl(url);
}
return true;
},
setOpenIdUrl: function (url) {
var hidden = $('#'+this.input_id);
if (hidden.length > 0) {
hidden.val(url);
} else {
$('#openid_form').append('<input type="hidden" id="' + this.input_id + '" name="openid_url" value="'+url+'"/>');
}
},
highlight: function (box_id) {
// remove previous highlight.
var highlight = $('#openid_highlight');
if (highlight) {
highlight.replaceWith($('#openid_highlight a')[0]);
}
// add new highlight.
$('.'+box_id).wrap('<div id="openid_highlight"></div>');
},
setCookie: function (value) {
var date = new Date();
date.setTime(date.getTime()+(this.cookie_expires*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
document.cookie = this.cookie_name+"="+value+expires+"; path=" + this.cookie_path;
},
readCookie: function () {
var nameEQ = this.cookie_name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
},
useInputBox: function (provider) {
var input_area = $('#openid_input_area');
var html = '';
var id = 'openid_username';
var name = id;
var value = '';
var label = provider['label'];
var style = '';
if (label) {
html = '<p>' + label + '</p>';
}
if (provider['name'] == 'OpenID') {
id = this.input_id;
name = "openid_url";
value = 'http://';
style = 'background:#FFF url('+this.img_path+'openid-inputicon.gif) no-repeat scroll 0 50%; padding-left:18px;';
}
html += '<input id="'+id+'" type="text" style="'+style+'" name="'+name+'" value="'+value+'" />' +
'<input id="openid_submit" type="submit" value="Sign-In"/>';
input_area.empty();
input_area.append(html);
$('#'+id).focus();
}
};

View file

@ -0,0 +1,40 @@
{% extends "base.html" %}
{% load i18n %}
{% block content %}
{% if msg %}
<div class="errors"><p>{{ msg }}</p></div>
{% endif %}
{% if form.errors %}
<div class="errors"><p>Openid url : {{ form.openid_url.errors|join:', ' }}</p></div>
{% endif %}
<div class="login">
<form name="openid_form" id="openid_form" action="{% url user_associate %}" method="post">
<input type="hidden" name="action" value="verify" />
<input type="hidden" name="next" value="{{ next }}" />
<fieldset>
<legend>{% trans "Add a new OpenID URL" %}</legend>
<div id="openid_choice">
<p>Please click your account provider:</p>
<div id="openid_btns"></div>
</div>
<div id="openid_input_area">
<label for="id_openid_url">{% trans "OpenId URL :" %}</label><br />{{ form.openid_url }}
<input name="openid_submit" type="submit" value="{% trans "Add OpenID" %}">
</div>
</fieldset>
</form>
</div>
{% endblock %}
{% block extra_scripts %}
<script type="text/javascript" src="{{ MEDIA_URL }}/js/openid-jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
openid.init('id_openid_url');
});
</script>
{% endblock %}

View file

@ -0,0 +1 @@
Thank you to join {{ site }}.

View file

@ -0,0 +1 @@
Welcome to {{ site }}

View file

@ -0,0 +1,72 @@
{% extends "base.html" %}
{% load i18n %}
{% block head %}{% endblock %}
{% block content %}
<div id="completetxt">
<h1>{% trans "Your OpenID is verified! " %}</h1>
{% blocktrans %}
<p>Your OpenID can now be associated with a new or existing membership. You can change the association later in your preferences.</p>
{% endblocktrans %}
<br /><br />
<h2>{% trans "Associate your OpenID" %}</h2>
{% blocktrans %}
<p>If you're joining <strong>Sitename</strong>, associate your OpenID with a new account. If you're already a member, associate with your existing account.</p>
{% endblocktrans %}
</div>
{% if form1.errors %}
<p class="errors">{% trans "Please correct errors below:" %}<br />
{% if form1.username.errors %}
<span class="error">{{ form1.username.errors|join:", " }}</span>
{% endif %}
{% if form1.email.errors %}
<span class="error">{{ form1.email.errors|join:", " }}</span>
{% endif %}
</p>
{% endif %}
{% if form2.errors %}
<p class="errors">{% trans "Please correct errors below:" %}<br />
{% if form2.username.errors %}
<span class="error">{{ form2.username.errors|join:", " }}</span>
{% endif %}
{% if form2.password.errors %}
<span class="error">{{ form2.password.errors|join:", " }}</span>
{% endif %}
</p>
{% endif %}
<div class="login">
<form name="fregister" action="{% url user_register %}" method="POST">
<input type="hidden" name="next" value="{{ next }}" />
<fieldset>
<legend>{% trans "A new account" %}</legend>
<div class="form-row"><label for="id_username">{% trans "Username" %}</label><br />{{ form1.username }}</div>
<div class="form-row"><label for="id_email">{% trans "Email" %}</label><br />{{ form1.email }}</div>
<div class="submit-row"><input type="submit" name="bnewaccount" value="{% trans "Create account" %}"></div>
<hr class="clear" />
</fieldset>
</form>
</div>
<div class="login">
<form name="fverify" action="{% url user_register %}" method="POST">
<input type="hidden" name="next" value="{{ next }}" />
<fieldset>
<legend>{% trans "An existing account" %}</legend>
<div class="form-row"><label for="id_username">{% trans "Username" %}</label><br />{{ form2.username }}</div>
<div class="form-row"><label for="id_passwordl">{% trans "Password" %}</label><br />{{ form2.password }}</div>
<div class="submit-row"><input type="submit" name="bverify" value="{% trans "Verify" %}"></div>
</fieldset>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,29 @@
{% extends "base.html" %}
{% load i18n %}
{% block head %}
{% endblock %}
{% block content %}
{% if msg %}
<p class="warning">{{ msg }}</p>
{% endif %}
<div class="login">
<form name="fopenid" action="" method="post">
<input type="hidden" name="next" value="{{ next }}" />
{{ form.openid_url }}
<fieldset>
<legend>{% trans "Dissociate OpenID URL" %}</legend>
<p>Confirm to dissociate {{ openid_url }} from your account</p>
<div class="submit-row "><input name="bdissociate" type="submit" value="{% trans "Dissociate OpenID" %}"></div>
</fieldset>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>OpenID failed</title>
</head>
<body>
<h1>OpenID failed</h1>
<p>{{ message|escape }}</p>
</body>
</html>

View file

@ -0,0 +1,42 @@
{% extends "base.html" %}
{% load i18n %}
{% block content %}
{% if set_password %}
<h1>{% trans 'Set password' %}</h1>
<p>{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}</p>
<form action="" method="post">
{{ form.new_password1.errors }}
<p class="aligned wide"><label for="id_new_password1">{% trans 'New password:' %}</label>{{ form.new_password1 }}</p>
{{ form.new_password2.errors }}
<p class="aligned wide"><label for="id_new_password2">{% trans 'Confirm password:' %}</label>{{ form.new_password2 }}</p>
<p><input type="submit" value="{% trans 'Change my password' %}" /></p>
</form>
{% else %}
<h1>{% trans 'Password change' %}</h1>
<p>{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}</p>
<form action="" method="post">
{{ form.old_password.errors }}
<p class="aligned wide"><label for="id_old_password">{% trans 'Old password:' %}</label>{{ form.old_password }}</p>
{{ form.new_password1.errors }}
<p class="aligned wide"><label for="id_new_password1">{% trans 'New password:' %}</label>{{ form.new_password1 }}</p>
{{ form.new_password2.errors }}
<p class="aligned wide"><label for="id_new_password2">{% trans 'Confirm password:' %}</label>{{ form.new_password2 }}</p>
<p><input type="submit" value="{% trans 'Change my password' %}" /></p>
</form>
{% endif %}
{% endblock %}

View file

@ -0,0 +1,62 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block extra_meta %}
<link rel="stylesheet" href="{{ MEDIA_URL }}openid/css/openid.css" />
<script type="text/javascript" src="{{ MEDIA_URL }}openid/js/openid-jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
openid.init('id_openid_url');
});
</script>
{% endblock %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Login" %}</span></h2>
<div class="box">
<form action="." method="post">
<div class="inform">
{% if msg %}
<ul class="errorlist">
<li>{{ msg }}</li>
</ul>
{% endif %}
{{ form1.non_field_errors.as_ul }}
{{ form2.non_field_errors.as_ul }}
<fieldset>
<legend>{% trans "Sign in using your username and password" %}</legend>
<div class="infldset">
{{ form2.username.errors }}
<label><strong>{{ form2.username.label }}</strong><br />{{ form2.username }}</label>
{{ form2.password.errors }}
<label><strong>{{ form2.password.label }}</strong><br />{{ form2.password }}</label>
<p class="clearb">{% trans "If you have not registered or have forgotten your password click on the appropriate link below." %}</p>
<p>
<a href="{% url registration_register %}">{% trans "Not registered yet?" %}</a>&nbsp;&nbsp;
<a href="{% url auth_password_reset %}">{% trans "Forgotten your password?" %}</a>
</p>
</div>
</fieldset>
</div>
<input type="hidden" name="next" value="{{ next }}" />
<p><input type="submit" value="{% trans "Login" %}" /></p>
</form>
<form id="openid_form" name="openid_form" action="." method="post">
<input type="hidden" name="action" value="verify" />
<input type="hidden" name="next" value="{{ next }}" />
<fieldset>
<legend>{% trans "Sign In Using Your OpenID URL" %}</legend>
<div id="openid_choice">
<p>{% trans "Please click your account provider:" %}</p>
<div id="openid_btns"></div>
</div>
<div id="openid_input_area">
{{ form1.openid_url.errors }}
<label for="id_openid_url">OpenId URL :</label>{{ form1.openid_url }}
<input name="openid_submit" type="submit" value={% trans "Sign in with OpenID" %} />
</div>
</fieldset>
</form>
</div>
</div>
{% endblock %}

View file

@ -1,29 +0,0 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Change password" %}</span></h2>
<div class="box">
<form id="change_pass" method="post">
<div class="inform">
<fieldset>
<legend>{% trans "Enter and confirm your new password" %}</legend>
<div class="infldset">
<label class="conl"><strong>{{ form.password.label }}:</strong><br />
{{ form.password }}<br /></label>
<label class="conl"><strong>{{ form.password_confirmation.label }}:</strong><br />
{{ form.password_confirmation }}<br /></label>
<div class="clearb"></div>
</div>
</fieldset>
</div>
<p><input type="submit" name="update" value="{% trans "Submit" %}" /><a href="javascript:history.go(-1)">{% trans "Go back" %}</a></p>
</form>
</div>
</div>
{% endblock %}

View file

@ -1,30 +0,0 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Login" %}</span></h2>
<div class="box">
<form method='post' action='?next={{ request.GET.next }}' id="loginform">
<div class="inform">
<fieldset>
<legend>{% trans "Enter your username and password below" %}</legend>
<div class="infldset">
<label class="conl"><strong>{{ form.login.label }}</strong><br />{{ form.login }}<br /></label>
<label class="conl"><strong>{{ form.password.label }}</strong><br />{{ form.password }}<br /></label>
<p class="clearb">{% trans "If you have not registered or have forgotten your password click on the appropriate link below." %}</p>
<p>
<a href="{% url openauth-openid-login %}">{% trans "OpenID login" %}</a>&nbsp;&nbsp;
<a href="{% url openauth-registration %}">{% trans "Not registered yet?" %}</a>&nbsp;&nbsp;
<a href="{% url openauth-reset-password %}">{% trans "Forgotten your password?" %}</a>
</p>
</div>
</fieldset>
</div>
<p><input type="submit" value="{% trans "Login" %}" /></p>
<input type="hidden" name="next" value="{{ next }}" />
</form>
</div>
</div>
{% endblock %}

View file

@ -1,3 +0,0 @@
{% load i18n %}{% blocktrans %}Registration on {{ domain }}{% endblocktrans %}
{% blocktrans %}Thanks for registration on {{ domain }}{% endblocktrans %}.
{% blocktrans %}Please use following link to activate your account: {{ url }}{% endblocktrans %}

View file

@ -1,6 +0,0 @@
Password restore on {{ domain }}
Someone, hopefully you, requested password reset on {{ domain }}.
To approve request, please use following link: {{ url }}
If you have not requested password reset or are not registered user of {{ domain }}, just ignore this email.

View file

@ -1,41 +0,0 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block content %}
<script type="text/javascript">
function chooseProvider(provider) {
var form = document.getElementById('openid_login');
var url = document.getElementById('id_openid_url');
if (provider == 'google') {
url.value = 'https://www.google.com/accounts/o8/id';
form.submit();
} else if(provider == 'yahoo') {
url.value = 'http://yahoo.com';
form.submit();
} else {
alert('unknown provider');
}
}
</script>
<div class="blockform">
<h2><span>{% trans "OpenID Login" %}</span></h2>
<div class="box openid_login">
<img class="openid-logo" alt="OpenID" src="{{ MEDIA_URL }}forum/img/openid_logo.png"/>
<form method='post' action='?next={{ request.GET.next }}' id="loginform">
<div class="inform">
<fieldset>
<legend>{% trans "Enter your OpenID URL" %}</legend>
<div class="infldset">
<label class="conl"><strong>{{ form.openid_url.label }}</strong><br />{{ form.openid_url }} <input type="submit" value="{% trans "Login" %}" /><br /></label>
</div>
</fieldset>
</div>
<p>
<input type="button" name="auth_google" onclick="chooseProvider('google')" value="Google"/>
<input type="button" name="auth_yahoo" onclick="chooseProvider('yahoo')" value="Yahoo"/>
</p>
</form>
</div>
</div>
{% endblock %}

View file

@ -1,22 +0,0 @@
{% extends 'forum/base.html' %}
{% load i18n %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Registration with OpenID: last step" %}</span></h2>
<div class="box">
<form method="post">
<div class="inform">
<fieldset>
<legend>{% trans "Registration with OpenID" %}</legend>
<div class="infldset">
<div class="inform">{{ form.as_p }}</div>
<p>{% trans "OpenID URL" %}: {{ openid_url }}</p>
</div>
<p><input type="submit" value="{% trans "Submit" %}"/></p>
</fieldset>
</div>
</form>
</div>
</div>
{% endblock %}

View file

@ -1,22 +0,0 @@
{% extends 'forum/base.html' %}
{% load i18n %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Request password" %}</span></h2>
<div class="box">
<form method="post">
<div class="inform">
<fieldset>
<legend>{% trans "Enter the e-mail address with which you registered" %}</legend>
<div class="infldset">
{{ form.email }}
<p>{% trans "A new password together with a link to activate the new password will be sent to that address." %}</p>
</div>
</fieldset>
</div>
<p><input type="submit" value="{% trans "Submit" %}"/><a href="javascript:history.go(-1)">{% trans "Go back" %}</a></p>
</form>
</div>
</div>
{% endblock %}

View file

@ -0,0 +1,14 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block head %}
{% endblock %}
{% block content %}
<div class="blockform">
<h2><span>{% trans "Activation" %}</span></h2>
<div class="box">
<p>{% trans 'Your account is now activated.' %}</p>
</div>
</div>
{% endblock %}

View file

@ -0,0 +1,9 @@
{% load i18n %}
{% blocktrans %}
Hi,
Thank you for your registration. To activate your account click on the link below :
{% endblocktrans %}
<a href="http://{{ site.domain }}{% url registration_activate activation_key %}">{% url registration_activate activation_key %}</a>.

View file

@ -0,0 +1,2 @@
{% load i18n %}
[Djangobb] {{ site }}. {% trans "Confirm your registration" %}

View file

@ -0,0 +1,20 @@
{% extends "forum/base.html" %}
{% load i18n %}
{% block head %}
{% endblock %}
{% block content %}
<div class="blockform">
<div class="box">
{% blocktrans %}
<h1>Thank you!</h1>
<p>An email has been sent to you. You need to click link in it to activate your account.</p>
{% endblocktrans %}
</div>
</div>
{% endblock %}

View file

@ -1,6 +1,6 @@
{% extends "forum/base.html" %}
{% load forum_extras %}
{% load i18n %}
{% load forum_extras %}
{% block content %}
<div class="blockform">
@ -10,14 +10,15 @@
<div class="inform">
<div class="forminfo">
<h3>{% trans "Important information" %}</h3>
<p>{% trans "Registration will grant you access to a number of features and capabilities otherwise unavailable. These functions include the ability to edit and delete posts, design your own signature that accompanies your posts and much more. If you have any questions regarding this forum you should ask an administrator." %}</p>
<p>{% trans "elow is a form you must fill out in order to register. Once you are registered you should visit your profile and review the different settings you can change. The fields below only make up a small part of all the settings you can alter in your profile." %}</p>
<p>{% trans "Below is a form you must fill out in order to register. Once you are registered you should visit your profile and review the different settings you can change. The fields below only make up a small part of all the settings you can alter in your profile." %}</p>
</div>
{{ form.non_field_errors.as_ul }}
<fieldset>
<legend>{% blocktrans %}Please enter a username{% endblocktrans %}</legend>
<div class="infldset">
<label><strong>{{ form.login.label }}</strong><br />{{ form.login }}<br /></label>
{{ form.username.errors }}
<label><strong>{{ form.username.label }}</strong><br />{{ form.username }}<br /></label>
</div>
</fieldset>
</div>
@ -25,8 +26,16 @@
<fieldset>
<legend>{% trans "Please enter and confirm your chosen password" %}</legend>
<div class="infldset">
<label class="conl"><strong>{{ form.password.label }}</strong><br />{{ form.password }}<br /></label>
<label class="conl"><strong>{{ form.password_dup.label }}</strong><br />{{ form.password_dup }}<br /></label>
{{ form.password1.errors }}
<label class="conl"><strong>{{ form.password1.label }}</strong><br />{{ form.password1 }}<br /></label>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<div class="infldset">
{{ form.password2.errors }}
<label class="conl"><strong>{{ form.password2.label }}</strong><br />{{ form.password2 }}<br /></label>
<p class="clearb">{% blocktrans %}Passwords are case sensitive.{% endblocktrans %}</p>
</div>
</fieldset>
@ -35,33 +44,12 @@
<fieldset>
<legend>{% trans "Enter a valid e-mail address" %}</legend>
<div class="infldset">
{{ form.email.errors }}
<label><strong>{{ form.email.label }}</strong><br />
{{ form.email }}<br /></label>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend>{% trans "Set your localisation options" %}</legend>
<div class="infldset">
<label>{% trans "Timezone: For the forum to display times correctly you must select your local timezone." %}
<br />
{{ form.time_zone }}
<br /></label>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend>{% trans "Set your privacy options" %}</legend>
<div class="infldset">
<p>{% trans "Select whether you want your e-mail address to be viewable to other users or not and if you want other users to be able to send you e-mail via the forum (form e-mail) or not." %}</p>
<div class="rbox">
{{ form.privacy_permission }}
</div>
</div>
</fieldset>
</div>
<p><input type="submit" value="{% trans "Register" %}" /></p>
</form>
</div>