descripcion reportes

parent a5d4d557
...@@ -121,7 +121,8 @@ ...@@ -121,7 +121,8 @@
<!-- search form --> <!-- search form -->
<form role="form" action="#" method="get" class="sidebar-form"> <form role="form" action="#" method="get" class="sidebar-form">
<div class="input-group"> <div class="input-group">
<input type="text" id="ajax-input" value="" name="value" class="form-control" autocomplete="off" placeholder="Search region..."> <input type="text" id="ajax-input" value="" name="value" class="form-control" autocomplete="off"
placeholder="Search region...">
<span class="input-group-btn"> <span class="input-group-btn">
<button type="button" name="search" id="erase-btn" class="btn btn-flat" onclick="erase_input()"> <button type="button" name="search" id="erase-btn" class="btn btn-flat" onclick="erase_input()">
<i class="fa fa-eraser"></i> <i class="fa fa-eraser"></i>
...@@ -139,7 +140,7 @@ ...@@ -139,7 +140,7 @@
<!-- <form role="form" target="catalogFrame" action="{% url 'productList' %}" method="post"> --> <!-- <form role="form" target="catalogFrame" action="{% url 'productList' %}" method="post"> -->
<form id='product-form' role="form" method="post"> <form id='product-form' role="form" method="post">
{% csrf_token %} {% csrf_token %}
<input type="hidden" id="user_name" name="user_name" value={{user.get_username}}> <input type="hidden" id="user_name" name="user_name" value={{ user.get_username }}>
<input type="hidden" id="search_name" name="search_name" value="Drawn Polygon"> <input type="hidden" id="search_name" name="search_name" value="Drawn Polygon">
<input type="hidden" id="area_description" name="area_description" value="Without Description"> <input type="hidden" id="area_description" name="area_description" value="Without Description">
<ul class="sidebar-menu" data-widget="tree"> <ul class="sidebar-menu" data-widget="tree">
...@@ -162,19 +163,20 @@ ...@@ -162,19 +163,20 @@
<span class="pull-right-container"> <span class="pull-right-container">
<span class="label label-primary pull-right"></span> <span class="label label-primary pull-right"></span>
</span> </span>
</a> </a>
<ul class="treeview-menu sidebar-form"> <ul class="treeview-menu sidebar-form">
<span>Start Date</span> <span>Start Date</span>
<li>{{searchForm.start}}</li> <li>{{ searchForm.start }}</li>
<span>End Date</span> <span>End Date</span>
<li>{{searchForm.end}}</li> <li>{{ searchForm.end }}</li>
</ul> </ul>
</li> </li>
<li class="treeview "> {% if advanced_search == True %}
<a href="#"> <li class="treeview ">
<i class="fa fa-map"></i> <a href="#">
<span>Polygon</span> <i class="fa fa-map"></i>
<span class="pull-right-container"> <span>Polygon</span>
<span class="pull-right-container">
<span class="label label-primary pull-right"></span> <span class="label label-primary pull-right"></span>
</span> </span>
</a> </a>
...@@ -182,6 +184,7 @@ ...@@ -182,6 +184,7 @@
<li>{{ searchForm.polygon }}</li> <li>{{ searchForm.polygon }}</li>
</ul> </ul>
</li> </li>
{% endif %}
<li class="treeview "> <li class="treeview ">
<a href="#"> <a href="#">
<i class="fa fa-cloud"></i> <i class="fa fa-cloud"></i>
...@@ -189,27 +192,29 @@ ...@@ -189,27 +192,29 @@
<span class="pull-right-container"> <span class="pull-right-container">
<span class="label label-primary pull-right"></span> <span class="label label-primary pull-right"></span>
</span> </span>
</a> </a>
<ul class="treeview-menu sidebar-form"> <ul class="treeview-menu sidebar-form">
<li> <li>
<div class="row"> <div class="row">
<div class="col-lg-9" style="padding-top: 5px;"> <div class="col-lg-9" style="padding-top: 5px;">
<input class="cross-range" type="range" min="0" max="100" step="1" value="5" oninput="setCloudPercentage(this.value)" <input class="cross-range" type="range" min="0" max="100" step="1" value="5"
id="cloudPercentageSelector" name="cloudPercentage"> oninput="setCloudPercentage(this.value)"
</div> id="cloudPercentageSelector" name="cloudPercentage">
<div class="col-lg-3" style="padding-left:0px;padding-top: 5px;"> </div>
<!-- <input class="form-text" id="clouds" value="5" oninput="setCloudPercentageSlider(this.value)" name="cloudPercentage" disabled> --> <div class="col-lg-3" style="padding-left:0px;padding-top: 5px;">
<span id="clouds">5</span> <!-- <input class="form-text" id="clouds" value="5" oninput="setCloudPercentageSlider(this.value)" name="cloudPercentage" disabled> -->
</div> <span id="clouds">5</span>
</div> </div>
</div>
</li>
</ul>
</li> </li>
</ul> <li>
</li> <a href="#">
<li> <div class="modal"><!-- Place at bottom of page --></div>
<a href="#"><div class="modal"><!-- Place at bottom of page --></div> <span>
<span>
<button type="submit" name="search" id="search-btn" class="btn btn-primary"><i class="fa fa-search"></i> Search</button> <button type="submit" name="search" id="search-btn" class="btn btn-primary"><i class="fa fa-search"></i> Search</button>
<!-- <button name="search" id="search-btn" class="btn btn-primary">Search</button> --> <!-- <button name="search" id="search-btn" class="btn btn-primary">Search</button> -->
</span> </span>
</a> </a>
</li> </li>
...@@ -233,48 +238,48 @@ ...@@ -233,48 +238,48 @@
{% block content %} {% block content %}
<div id="map" class="map" tabindex="0"></div> <div id="map" class="map" tabindex="0"></div>
<footer class=" page-footer font-small special-color-dark pt-5" style="bottom: 0; position: absolute"> <footer class=" page-footer font-small special-color-dark pt-5" style="bottom: 0; position: absolute">
<!-- Footer Elements --> <!-- Footer Elements -->
<div class="container"> <div class="container">
<!-- Social buttons <!-- Social buttons
<ul class="list-unstyled list-inline text-center"> <ul class="list-unstyled list-inline text-center">
<li class="list-inline-item"> <li class="list-inline-item">
<a class="btn-floating btn-fb mx-1"> <a class="btn-floating btn-fb mx-1">
<i class="fa fa-faceboo"> </i> <i class="fa fa-faceboo"> </i>
</a> </a>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<a class="btn-floating btn-tw mx-1"> <a class="btn-floating btn-tw mx-1">
<i class="fa fa-twitter"> </i> <i class="fa fa-twitter"> </i>
</a> </a>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<a class="btn-floating btn-gplus mx-1"> <a class="btn-floating btn-gplus mx-1">
<i class="fa fa-google-plus"> </i> <i class="fa fa-google-plus"> </i>
</a> </a>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<a class="btn-floating btn-li mx-1"> <a class="btn-floating btn-li mx-1">
<i class="fa fa-linkedin"> </i> <i class="fa fa-linkedin"> </i>
</a> </a>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<a class="btn-floating btn-dribbble mx-1"> <a class="btn-floating btn-dribbble mx-1">
<i class="fa fa-dribbble"> </i> <i class="fa fa-dribbble"> </i>
</a> </a>
</li> </li>
</ul> </ul>
<!-- Social buttons --> <!-- Social buttons -->
</div> </div>
<!-- Footer Elements --> <!-- Footer Elements -->
<!-- Copyright --> <!-- Copyright -->
<div class="footer-copyright text-center py-3">© 2019 Copyright: <div class="footer-copyright text-center py-3">© 2019 Copyright:
<a href="http://geoint.mx/"> Centro de Investigación en Ciencias de Información Geoespacial.</a> <a href="http://geoint.mx/"> Centro de Investigación en Ciencias de Información Geoespacial.</a>
</div> </div>
<!-- Copyright --> <!-- Copyright -->
</footer> </footer>
<div class="waitingModal"></div> <div class="waitingModal"></div>
{% endblock %} {% endblock %}
...@@ -282,79 +287,80 @@ ...@@ -282,79 +287,80 @@
{% block modal1 %}{% include "mssgModal.html" %}{% endblock %} {% block modal1 %}{% include "mssgModal.html" %}{% endblock %}
{% block scripts %} {% block scripts %}
<script> <script>
var d = 6; //días diferidos entre las dos fechas var d = 6; //días diferidos entre las dos fechas
var fecha = new Date(); //Fecha actual var fecha = new Date(); //Fecha actual
var dia = fecha.getDate(); //obteniendo dia var dia = fecha.getDate(); //obteniendo dia
var mes = fecha.getMonth()+1; //obteniendo mes var mes = fecha.getMonth() + 1; //obteniendo mes
var ano = fecha.getFullYear(); //obteniendo año var ano = fecha.getFullYear(); //obteniendo año
if(dia<10) if (dia < 10)
dia='0'+dia; //agrega cero si el menor de 10 dia = '0' + dia; //agrega cero si el menor de 10
if(mes<10) if (mes < 10)
mes='0'+mes //agrega cero si el menor de 10 mes = '0' + mes //agrega cero si el menor de 10
document.getElementById('id_end').value = ano+"-"+mes+"-"+dia; document.getElementById('id_end').value = ano + "-" + mes + "-" + dia;
var dia_anterior = fecha.getDate()-d; var dia_anterior = fecha.getDate() - d;
var mes_anterior = fecha.getMonth()+1; var mes_anterior = fecha.getMonth() + 1;
var ano_anterior = fecha.getFullYear(); var ano_anterior = fecha.getFullYear();
//Condición donde el día anterior cae en un mes anterior //Condición donde el día anterior cae en un mes anterior
//selección del día del mes anterior con base en el todal de días del mes //selección del día del mes anterior con base en el todal de días del mes
// //
if (dia_anterior <= 0){ if (dia_anterior <= 0) {
mes_anterior = mes_anterior-1; mes_anterior = mes_anterior - 1;
if(mes_anterior==0){ if (mes_anterior == 0) {
mes_anterior=12; mes_anterior = 12;
ano_anterior=ano_anterior-1; //En caso de consulta entre diciembre y enero ano_anterior = ano_anterior - 1; //En caso de consulta entre diciembre y enero
} }
if(mes_anterior == 1 || mes_anterior == 3 || mes_anterior == 5 if (mes_anterior == 1 || mes_anterior == 3 || mes_anterior == 5
|| mes_anterior == 7 ||mes_anterior == 8 || mes_anterior == 10 || || mes_anterior == 7 || mes_anterior == 8 || mes_anterior == 10 ||
mes_anterior == 12) mes_anterior == 12)
dia_anterior = 31+(dia-6); dia_anterior = 31 + (dia - 6);
if(mes_anterior == 4 || mes_anterior == 6 || mes_anterior == 9 if (mes_anterior == 4 || mes_anterior == 6 || mes_anterior == 9
|| mes_anterior == 11) || mes_anterior == 11)
dia_anterior = 30+(dia-6); dia_anterior = 30 + (dia - 6);
if(mes_anterior == 2) if (mes_anterior == 2)
dia_anterior = 28+(dia-6); dia_anterior = 28 + (dia - 6);
} }
//Condicion donde el día o el mes es menor a 10 //Condicion donde el día o el mes es menor a 10
if(dia_anterior<10) if (dia_anterior < 10)
dia_anterior='0'+dia_anterior; //agrega cero si el menor de 10 dia_anterior = '0' + dia_anterior; //agrega cero si el menor de 10
if(mes_anterior<10) if (mes_anterior < 10)
mes_anterior='0'+mes_anterior;//agrega cero si el menor de 10 mes_anterior = '0' + mes_anterior;//agrega cero si el menor de 10
document.getElementById('id_start').value = ano_anterior+"-"+mes_anterior+"-"+dia_anterior; document.getElementById('id_start').value = ano_anterior + "-" + mes_anterior + "-" + dia_anterior;
</script> </script>
<script> <script>
function setCloudPercentage(clouds) { function setCloudPercentage(clouds) {
//console.log(clouds) //console.log(clouds)
//document.getElementById("clouds").value = clouds; //document.getElementById("clouds").value = clouds;
document.getElementById("clouds").innerHTML=clouds; document.getElementById("clouds").innerHTML = clouds;
} }
function setCloudPercentageSlider(clouds) {
//console.log(clouds) function setCloudPercentageSlider(clouds) {
//TODO //console.log(clouds)
document.getElementById("cloudPercentageSelector").value=clouds; //TODO
if(parseInt(clouds)>100){ document.getElementById("cloudPercentageSelector").value = clouds;
document.getElementById("cloudPercentageSelector").value=100; if (parseInt(clouds) > 100) {
document.getElementById("cloudPercentageSelector").value = 100;
}
if (parseInt(clouds) < 0) {
document.getElementById("cloudPercentageSelector").value = 0;
}
} }
if(parseInt(clouds)<0){
document.getElementById("cloudPercentageSelector").value=0; //var osmap = new OpenStreetMapsClass("map", -99.145556,19.419444, 10);
} var osmap = new sidtMap("map", -89.63873079999999, 21.0404457, 7);
} osmap.geolocation();
osmap.addInteraction();
//var osmap = new OpenStreetMapsClass("map", -99.145556,19.419444, 10);
var osmap = new sidtMap("map", -89.63873079999999,21.0404457, 7);
osmap.geolocation();
osmap.addInteraction();
var req_url = "{% url 'search-submit' %}"; // url for requesting polygon data var req_url = "{% url 'search-submit' %}"; // url for requesting polygon data
var prod_req_url = "{% url 'productList' %}"; // url for requesting product data var prod_req_url = "{% url 'productList' %}"; // url for requesting product data
......
...@@ -10,7 +10,7 @@ from django.http import HttpResponse, JsonResponse, HttpResponseRedirect ...@@ -10,7 +10,7 @@ from django.http import HttpResponse, JsonResponse, HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.views.generic.base import View from django.views.generic.base import View
from django.template import loader, RequestContext from django.template import loader, RequestContext
from django.contrib.auth.models import User from django.contrib.auth.models import User, Permission
import requests, json, unicodedata, sys, base64 import requests, json, unicodedata, sys, base64
import os import os
from geosentinel import APISentinel, polygonToBox from geosentinel import APISentinel, polygonToBox
...@@ -57,10 +57,17 @@ def map(request): ...@@ -57,10 +57,17 @@ def map(request):
""" """
View function for home page of site. View function for home page of site.
""" """
if Permission.objects.filter(user=request.user.id):
advanced_search = True
else:
advanced_search = False
form = ASFSearchForm(request.POST) form = ASFSearchForm(request.POST)
showcart = True showcart = True
# Render the HTML template index.html with the data in the context variable # Render the HTML template index.html with the data in the context variable
return render(request, 'map.html', {"searchForm": form, "showcart": showcart}) return render(request, 'map.html', {"searchForm": form, "showcart": showcart,"advanced_search":advanced_search})
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
...@@ -620,11 +627,18 @@ def Registration(request): ...@@ -620,11 +627,18 @@ def Registration(request):
return HttpResponse("the username or password already exist") return HttpResponse("the username or password already exist")
else: else:
print("agregado") print("agregado")
User.objects.create_user(first_name=request.POST['name'],last_name=request.POST['last_name'],username=request.POST['username'], user = User.objects.create_user(first_name=request.POST['name'],last_name=request.POST['last_name'],username=request.POST['username'],
email=request.POST['email'], email=request.POST['email'],
password=request.POST['password'], is_active=False) password=request.POST['password'], is_active=False)
permissions = Permission.objects.filter(content_type__app_label='auth',
codename__in=[
'advanced_search'
])
user.user_permissions.add(*permissions.filter(content_type__model='user'))
message = "your registration is being processed" message = "your registration is being processed"
subject = "Registro RepSat" subject = "Registro RepSat"
wsMail2(request.POST['email'],request.POST['username'],message,subject) wsMail2(request.POST['email'],request.POST['username'],message,subject)
messages.success(request, 'your registration is being processed') messages.success(request, 'your registration is being processed')
return HttpResponseRedirect('login') return HttpResponseRedirect('login')
.map {
height: 400px;
width: 100%;
}
.switch { .switch {
position: relative; position: relative;
display: inline-block; display: inline-block;
......
...@@ -217,3 +217,37 @@ select::-ms-expand { ...@@ -217,3 +217,37 @@ select::-ms-expand {
-o-transition: .25s all ease; -o-transition: .25s all ease;
transition: .25s all ease; transition: .25s all ease;
} }
.arrow_box {
position: relative;
background: #ffffff;
border: 1px solid #ffa74f;
min-height: 30px;
bottom: 10px;
}
.arrow_box:after, .arrow_box:before {
top: 100%;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.arrow_box:after {
border-color: rgba(255, 255, 255, 0);
border-top-color: #ffffff;
border-width: 10px;
margin-left: -10px;
}
.arrow_box:before {
border-color: rgba(255, 167, 79, 0);
border-top-color: #ffa74f;
border-width: 11px;
margin-left: -11px;
}
...@@ -45,3 +45,4 @@ $(document).ready(function () { ...@@ -45,3 +45,4 @@ $(document).ready(function () {
order: [1, 'asc'] order: [1, 'asc']
}); });
}); });
{% load staticfiles %} {% load staticfiles %}
<style>
.switch {
position: relative;
display: inline-block;
width: 30px;
height: 17px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 13px;
width: 13px;
left: 4px;
bottom: 3px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #f38e19;
}
input:focus + .slider {
box-shadow: 0 0 1px #f38e19;
}
input:checked + .slider:before {
-webkit-transform: translateX(13px);
-ms-transform: translateX(13px);
transform: translateX(13px);
}
/* Rounded sliders */
.slider.round {
border-radius: 14px;
}
.slider.round:before {
border-radius: 50%;
}
</style>
<div class="col-md-3"> <div class="col-md-3">
{% for data in user_data %} {% for data in user_data %}
...@@ -30,6 +92,23 @@ ...@@ -30,6 +92,23 @@
<i class="fa fa-pie-chart margin-r-5"></i> <b>Disk usage</b> <a <i class="fa fa-pie-chart margin-r-5"></i> <b>Disk usage</b> <a
class="pull-right">{{ data.size }}</a> class="pull-right">{{ data.size }}</a>
</li> </li>
<li class="list-group-item">
<div class="row ccontent ">
<div class="col-md-10 col-xs-10 col-lg-10 col-sm-10 col-xl-10">
<i class="fa fa-search-plus margin-r-5"></i>
<b>Advanced Search</b>
</div>
<div class="col-md-2 col-xs-2 col-lg-2 col-sm-2 col-xl-2 pull-right">
<label class="switch">
<input class="pull-right" id="{{ data.user_id }}" type="checkbox"
onclick="change_permission({{ data.user_id }})"
{% if data.advanced_search == True %} checked {% endif %}>
<span class="slider round pull-right" style="margin-right: 0px"></span>
</label>
</div>
</div>
</li>
</ul> </ul>
<!--a href="#" class="btn btn-primary btn-block"><b>Follow</b></a--> <!--a href="#" class="btn btn-primary btn-block"><b>Follow</b></a-->
...@@ -52,10 +131,10 @@ ...@@ -52,10 +131,10 @@
<div class="box-body"> <div class="box-body">
<ul class="list-group list-group-unbordered"> <ul class="list-group list-group-unbordered">
{% for data in user_searches %} {% for data in user_searches %}
<li class="list-group-item"> <li class="list-group-item">
<i class="fa fa-map-marker margin-r-5"></i> <b>{{ data.search_name }}</b> <a <i class="fa fa-map-marker margin-r-5"></i> <b>{{ data.search_name }}</b> <a
class="pull-right">{{ data.count }}</a> class="pull-right">{{ data.count }}</a>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>
...@@ -64,6 +143,29 @@ ...@@ -64,6 +143,29 @@
</div> </div>
<!-- /.box --> <!-- /.box -->
<div><br></div>
</div> </div>
<script>
function change_permission(user_id) {
var checkBox = document.getElementById(user_id);
if (checkBox.checked == true) {
permission(user_id, 'True');
} else {
permission(user_id, 'False');
}
}
function permission(user_id, status) {
$.ajax({
dataType: "json",
url: 'ws/change_permission',
data: {'user_id': user_id, 'status': status},
success: function (data) {
alert(data);
}
});
}
</script>
\ No newline at end of file
...@@ -27,5 +27,6 @@ urlpatterns = [ ...@@ -27,5 +27,6 @@ urlpatterns = [
url(r'^$', views.Users, name='users'), url(r'^$', views.Users, name='users'),
url(r'^(?P<user_id>(\d+))/$', views.User_id, name='user_id'), url(r'^(?P<user_id>(\d+))/$', views.User_id, name='user_id'),
url(r'^ws/report_table$', views.wsPurchasesPM, name='wsPurchasesPM'), url(r'^ws/report_table$', views.wsPurchasesPM, name='wsPurchasesPM'),
url(r'^ws/change_permission', views.wsChangePermission, name='wsChangePermission'),
] ]
# + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
import calendar import calendar
import os import os
from django.contrib.auth.models import User from django.contrib.auth.models import User, Permission
from django.db.models import Count from django.db.models import Count
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.shortcuts import render from django.shortcuts import render
# Create your views here. # Create your views here.
import json import json
...@@ -35,6 +36,15 @@ def Users(request): ...@@ -35,6 +36,15 @@ def Users(request):
purchases = Purchase.objects.filter(user_id=user.id) purchases = Purchase.objects.filter(user_id=user.id)
in_process = Purchase.objects.filter(user_id=user.id).exclude(progress=100) in_process = Purchase.objects.filter(user_id=user.id).exclude(progress=100)
if Permission.objects.filter(user=user.id):
advanced_search = True
else:
advanced_search = False
print (advanced_search)
#bytes_size = 0 #bytes_size = 0
#for path, directories, files in os.walk(USERS_PATH + "repsat_test_dev/" + user.email): #for path, directories, files in os.walk(USERS_PATH + "repsat_test_dev/" + user.email):
# for filename in files: # for filename in files:
...@@ -50,11 +60,11 @@ def Users(request): ...@@ -50,11 +60,11 @@ def Users(request):
"searches": searches.count(), "searches": searches.count(),
"purchases": purchases.count(), "purchases": purchases.count(),
"in_process": in_process.count(), "in_process": in_process.count(),
#"size": size_repsat, "advanced_search" : advanced_search,
}) })
for search in Search.objects.values('search_name').filter(user_id=user.id).annotate( for search in Search.objects.values('search_name').filter(user_id=user.id).annotate(
count=Count('search_name')).order_by('-count')[:6]: count=Count('search_name')).order_by('-count')[:5]:
user_searches.append({ user_searches.append({
"search_name": search['search_name'], "search_name": search['search_name'],
"count": search['count'], "count": search['count'],
...@@ -173,7 +183,7 @@ def User_id(request, user_id): ...@@ -173,7 +183,7 @@ def User_id(request, user_id):
}) })
for search in Search.objects.values('search_name').filter(user_id=user.id).annotate( for search in Search.objects.values('search_name').filter(user_id=user.id).annotate(
count=Count('search_name')).order_by('-count')[:6]: count=Count('search_name')).order_by('-count')[:5]:
user_searches.append({ user_searches.append({
"search_name": search['search_name'], "search_name": search['search_name'],
"count": search['count'], "count": search['count'],
...@@ -338,3 +348,52 @@ def best_unit_size(bytes_size): ...@@ -338,3 +348,52 @@ def best_unit_size(bytes_size):
return str(round(bu_size, 2)) + " " + unit return str(round(bu_size, 2)) + " " + unit
# ------------------------------------------------ # ------------------------------------------------
@csrf_exempt
def wsChangePermission(request):
if request.is_ajax():
table_data = []
data = Purchase.objects.values('user_id', 'search__endDate', 'search__startDate', 'aggreg_date',
'search__process_id__name', 'name').filter(
user_id=request.POST.get('user_id'), purchased=True,
aggreg_date__month=to_if(request.POST.get('title'))).order_by('aggreg_date')
for producto in data:
table_data.append({
"search_name": producto['name'],
"process": producto['search__process_id__name'],
"purchase_date": str(producto['aggreg_date'])[:10],
"startDate": str(producto['search__startDate'])[:10],
"endDate": str(producto['search__endDate'])[:10],
})
return HttpResponse(json.dumps(table_data))
# return HttpResponse({'table_data':table_data})
else:
raise Http404
pass
#----------------------------------------------
@csrf_exempt
def wsChangePermission(request):
if request.is_ajax():
permissions = Permission.objects.filter(content_type__app_label='auth',
codename__in=[
'advanced_search'
])
user = User.objects.get(pk=request.GET.get("user_id"))
if request.GET.get("status") == 'True':
print ("verdadero")
user.user_permissions.add(*permissions.filter(content_type__model='user'))
else:
print ("falso")
user.user_permissions.remove(*permissions.filter(content_type__model='user'))
return HttpResponse("hola")
else:
raise Http404
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