aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'okupy/accounts')
-rw-r--r--okupy/accounts/forms.py17
-rw-r--r--okupy/accounts/urls.py15
-rw-r--r--okupy/accounts/views.py127
3 files changed, 89 insertions, 70 deletions
diff --git a/okupy/accounts/forms.py b/okupy/accounts/forms.py
index 01a342a..47b66a2 100644
--- a/okupy/accounts/forms.py
+++ b/okupy/accounts/forms.py
@@ -69,7 +69,7 @@ class ProfileSettingsForm(forms.Form):
last_name = forms.CharField(
max_length=100, label='Last Name', required=False)
birthday = forms.DateField(
- input_formats='%m/%d/%Y', label='Birthday (format: month/day/year)', required=False)
+ input_formats='%m/%d/%Y', label='Birthday', required=False)
timezone = forms.ChoiceField(
choices=[(x, x) for x in pytz.common_timezones])
@@ -79,7 +79,10 @@ class PasswordSettingsForm(forms.Form):
), label='Old Password', required=False)
new_password = forms.CharField(max_length=30, widget=forms.PasswordInput(
), label='New Password', required=False)
- new_password_verify = forms.CharField(max_length=30, widget=forms.PasswordInput(), label='Repeat New Password', required=False)
+ new_password_verify = forms.CharField(max_length=30,
+ widget=forms.PasswordInput(),
+ label='Repeat New Password',
+ required=False)
def clean(self):
cleaned_data = super(PasswordSettingsForm, self).clean()
@@ -90,14 +93,18 @@ class PasswordSettingsForm(forms.Form):
raise forms.ValidationError(
'Please enter your current password to change the password.')
elif new_password != new_password_verify:
- raise forms.ValidationError('Passsword verification failed. Please re-enter the new password.')
+ raise forms.ValidationError(
+ "Paswords don't match. Please enter passwords again.")
elif (old_password and new_password) and (not new_password_verify):
- raise forms.ValidationError('Password verification failed. Please repeat your new password.')
+ raise forms.ValidationError(
+ 'Password verification failed. Please repeat your passwords.')
return cleaned_data
class EmailSettingsForm(forms.Form):
- email = forms.EmailField(max_length=254, label='Add Email', help_text='A valid email address, please.', required=False)
+ email = forms.EmailField(max_length=254, label='Add Email',
+ help_text='A valid email address, please.',
+ required=False)
class ContactSettingsForm(forms.Form):
diff --git a/okupy/accounts/urls.py b/okupy/accounts/urls.py
index 9212089..a43f13e 100644
--- a/okupy/accounts/urls.py
+++ b/okupy/accounts/urls.py
@@ -9,13 +9,18 @@ accounts_urlpatterns = patterns(
url(r'^login/$', v.login),
url(r'^ssl-auth/$', v.ssl_auth),
url(r'^logout/$', v.logout, name="logout"),
- url(r'^devlist/$', v.lists, {'acc_list': 'devlist'}, name="active_developers"),
- url(r'^former-devlist/$', v.lists, {'acc_list': 'former-devlist'}, name="former_developers"),
- url(r'^foundation-members/$', v.lists, {'acc_list': 'foundation-members'}, name="foundation_members"),
+ url(r'^devlist/$', v.lists, {'acc_list': 'devlist'},
+ name="active_developers"),
+ url(r'^former-devlist/$', v.lists, {'acc_list': 'former-devlist'},
+ name="former_developers"),
+ url(r'^foundation-members/$', v.lists, {'acc_list': 'foundation-members'},
+ name="foundation_members"),
url(r'^contact-settings/$', v.contact_settings, name="contact-settings"),
- url(r'^gentoo-dev-settings/$', v.gentoo_dev_settings, name="gentoo-dev-settings"),
+ url(r'^gentoo-dev-settings/$', v.gentoo_dev_settings,
+ name="gentoo-dev-settings"),
url(r'^profile-settings/$', v.profile_settings, name="profile-settings"),
- url(r'^password-settings/$', v.password_settings, name="password-settings"),
+ url(r'^password-settings/$', v.password_settings,
+ name="password-settings"),
url(r'^email-settings/$', v.email_settings, name="email-settings"),
url(r'^signup/$', v.signup),
url(r'^activate/(?P<token>[a-zA-Z0-9-_]+)/$', v.activate),
diff --git a/okupy/accounts/views.py b/okupy/accounts/views.py
index 2db9981..96b2614 100644
--- a/okupy/accounts/views.py
+++ b/okupy/accounts/views.py
@@ -30,7 +30,8 @@ from okupy.accounts.forms import (LoginForm, OpenIDLoginForm, SSLCertLoginForm,
OTPForm, SignupForm, SiteAuthForm,
StrongAuthForm, ProfileSettingsForm,
ContactSettingsForm, EmailSettingsForm,
- GentooAccountSettingsForm, PasswordSettingsForm)
+ GentooAccountSettingsForm,
+ PasswordSettingsForm)
from okupy.accounts.models import LDAPUser, OpenID_Attributes, Queue
from okupy.accounts.openid_store import DjangoDBOpenIDStore
from okupy.common.ldap_helpers import (get_bound_ldapuser,
@@ -375,7 +376,7 @@ def activate(request, token):
@otp_required
def profile_settings(request):
""" Primary account settings, """
- user_profile_info = get_bound_ldapuser(request)
+ user_info = get_bound_ldapuser(request)
profile_settings = None
if request.method == "POST":
profile_settings = ProfileSettingsForm(request.POST)
@@ -385,21 +386,21 @@ def profile_settings(request):
first_name = profile_settings.cleaned_data['first_name']
last_name = profile_settings.cleaned_data['last_name']
- if user_profile_info.first_name != first_name:
- user_profile_info.first_name = first_name
+ if user_info.first_name != first_name:
+ user_info.first_name = first_name
- if user_profile_info.last_name != last_name:
- user_profile_info.last_name = last_name
+ if user_info.last_name != last_name:
+ user_info.last_name = last_name
- user_profile_info.full_name = '%s %s' % (first_name, last_name)
- user_profile_info.gecos = '%s %s' % (first_name, last_name)
+ user_info.full_name = '%s %s' % (first_name, last_name)
+ user_info.gecos = '%s %s' % (first_name, last_name)
"""
- if user_profile_info.birthday != birthday:
- user_profile_info.birthday = birthday
+ if user_info.birthday != birthday:
+ user_info.birthday = birthday
"""
try:
- user_profile_info.save()
+ user_info.save()
except IntegrityError:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
@@ -413,7 +414,7 @@ def profile_settings(request):
return render(request, 'settings-profile.html', {
'profile_settings': profile_settings,
- 'user_profile_info': user_profile_info,
+ 'user_info': user_info,
})
@@ -421,29 +422,32 @@ def profile_settings(request):
@otp_required
def password_settings(request):
""" Password settings """
- user_profile_info = get_bound_ldapuser(request)
+ user_info = get_bound_ldapuser(request)
password_settings = None
if request.method == "POST":
password_settings = PasswordSettingsForm(request.POST)
if password_settings.is_valid():
try:
new_password = password_settings.cleaned_data['new_password']
- new_password_verify = password_settings.cleaned_data['new_password_verify']
+ new_password_verify = password_settings.cleaned_data[
+ 'new_password_verify']
old_password = password_settings.cleaned_data['old_password']
if old_password and (new_password == new_password_verify):
- for hash in list(user_profile_info.password):
+ for hash in list(user_info.password):
print hash
try:
if ldap_md5_crypt.verify(old_password, hash):
- user_profile_info.password.append(ldap_md5_crypt.encrypt(new_password_verify))
- user_profile_info.password.remove(hash)
+ user_info.password.append(
+ ldap_md5_crypt.encrypt(
+ new_password_verify))
+ user_info.password.remove(hash)
break
except ValueError:
# ignore unknown hashes
pass
try:
- user_profile_info.save()
+ user_info.save()
except IntegrityError:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
@@ -457,7 +461,7 @@ def password_settings(request):
return render(request, 'settings-password.html', {
'password_settings': password_settings,
- 'user_profile_info': user_profile_info,
+ 'user_info': user_info,
})
@@ -465,7 +469,7 @@ def password_settings(request):
@otp_required
def email_settings(request):
""" Email Settings """
- user_profile_info = get_bound_ldapuser(request)
+ user_info = get_bound_ldapuser(request)
email_settings = None
if request.method == "POST":
email_settings = EmailSettingsForm(request.POST)
@@ -474,12 +478,12 @@ def email_settings(request):
email = email_settings.cleaned_data['email']
if request.POST.get('delete'):
- user_profile_info.email.remove(email)
+ user_info.email.remove(email)
else:
- user_profile_info.email.append(email)
+ user_info.email.append(email)
try:
- user_profile_info.save()
+ user_info.save()
except IntegrityError:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
@@ -493,7 +497,7 @@ def email_settings(request):
return render(request, 'settings-email.html', {
'email_settings': email_settings,
- 'user_profile_info': user_profile_info,
+ 'user_info': user_info,
})
@@ -501,13 +505,14 @@ def email_settings(request):
@otp_required
def contact_settings(request):
""" Contact details """
- user_profile_info = get_bound_ldapuser(request)
+ user_info = get_bound_ldapuser(request)
contact_settings = None
if request.method == "POST":
contact_settings = ContactSettingsForm(request.POST)
if contact_settings.is_valid():
try:
- gpg_fingerprint = contact_settings.cleaned_data['gpg_fingerprint']
+ gpg_fingerprint = contact_settings.cleaned_data[
+ 'gpg_fingerprint']
im = contact_settings.cleaned_data['im']
latitude = contact_settings.cleaned_data['latitude']
location = contact_settings.cleaned_data['location']
@@ -515,32 +520,32 @@ def contact_settings(request):
phone = contact_settings.cleaned_data['phone']
website = contact_settings.cleaned_data['website']
- if user_profile_info.location != location:
- user_profile_info.location = location
+ if user_info.location != location:
+ user_info.location = location
- if user_profile_info.phone != phone:
- user_profile_info.phone = phone
+ if user_info.phone != phone:
+ user_info.phone = phone
- if user_profile_info.website != website:
- user_profile_info.website.pop()
- user_profile_info.website.append(website)
+ if user_info.website != website:
+ user_info.website.pop()
+ user_info.website.append(website)
- if user_profile_info.im != im:
- user_profile_info.im.pop()
- user_profile_info.im.append(im)
+ if user_info.im != im:
+ user_info.im.pop()
+ user_info.im.append(im)
- if user_profile_info.longitude != longitude:
- user_profile_info.longitude = longitude
+ if user_info.longitude != longitude:
+ user_info.longitude = longitude
- if user_profile_info.latitude != latitude:
- user_profile_info.latitude = latitude
+ if user_info.latitude != latitude:
+ user_info.latitude = latitude
- if user_profile_info.gpg_fingerprint != gpg_fingerprint:
- user_profile_info.gpg_fingerprint.pop()
- user_profile_info.gpg_fingerprint.append(gpg_fingerprint)
+ if user_info.gpg_fingerprint != gpg_fingerprint:
+ user_info.gpg_fingerprint.pop()
+ user_info.gpg_fingerprint.append(gpg_fingerprint)
try:
- user_profile_info.save()
+ user_info.save()
except IntegrityError:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
@@ -554,7 +559,7 @@ def contact_settings(request):
return render(request, 'settings-contact.html', {
'contact_settings': contact_settings,
- 'user_profile_info': user_profile_info,
+ 'user_info': user_info,
})
@@ -562,37 +567,39 @@ def contact_settings(request):
@otp_required
def gentoo_dev_settings(request):
""" Gentoo related information """
- user_profile_info = get_bound_ldapuser(request)
+ user_info = get_bound_ldapuser(request)
gentoo_account_settings = None
if request.method == "POST":
gentoo_account_settings = GentooAccountSettingsForm(request.POST)
if gentoo_account_settings.is_valid():
try:
devbug = gentoo_account_settings.cleaned_data['developer_bug']
- gentoo_join_date = gentoo_account_settings.cleaned_data['gentoo_join_date']
+ gentoo_join_date = gentoo_account_settings.cleaned_data[
+ 'gentoo_join_date']
gentoo_mentor = gentoo_account_settings.cleaned_data['mentor']
ssh_pubkey = gentoo_account_settings.cleaned_data['ssh_key']
- if user_profile_info.developer_bug != devbug:
- user_profile_info.developer_bug.append(devbug)
+ if user_info.developer_bug != devbug:
+ user_info.developer_bug.append(devbug)
- if user_profile_info.gentoo_join_date != gentoo_join_date:
- user_profile_info.gentoo_join_date.append(gentoo_join_date)
+ if user_info.gentoo_join_date != gentoo_join_date:
+ user_info.gentoo_join_date.append(gentoo_join_date)
- if user_profile_info.mentor != gentoo_mentor:
- user_profile_info.mentor.append(gentoo_mentor)
+ if user_info.mentor != gentoo_mentor:
+ user_info.mentor.append(gentoo_mentor)
if ssh_pubkey:
- user_profile_info.ssh_key.append(ssh_pubkey)
+ user_info.ssh_key.append(ssh_pubkey)
- if user_profile_info.is_retired or user_profile_info.gentoo_retire_date:
- gentoo_retire_date = gentoo_account_settings.cleaned_data['gentoo_retire_date']
- if user_profile_info.gentoo_retire_date != gentoo_retire_date:
- user_profile_info.gentoo_retire_date.append(
+ if user_info.is_retired or user_info.gentoo_retire_date:
+ gentoo_retire_date = gentoo_account_settings.cleaned_data[
+ 'gentoo_retire_date']
+ if user_info.gentoo_retire_date != gentoo_retire_date:
+ user_info.gentoo_retire_date.append(
gentoo_retire_date)
try:
- user_profile_info.save()
+ user_info.save()
except IntegrityError:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
@@ -606,7 +613,7 @@ def gentoo_dev_settings(request):
return render(request, 'settings-gentoo.html', {
'gentoo_account_settings': gentoo_account_settings,
- 'user_profile_info': user_profile_info,
+ 'user_info': user_info,
})