def password_change(request): msg = '' pw_form = LDAPPasswordChangeForm(request.POST or None) if request.POST and pw_form.is_valid(): new_pass = pw_form.cleaned_data['new_password'] old_pass = pw_form.cleaned_data['old_password'] if new_pass == pw_form.cleaned_data['new_password_confirm']: msg = 'Password successfuly set.' try: l = ldap.initialize(settings.LDAP_SERVER) dn = 'uid=%s,ou=people,dc=kiberpipa,dc=org' % request.user.username l.simple_bind_s(dn, old_pass) l.passwd_s(dn, old_pass, new_pass) except ldap.CONSTRAINT_VIOLATION, e: msg = e[0]['info'] except ldap.INVALID_CREDENTIALS: msg = 'Sorry, wrong password'
def password_change(request): msg = '' pw_form = LDAPPasswordChangeForm() if request.method == 'POST': pw_form = LDAPPasswordChangeForm(request.POST) if pw_form.is_valid(): if pw_form.cleaned_data['new_password'] == pw_form.cleaned_data['new_password_confirm']: msg = 'Password successfuly set.' try: l = ldap.initialize(settings.LDAP_SERVER) dn = 'uid=%s,ou=people,dc=kiberpipa,dc=org' % request.user.username l.simple_bind_s(dn, pw_form.cleaned_data['old_password']) l.passwd_s(dn, pw_form.cleaned_data['old_password'], pw_form.cleaned_data['new_password']) except ldap.SERVER_DOWN: msg = 'LDAP server seems to be unavailable. Better luck next time. OH, and do notify the admins!' except ldap.CONSTRAINT_VIOLATION, e: msg = e[0]['info'] except ldap.INVALID_CREDENTIALS: msg = 'Sorry, wrong password.' else: msg = 'Sorry, new password doesn not match the confirm.'