Add mobile phone field

This commit is contained in:
Götz 2019-05-07 20:11:52 +02:00
parent 0fd88ca6c4
commit 5c3d9bcb71
7 changed files with 20 additions and 12 deletions

View File

@ -26,8 +26,8 @@ class UpdateLDAPUserForm(forms.Form):
email = forms.EmailField(label='E-Mail')
first_name = forms.CharField(label='Vorname', required=True)
last_name = forms.CharField(label='Nachname', required=True)
# phone = forms.(db_column='telephoneNumber', blank=True)
# mobile_phone = forms.CharField(db_column='mobile', blank=True)
phone = forms.CharField(label='Festnetz', required=False)
mobile_phone = forms.CharField(label='Mobiltelefon', required=False)
# photo = forms.ImageField(label='Profilfoto', required=False)

View File

@ -33,7 +33,8 @@ class LdapUser(Model):
email = ldap_fields.CharField(db_column='mail')
phone = ldap_fields.CharField(db_column='telephoneNumber', blank=True)
mobile_phone = ldap_fields.CharField(db_column='mobile', blank=True)
photo = ldap_fields.ImageField(db_column='jpegPhoto')
photo = ldap_fields.ImageField(db_column='photo')
# photo = ldap_fields.ImageField(db_column='jpegPhoto')
def __str__(self):
return self.username

View File

@ -135,7 +135,6 @@ def realm_user_update(request, realm_id, user_dn):
form_class=AdminUpdateLDAPUserForm,
form_attrs=[
{'model_field': 'username', 'form_field': 'username'},
{'model_field': 'password', 'form_field': 'password'},
{'model_field': 'first_name', 'form_field': 'first_name'},
{'model_field': 'last_name', 'form_field': 'last_name'},
{'model_field': 'email', 'form_field': 'email'}, ])
@ -301,7 +300,9 @@ def user_update(request, realm_id, user_dn):
form_attrs=[
{'model_field': 'first_name', 'form_field': 'first_name'},
{'model_field': 'last_name', 'form_field': 'last_name'},
{'model_field': 'email', 'form_field': 'email'}, ])
{'model_field': 'email', 'form_field': 'email'},
{'model_field': 'phone', 'form_field': 'phone'},
{'model_field': 'mobile_phone', 'form_field': 'mobile_phone'}, ])
else:
return redirect('permission-denied')
@ -414,15 +415,17 @@ def user_update_controller(request, realm, ldap_user, redirect_name, update_view
form = form_class(request.POST)
if form.is_valid():
for form_attr in form_attrs:
if form.cleaned_data[form_attr['form_field']]:
ldap_user.__setattr__(form_attr['model_field'], form.cleaned_data[form_attr['form_field']])
# if form.cleaned_data[form_attr['form_field']]:
logger.info(form.cleaned_data[form_attr['form_field']])
ldap_user.__setattr__(form_attr['model_field'], form.cleaned_data[form_attr['form_field']])
ldap_user.display_name = f'{form.cleaned_data["first_name"]} {form.cleaned_data["last_name"]}'
logger.debug(ldap_user.display_name)
logger.debug(form.data)
ldap_user.save()
return redirect(redirect_name, realm.id, ldap_user.dn)
else:
form_data = {'username': ldap_user.username, 'first_name': ldap_user.first_name,
'last_name': ldap_user.last_name, 'email': ldap_user.email}
'last_name': ldap_user.last_name, 'email': ldap_user.email, 'phone': ldap_user.phone,
'mobile_phone': ldap_user.mobile_phone}
form = form_class(initial=form_data)
return render(request, update_view, {'form': form, 'realm': realm, 'user': ldap_user})

View File

@ -134,6 +134,9 @@ STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
########################################################################################################################
# LDAP Config #
########################################################################################################################

View File

@ -104,7 +104,7 @@
</td>
<td>{{ realm_wrapper.user_count }}</td>
<td>{{ realm_wrapper.group_count }}</td>
</tr>:wq
</tr>
{% endfor %}
</tbody>

View File

@ -51,7 +51,6 @@
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ mform.text_input(form.username) }}
{{ mform.email_input(form.email) }}
{{ mform.password_input(form.password) }}
{{ mform.text_input(form.first_name) }}
{{ mform.text_input(form.last_name) }}
<div class="d-flex mt-4">

View File

@ -43,11 +43,13 @@
{% else %}
<div class="col-12 col-sm-8 col-md-7 col-lg-5 col-xl-4 bg-white text-dark p-3 mt-5 border">
<h1 class="mb-4">Nutzerdetails anpassen</h1>
<form method="post" class="floating-label-form">
<form method="post" class="floating-label-form" enctype="multipart/form-data">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ mform.email_input(form.email) }}
{{ mform.text_input(form.first_name) }}
{{ mform.text_input(form.last_name) }}
{{ mform.text_input(form.phone) }}
{{ mform.text_input(form.mobile_phone) }}
<div class="d-flex mt-4">
<button type="submit" class="btn btn-primary mr-auto p-2">Speichern</button>
<a href="{{ url('user-detail', args = [realm.id, user.dn]) }}"