impersonate

parent 492dc574
...@@ -45,6 +45,7 @@ INSTALLED_APPS = [ ...@@ -45,6 +45,7 @@ INSTALLED_APPS = [
'administration.apps.AdministrationConfig', 'administration.apps.AdministrationConfig',
'users.apps.UsersConfig', 'users.apps.UsersConfig',
'django_extensions', 'django_extensions',
'impersonate'
] ]
MIDDLEWARE = [ MIDDLEWARE = [
...@@ -53,9 +54,11 @@ MIDDLEWARE = [ ...@@ -53,9 +54,11 @@ MIDDLEWARE = [
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'impersonate.middleware.ImpersonateMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'catalog.middleware.AuthRequiredMiddleware', 'catalog.middleware.AuthRequiredMiddleware',
] ]
ROOT_URLCONF = 'GeoInt_SIDT.urls' ROOT_URLCONF = 'GeoInt_SIDT.urls'
......
...@@ -31,5 +31,6 @@ urlpatterns = [ ...@@ -31,5 +31,6 @@ urlpatterns = [
url(r'^mail/', include('mail.urls')), url(r'^mail/', include('mail.urls')),
url(r'^administration/', include('administration.urls')), url(r'^administration/', include('administration.urls')),
url(r'^users/', include('users.urls')), url(r'^users/', include('users.urls')),
url(r'^impersonate/', include('impersonate.urls')),
] ]
# + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
...@@ -164,6 +164,10 @@ ...@@ -164,6 +164,10 @@
{% if user.superuser == True %}checked{% endif %}> {% if user.superuser == True %}checked{% endif %}>
</td> </td>
<td> <td>
{% if not user.superuser and request.user.is_superuser %}
<a title="swithc user" href="{% url 'impersonate-start' user.user_id %}" class="btn btn-warning"><i
class="fa fa-eye"></i></a>
{% endif %}
<button title="save" type="submit" class="btn btn-success"><i <button title="save" type="submit" class="btn btn-success"><i
class="fa fa-save"></i></button> class="fa fa-save"></i></button>
{% if Viewname != "Request" %} {% if Viewname != "Request" %}
......
...@@ -15,6 +15,7 @@ class AuthRequiredMiddleware(object): ...@@ -15,6 +15,7 @@ class AuthRequiredMiddleware(object):
# the view (and later middleware) are called. # the view (and later middleware) are called.
response = self.get_response(request) response = self.get_response(request)
print ('midleware response',response)
if "/reports/" in request.path_info and not request.user.is_authenticated: if "/reports/" in request.path_info and not request.user.is_authenticated:
...@@ -33,12 +34,17 @@ class AuthRequiredMiddleware(object): ...@@ -33,12 +34,17 @@ class AuthRequiredMiddleware(object):
#elif not request.user.is_authenticated and request.path_info == reverse('tile') or request.path_info == reverse('tileinfo') : #elif not request.user.is_authenticated and request.path_info == reverse('tile') or request.path_info == reverse('tileinfo') :
# return response # return response
elif "/impersonate/" in request.path_info:
return response
elif request.path_info == reverse('ipn'): elif request.path_info == reverse('ipn'):
return response return response
elif not request.user.is_authenticated and request.path_info != reverse('login') and not request.user.is_active: elif not request.user.is_authenticated and request.path_info != reverse('login') and not request.user.is_active:
return HttpResponseRedirect(reverse('login')) return HttpResponseRedirect(reverse('login'))
# Code to be executed for each request/response after # Code to be executed for each request/response after
# the view is called. # the view is called.
print ('user', request.user)
return response return response
This diff is collapsed.
MAPBOX_ACCESS_TOKEN = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw'; MAPBOX_ACCESS_TOKEN = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw';
MAX_OPACITY = 1; MAX_OPACITY = 1;
FIRST_IMAGE_LAYER_INDEX = 2; FIRST_IMAGE_LAYER_INDEX = 2;
document.getElementById("light").checked = true;
// create wkt polygon // create wkt polygon
const wktFormat = new ol.format.WKT(); const wktFormat = new ol.format.WKT();
...@@ -79,6 +79,8 @@ else { ...@@ -79,6 +79,8 @@ else {
x = 'light'; x = 'light';
//console.log({x}) //console.log({x})
} }
document.getElementById(x).checked = true;
const polygonLayer = new ol.layer.Vector({ const polygonLayer = new ol.layer.Vector({
name: 'polygon', name: 'polygon',
source: new ol.source.Vector({ source: new ol.source.Vector({
...@@ -207,7 +209,7 @@ function changeLayers(especific_layerName) { ...@@ -207,7 +209,7 @@ function changeLayers(especific_layerName) {
} }
layers.set(layerName, xyz); layers.set(layerName, xyz);
sessionStorage.setItem(layerName, layerName); // replace sessionStorage.setItem(layerName, layerName);
}); });
} }
...@@ -223,7 +225,7 @@ function removeLayer(layerName) { ...@@ -223,7 +225,7 @@ function removeLayer(layerName) {
map.removeLayer(layers.get(layerName)); map.removeLayer(layers.get(layerName));
layers.delete(layerName); layers.delete(layerName);
sessionStorage.layers = layers; sessionStorage.removeItem(layerName)
} }
// set opacity to layers // set opacity to layers
......
...@@ -208,9 +208,9 @@ def Reports(request): ...@@ -208,9 +208,9 @@ def Reports(request):
for file in os.listdir(zip_path): for file in os.listdir(zip_path):
if file.endswith(".zip"): if file.endswith(".zip"):
zip = zip_path + "/" + file zip = zip_path + "/" + file
if os.path.exists(USERS_PATH + producto['user__email'] + '/' + str(producto['id']) + '/scl_data.json'):
if os.path.getsize(USERS_PATH + producto['user__email'] + "/" + str(producto['id']) + "/scl_data.json") > 3: if os.path.getsize(USERS_PATH + producto['user__email'] + "/" + str(producto['id']) + "/scl_data.json") > 3:
Data = True Data = True
productList.append({ productList.append({
"search_name": producto['name'], "search_name": producto['name'],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment