From a9526bd837d3615cab0e7d73deff11e4c7e55db6 Mon Sep 17 00:00:00 2001 From: Johan Lundberg Date: Tue, 17 May 2011 15:27:39 +0200 Subject: Added code for changing other attributes. --- models.py | 6 ++++-- templates/changepw/change_other.html | 34 ++++++++++++++++++++++++++++++++++ views.py | 27 +++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 templates/changepw/change_other.html diff --git a/models.py b/models.py index 3a82892..7415b7f 100644 --- a/models.py +++ b/models.py @@ -1,4 +1,3 @@ -from django.db import models from django import forms import re @@ -33,5 +32,8 @@ case letter and one lower case letter in your password.') if not re.search('[,.\[\]!@#$%^&*?_\(\)-]', new_password): raise forms.ValidationError('You need at least one special \ character i.e. ,.][!@#$%^&*?_()-') - return cleaned_data + + +class ChangeOtherForm(forms.Form): + new_attrib = forms.Textarea() \ No newline at end of file diff --git a/templates/changepw/change_other.html b/templates/changepw/change_other.html new file mode 100644 index 0000000..492e98c --- /dev/null +++ b/templates/changepw/change_other.html @@ -0,0 +1,34 @@ +{% extends "base.html" %} +{% block js %} +{% endblock %} +{% block title %}Change other{% endblock %} +{% block content %} +

Change other

+{% if form %} +

+ {{ form.non_field_errors }} +

+
{% csrf_token %} + + {% for field in form %} + + + + + + + {% endfor %} +
{{ field.errors }}
{{ field.label_tag }}:{{ field }}
+ +
+{% else %} +

Something went wrong. Please contact an administrator.

+

Return code: {{ return_value }}

+{% endif %} + +

+ Back
+ Log out +

+{% endblock %} + diff --git a/views.py b/views.py index 174942f..063772b 100644 --- a/views.py +++ b/views.py @@ -17,6 +17,15 @@ def _reset_password(request, user, new_password): ''' # ret = your_pw_change_module.reset_password(user, new_password) return 0 + +def _change_other(request): + ''' + Use this to call your change function. + ''' + # user = request.user + # ssh_key = request.POST.getattr('ssh_key') + # ret = your_ldap_module.change_public_ssh_key(user, ssh_key) + return 0 def _get_username(request): ''' @@ -89,3 +98,21 @@ def reset_password(request): return render_to_response('changepw/reset_password.html', {'username': username, 'return_value': None}, context_instance=RequestContext(request)) + +@login_required(login_url='/sso/accounts/login/') +def change_other(request): + ''' + Just passes along the request so that something can be done for that user. + ''' + username = _get_username(request) + if request.method == 'POST': + return_value = _change_other(request) + return render_to_response('changepw/change_other.html', + {'username': username, 'return_value': return_value}, + context_instance=RequestContext(request)) + else: + form = ChangePasswordForm() + return render_to_response('changepw/change_other.html', + {'username': username, 'return_value': None, + 'form': form}, + context_instance=RequestContext(request)) -- cgit v1.1