added preferred email view, added possibility to delete ldap keys (when a None is provided as value

This commit is contained in:
Uwe Kamper 2015-12-01 00:32:51 +01:00
parent 2986d395b2
commit eacbb841a7
7 changed files with 60 additions and 8 deletions

View file

@ -20,7 +20,7 @@ from django.shortcuts import render
from django.utils.translation import ugettext as _
from forms import GastroPinForm, WlanPresenceForm, LoginForm, PasswordForm, \
RFIDForm, NRF24Form, SIPPinForm, CLabPinForm, AdminForm
RFIDForm, NRF24Form, SIPPinForm, CLabPinForm, AdminForm, PreferredEmailForm
from cbase_members import retrieve_member, MemberValues
from password_encryption import *
@ -226,7 +226,10 @@ def set_ldap_field(request, form_type, field_names, template_name):
if form.is_valid():
for form_field, ldap_field in field_names:
member.set(ldap_field, form.cleaned_data[form_field])
if form.cleaned_data[form_field] == '':
member.set(ldap_field, None)
else:
member.set(ldap_field, form.cleaned_data[form_field])
initial[form_field] = member.get(ldap_field)
member.save()
new_form = form_type(initial=initial)
@ -256,6 +259,11 @@ def rfid(request):
def nrf24(request):
return set_ldap_field(request, NRF24Form, [('nrf24', 'nrf24')], 'nrf24.html')
@login_required
def preferred_email(request):
return set_ldap_field(request, PreferredEmailForm, [('preferred_email', 'preferredEmail')],
'preferred_email.html')
@login_required
def admin(request):
admin_member = retrieve_member(request)