1 from django
.shortcuts
import render
, redirect
2 from django
.contrib
.auth
.decorators
import login_required
3 from django
.http
import HttpResponse
6 import authosm
.utils
as osmutils
7 from lib
.osm
.osmclient
.clientv2
import Client
9 logging
.basicConfig(level
=logging
.DEBUG
)
10 log
= logging
.getLogger(__name__
)
15 user
= osmutils
.get_user(request
)
17 result
= client
.user_list(user
.get_token())
19 'users': result
['data'] if result
and result
['error'] is False else []
21 return __response_handler(request
, result
, 'user_list.html')
26 user
= osmutils
.get_user(request
)
29 "username": request
.POST
['username'],
30 "password": request
.POST
['password'],
31 "projects": request
.POST
.getlist('projects')
34 result
= client
.user_create(user
.get_token(), user_data
)
36 return __response_handler(request
, result
, 'users:list', to_redirect
=True)
40 def delete(request
, user_id
=None):
41 user
= osmutils
.get_user(request
)
44 del_res
= client
.user_delete(user
.get_token(), user_id
)
45 except Exception as e
:
47 return __response_handler(request
, {}, 'users:list', to_redirect
=True, )
50 def __response_handler(request
, data_res
, url
=None, to_redirect
=None, *args
, **kwargs
):
51 raw_content_types
= request
.META
.get('HTTP_ACCEPT', '*/*').split(',')
52 if 'application/json' in raw_content_types
or url
is None:
53 return HttpResponse(json
.dumps(data_res
), content_type
="application/json", *args
, **kwargs
)
55 return redirect(url
, *args
, **kwargs
)
57 return render(request
, url
, data_res
)