Use LdapManager call in change user details page
This commit is contained in:
parent
3a867a4cd1
commit
3f7ab047a5
1 changed files with 23 additions and 9 deletions
32
dal/views.py
32
dal/views.py
|
@ -101,16 +101,30 @@ class ChangeData(View):
|
|||
if not request.user.is_authenticated:
|
||||
return render(request, 'mustbeloggedin.html')
|
||||
user = request.user
|
||||
login(request, user)
|
||||
# get basic data (firstname, lastname, email)
|
||||
with get_pool().next() as rpc:
|
||||
(state, firstname, lastname, email) = rpc.getuserdata.get_data(str(request.user))
|
||||
# If it throws an error, the errormessage gets put into firstname.. not great naming, but works best this way
|
||||
if state == "error":
|
||||
return render(request, 'error.html', { 'urlname': urlname, 'service': service, 'error': firstname } )
|
||||
# The template puts the old data as standard in the fields
|
||||
|
||||
ldap_manager = LdapManager()
|
||||
user_exists, entries = ldap_manager.check_user_exists(
|
||||
uid=user.username,
|
||||
is_customer=True,
|
||||
attributes=['uid', 'givenName', 'sn', 'email']
|
||||
)
|
||||
|
||||
if user_exists:
|
||||
return render(
|
||||
request,
|
||||
'changeuserdata.html',
|
||||
{ 'user': user.username,
|
||||
'firstname': entries[0].givenName
|
||||
if entries[0].givenName.value is not None else '',
|
||||
'lastname': entries[0].sn
|
||||
if entries[0].sn.value is not None else '',
|
||||
'email': entries[0].email
|
||||
if entries[0].email.value is not None else ''}
|
||||
)
|
||||
else:
|
||||
return render(request, 'changeuserdata.html', { 'user': str(request.user), 'firstname': firstname, 'lastname': lastname, 'email': email } )
|
||||
return render(request, 'error.html',
|
||||
{'urlname': urlname, 'service': service,
|
||||
'error': request.user.username})
|
||||
|
||||
# get the change request
|
||||
def post(self, request):
|
||||
|
|
Loading…
Reference in a new issue