Commit dcac1d5c authored by Luis Ernesto Dominguez Uriostegui's avatar Luis Ernesto Dominguez Uriostegui

cambios de ulises realizados,boton historial de compras

parents 23298339 d55ba54d
# compiled code # project
*.pyc
*.pyc
.idea/ .idea/
__pycache__/
geosentinel/ geosentinel/
geosentinel
db.sqlite3-journal
# django stufff
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
media
# virtual env
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# pyenv
.python-version
...@@ -27,4 +27,5 @@ urlpatterns = [ ...@@ -27,4 +27,5 @@ urlpatterns = [
url(r'^reports/', include('reports.urls')), url(r'^reports/', include('reports.urls')),
url(r'^$', RedirectView.as_view(url='/catalog/', permanent=True)), url(r'^$', RedirectView.as_view(url='/catalog/', permanent=True)),
url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^accounts/', include('django.contrib.auth.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ]
#+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
from django.shortcuts import HttpResponseRedirect from django.shortcuts import HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
# from django.core.urlresolvers import reverse # from django.core.urlresolvers import reverse
class AuthRequiredMiddleware(object): class AuthRequiredMiddleware(object):
...@@ -11,13 +13,13 @@ class AuthRequiredMiddleware(object): ...@@ -11,13 +13,13 @@ 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 (request.path_info) print(request.path_info)
print (reverse('login')) print(reverse('login'))
# if request.path_info == reverse('ws-news-list2'): # if request.path_info == reverse('ws-news-list2'):
# return response # return response
if not request.user.is_authenticated() and request.path_info != reverse('login'): if not request.user.is_authenticated and request.path_info != reverse('login'):
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
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -84,16 +84,16 @@ function drawPolygon(element) { ...@@ -84,16 +84,16 @@ function drawPolygon(element) {
osmap.removePolygon(); osmap.removePolygon();
// draw wkt polygon // draw wkt polygon
// osmap.addWKTPolygon(polygon.wkt_polygon); osmap.addWKTPolygon(polygon.wkt_polygon);
// format coords to draw // format coords to draw
var coords = osmap.formatCoords(polygon.geojson.geometry.coordinates); // var coords = osmap.formatCoords(polygon.geojson.geometry.coordinates);
// get the biggest area // get the biggest area
var biggest = osmap.getBiggestPolygon(coords); // var biggest = osmap.getBiggestPolygon(coords);
// draw coordsR // draw coordsR
osmap.addPolygon(biggest); // osmap.addPolygon(biggest);
} }
}) })
} }
...@@ -114,7 +114,7 @@ $("#id_polygon").on('keyup', function (e) { ...@@ -114,7 +114,7 @@ $("#id_polygon").on('keyup', function (e) {
// this function cleans list of available products // this function cleans list of available products
function erase_product_list_globe() { function erase_product_list_globe() {
prevfeature = null; prevfeature = new Map();
var pol_element = document.getElementById('product-list-globe'); var pol_element = document.getElementById('product-list-globe');
while (pol_element.firstChild) { while (pol_element.firstChild) {
pol_element.removeChild(pol_element.firstChild); pol_element.removeChild(pol_element.firstChild);
...@@ -140,21 +140,23 @@ function erase_product_list_cart() { ...@@ -140,21 +140,23 @@ function erase_product_list_cart() {
} }
var prevfeature = null; var prevfeature = new Map();
function drawApiResponse(element) { function drawApiResponse(element) {
var list_globe = document.getElementById('product-list-globe').children;
for (var i=0; i<list_globe.length; i++) {
var listElement = list_globe[i];
listElement.style.textDecoration = 'none';
}
for (var i=0; i<product_list.catalog.length; i++) { for (var i=0; i<product_list.catalog.length; i++) {
var data = product_list.catalog[i]; var data = product_list.catalog[i];
if (data.uuid === element.id.replace("-li", '')) { if (data.uuid === element.id.replace("-li", '')) {
element.style.textDecoration = 'underline';
console.log("footprint:\n", data.product.footprint); console.log("footprint:\n", data.product.footprint);
prevfeature = osmap.addfootprint(data.product.footprint, prevfeature); if (!prevfeature.has(data.uuid)){
element.style.textDecoration = 'underline';
prevfeature.set(data.uuid, osmap.addfootprint(data.product.footprint, prevfeature));
}else{
if (prevfeature.length != 0){
element.style.textDecoration = 'none';
osmap.deletefootprint(prevfeature.get(data.uuid));
prevfeature.delete(data.uuid);
}
}
} }
} }
} }
...@@ -178,7 +180,7 @@ $('#ajax-input').focus(function () { ...@@ -178,7 +180,7 @@ $('#ajax-input').focus(function () {
$('#option-list').show(); $('#option-list').show();
OPT_LIST_IS_HIDDEN = false; OPT_LIST_IS_HIDDEN = false;
} }
}).blur(function () { }).blur(function (event) {
INPUT_ON_FOCUS = false; INPUT_ON_FOCUS = false;
if (!OPT_LIST_IS_HIDDEN && $(this).val() && $(event.target).closest('#option-list').length) { if (!OPT_LIST_IS_HIDDEN && $(this).val() && $(event.target).closest('#option-list').length) {
$('#option-list').hide(); $('#option-list').hide();
...@@ -228,7 +230,7 @@ $(document).ready(function () { ...@@ -228,7 +230,7 @@ $(document).ready(function () {
var pol_element = document.getElementById('polygon-list'); var pol_element = document.getElementById('polygon-list');
var typingTimer; var typingTimer;
var typingInterval = 800; //milliseconds var typingInterval = 300; //milliseconds
var productListGlobe = []; var productListGlobe = [];
var cartProductList = []; // this array represent DB where products will be stored var cartProductList = []; // this array represent DB where products will be stored
var productsToObtain = []; var productsToObtain = [];
...@@ -254,6 +256,15 @@ $(document).ready(function () { ...@@ -254,6 +256,15 @@ $(document).ready(function () {
} }
}); });
// disable enter in search input
$('#ajax-input').on('keyup keypress', function(event) {
var keyCode = event.keyCode || event.which;
if (keyCode === 13) {
event.preventDefault();
return false;
}
});
// var PRODUCT_IN_LIST = false; // var PRODUCT_IN_LIST = false;
// function for making POST request to productList in view.py // function for making POST request to productList in view.py
......
...@@ -121,12 +121,13 @@ OpenStreetMapsClass.prototype.addWKTPolygon = function(wkt) ...@@ -121,12 +121,13 @@ OpenStreetMapsClass.prototype.addWKTPolygon = function(wkt)
document.getElementById("id_polygon").value = wkt; document.getElementById("id_polygon").value = wkt;
} }
OpenStreetMapsClass.prototype.addfootprint = function(wkt, prevFeature) OpenStreetMapsClass.prototype.deletefootprint = function (prevFeature) {
{ if (prevFeature){
if (prevFeature) {
this.vectorLayer.getSource().removeFeature(prevFeature); this.vectorLayer.getSource().removeFeature(prevFeature);
} }
}
OpenStreetMapsClass.prototype.addfootprint = function(wkt, prevFeature){
var format = new ol.format.WKT(); var format = new ol.format.WKT();
var feature = format.readFeature(wkt, { var feature = format.readFeature(wkt, {
...@@ -136,7 +137,7 @@ OpenStreetMapsClass.prototype.addfootprint = function(wkt, prevFeature) ...@@ -136,7 +137,7 @@ OpenStreetMapsClass.prototype.addfootprint = function(wkt, prevFeature)
var style = new ol.style.Style({ var style = new ol.style.Style({
stroke: new ol.style.Stroke({ stroke: new ol.style.Stroke({
color: '#dc7828', color: getRandomColor(),
width: 1 width: 1
}), }),
fill: new ol.style.Fill({ fill: new ol.style.Fill({
...@@ -263,3 +264,11 @@ OpenStreetMapsClass.prototype.iconStyle = function(url,x,y) ...@@ -263,3 +264,11 @@ OpenStreetMapsClass.prototype.iconStyle = function(url,x,y)
} }
function getRandomColor() {
var letters = '0123456789ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
\ No newline at end of file
{% extends "data_top.html" %} {% extends "data_top.html" %}
{% load static %} {% load static %}
{% block content %} {% block content %}
<div class="wrapper"> <div class="wrapper">
<!-- Content Wrapper. Contains page content --> <!-- Content Wrapper. Contains page content -->
...@@ -18,9 +17,11 @@ ...@@ -18,9 +17,11 @@
<h3 class="box-title">Area Km²</h3> <h3 class="box-title">Area Km²</h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button> </button>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> <button type="button" class="btn btn-box-tool" data-widget="remove"><i
class="fa fa-times"></i></button>
</div> </div>
</div> </div>
<div class="box-body"> <div class="box-body">
...@@ -38,9 +39,11 @@ ...@@ -38,9 +39,11 @@
<h3 class="box-title">Donut Chart</h3> <h3 class="box-title">Donut Chart</h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button> </button>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> <button type="button" class="btn btn-box-tool" data-widget="remove"><i
class="fa fa-times"></i></button>
</div> </div>
</div> </div>
<div class="box-body"> <div class="box-body">
...@@ -62,9 +65,11 @@ ...@@ -62,9 +65,11 @@
<h3 class="box-title">Bar Chart</h3> <h3 class="box-title">Bar Chart</h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-minus"></i>
</button> </button>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> <button type="button" class="btn btn-box-tool" data-widget="remove"><i
class="fa fa-times"></i></button>
</div> </div>
</div> </div>
<div class="box-body"> <div class="box-body">
...@@ -75,14 +80,16 @@ ...@@ -75,14 +80,16 @@
<!-- /.box-body --> <!-- /.box-body -->
</div> </div>
<!-- /.box --> <!-- /.box -->
<div class="box box-info"> <div class="box box-info">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">MAP</h3> <h3 class="box-title">MAP</h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapsexite"><i class="fa fa-minus"></i> <button type="button" class="btn btn-box-tool" data-widget="collapsexite"><i
class="fa fa-minus"></i>
</button> </button>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> <button type="button" class="btn btn-box-tool" data-widget="remove"><i
class="fa fa-times"></i></button>
</div> </div>
</div> </div>
<div class="box-body"> <div class="box-body">
...@@ -114,11 +121,11 @@ ...@@ -114,11 +121,11 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<!-- page script --> <!-- page script -->
<script> <script>
var ctx = document.getElementById("areaChart").getContext('2d'); var ctx = document.getElementById("areaChart").getContext('2d');
var myChart = new Chart(ctx, { var myChart = new Chart(ctx, {
type: 'line', type: 'Line',
data: { data: {
labels: [{{labels}}], labels: [{{labels}}],
datasets: [{ datasets: [{
...@@ -170,20 +177,21 @@ var myChart = new Chart(ctx, { ...@@ -170,20 +177,21 @@ var myChart = new Chart(ctx, {
scales: { scales: {
yAxes: [{ yAxes: [{
ticks: { ticks: {
beginAtZero:true beginAtZero: true
} }
}] }]
} }
} }
}); });
function areaChartonClick(e,element){
console.log(e); function areaChartonClick(e, element) {
console.log(element); console.log(e);
console.log(element[0]._index); console.log(element);
console.log(myChart); console.log(element[0]._index);
console.log(myChart.config.data.labels[element[0]._index]); console.log(myChart);
console.log(myChart.config.data.labels[element[0]._index]);
document.getElementById("satImage").src="../../static/tmpImages/"+myChart.config.data.labels[element[0]._index]+"_TCI_60m.jpg"
}; document.getElementById("satImage").src = "../../static/tmpImages/" + myChart.config.data.labels[element[0]._index] + "_TCI_60m.jpg"
</script> };
</script>
{% endblock %} {% endblock %}
<!DOCTYPE html> <!DOCTYPE html>
{% load static %} {% load static %}
<html> <html>
<head> <head>
<title>Repositorio de Imágenes Satelitales</title> <title>Repositorio de Imágenes Satelitales</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link rel="icon" href="{% static 'catalog/images/satellite.png' %}"> <link rel="icon" href="{% static 'catalog/images/satellite.png' %}">
<!-- Bootstrap 3.3.7 --> <!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href="{% static 'catalog/adminlte/bower_components/bootstrap/dist/css/bootstrap.min.css' %}"> <link rel="stylesheet" href="{% static 'catalog/adminlte/bower_components/bootstrap/dist/css/bootstrap.min.css' %}">
<!-- Font Awesome --> <!-- Font Awesome -->
<link rel="stylesheet" href="{% static 'catalog/adminlte/bower_components/font-awesome/css/font-awesome.min.css' %}"> <link rel="stylesheet"
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> href="{% static 'catalog/adminlte/bower_components/font-awesome/css/font-awesome.min.css' %}">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<!-- Theme style --> <!-- Theme style -->
<link rel="stylesheet" href="{% static 'catalog/adminlte/dist/css/AdminLTE.css' %}"> <link rel="stylesheet" href="{% static 'catalog/adminlte/dist/css/AdminLTE.css' %}">
<!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. --> <!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="{% static 'catalog/adminlte/dist/css/skins/_all-skins.css' %}"> <link rel="stylesheet" href="{% static 'catalog/adminlte/dist/css/skins/_all-skins.css' %}">
<!-- Select2 --> <!-- Select2 -->
<link rel="stylesheet" href="{% static 'catalog/adminlte/bower_components/select2/dist/css/select2.min.css' %}"> <link rel="stylesheet" href="{% static 'catalog/adminlte/bower_components/select2/dist/css/select2.min.css' %}">
<!-- jsPDF -->
<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.debug.js'></script>
{% block headMedia %}{% endblock %} {% block headMedia %}{% endblock %}
</head> </head>
<body class="hold-transition skin-yellow sidebar-mini"> <body class="hold-transition skin-yellow sidebar-mini">
<!-- <div id="map" class="map" tabindex="0"> </div>--> <!-- <div id="map" class="map" tabindex="0"> </div>-->
<!-- <iframe id="catalogFrame" name="catalogFrame">my frame</iframe>--> <!-- <iframe id="catalogFrame" name="catalogFrame">my frame</iframe>-->
<div class="wrmapper"> <div class="wrmapper">
<header class="main-header"> <header class="main-header">
<!-- Logo --> <!-- Logo -->
<a href="index2.html" class="logo"> <a class="logo">
<!-- mini logo for sidebar mini 50x50 pixels --> <!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><b>G</b>eo</span> <span class="logo-mini"><b>G</b>eo</span>
<!-- logo for regular state and mobile devices --> <!-- logo for regular state and mobile devices -->
...@@ -38,7 +43,6 @@ ...@@ -38,7 +43,6 @@
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
</a> </a>
<div class="navbar-custom-menu"> <div class="navbar-custom-menu">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<!-- Messages: style can be found in dropdown.less--> <!-- Messages: style can be found in dropdown.less-->
...@@ -53,13 +57,20 @@ ...@@ -53,13 +57,20 @@
<!-- <li class="dropdown tasks-menu"> --> <!-- <li class="dropdown tasks-menu"> -->
{#% block tasks %}{% endblock %#} {#% block tasks %}{% endblock %#}
<!-- </li> --> <!-- </li> -->
<!-- History -->
<li class="dropdown user user-menu">
{% block history %}
{% endblock %}
</li>
<!-- History -->
<!-- User Account: style can be found in dropdown.less --> <!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu"> <li class="dropdown user user-menu">
{% block user %}{% endblock %} {% block user %}{% endblock %}
</li> </li>
<!-- Control Sidebar Toggle Button --> <!-- Control Sidebar Toggle Button -->
<li> <li>
<a id="product-list-toggle" href="#" data-toggle="control-sidebar"><i class="fa fa-shopping-cart"></i></a> <a id="product-list-toggle" href="#" data-toggle="control-sidebar"><i
class="fa fa-shopping-cart"></i></a>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -75,6 +86,7 @@ ...@@ -75,6 +86,7 @@
<!-- /.sidebar --> <!-- /.sidebar -->
</aside> </aside>
<!-- Content Wrapper. Contains page content --> <!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" style="border:0px solid blue;"> <div class="content-wrapper" style="border:0px solid blue;">
{% block content %}{% endblock %} {% block content %}{% endblock %}
...@@ -92,7 +104,8 @@ ...@@ -92,7 +104,8 @@
<!-- Create the tabs --> <!-- Create the tabs -->
<ul class="nav nav-tabs nav-justified control-sidebar-tabs"> <ul class="nav nav-tabs nav-justified control-sidebar-tabs">
<li id="globe"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-globe"></i></a></li> <li id="globe"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-globe"></i></a></li>
<li id="cart"><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-shopping-cart"></i></a></li> <li id="cart"><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-shopping-cart"></i></a>
</li>
</ul> </ul>
<!-- Tab panes --> <!-- Tab panes -->
<div class="tab-content"> <div class="tab-content">
...@@ -143,28 +156,30 @@ ...@@ -143,28 +156,30 @@
<!-- /.control-sidebar --> <!-- /.control-sidebar -->
<!-- Add the sidebar's background. This div must be placed immediately after the control sidebar --> <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
<div class="control-sidebar-bg"></div> <div class="control-sidebar-bg"></div>
</div> </div>
<!-- ./wrapper --> <!-- ./wrapper -->
<!-- T E M P L A T E S --> <!-- T E M P L A T E S -->
{% block templates %}{% endblock %} {% block templates %}{% endblock %}
<!-- T E M P L A T E S --> <!-- T E M P L A T E S -->
<!-- MODAL 1 --> <!-- MODAL 1 -->
{% block modal1 %}{% endblock %} {% block modal1 %}{% endblock %}
<!-- MODAL 1 --> <!-- MODAL 1 -->
<!-- jQuery 3 --> <!-- jQuery 3 -->
<script src="{% static 'catalog/adminlte/bower_components/jquery/dist/jquery.min.js' %}"></script> <script src="{% static 'catalog/adminlte/bower_components/jquery/dist/jquery.min.js' %}"></script>
<!-- jQuery UI 1.11.4 --> <!-- jQuery UI 1.11.4 -->
<script src="{% static 'catalog/adminlte/bower_components/jquery-ui/jquery-ui.min.js' %}"></script> <script src="{% static 'catalog/adminlte/bower_components/jquery-ui/jquery-ui.min.js' %}"></script>
<!-- Bootstrap 3.3.7 --> <!-- Bootstrap 3.3.7 -->
<script src="{% static 'catalog/adminlte/bower_components/bootstrap/dist/js/bootstrap.min.js' %}"></script> <script src="{% static 'catalog/adminlte/bower_components/bootstrap/dist/js/bootstrap.min.js' %}"></script>
<!-- AdminLTE App --> <!-- AdminLTE App -->
<script src="{% static 'catalog/adminlte/dist/js/adminlte.min.js' %}"></script> <script src="{% static 'catalog/adminlte/dist/js/adminlte.min.js' %}"></script>
<!-- Data management file --> <!-- Data management file -->
<script src="{% static 'catalog/js/dataRetrieval.js' %}" type="text/javascript"></script> <script src="{% static 'catalog/js/dataRetrieval.js' %}" type="text/javascript"></script>
<!-- Chartsjs -->
<script src="{% static 'catalog/js/Chart.min.js' %}" type="text/javascript"></script>
{% block scripts %}{% endblock %} {% block scripts %}{% endblock %}
</body> </body>
</html> </html>
...@@ -2,19 +2,19 @@ ...@@ -2,19 +2,19 @@
{% load staticfiles %} {% load staticfiles %}
{% block headMedia %} {% block headMedia %}
<link rel="stylesheet" href="{% static 'catalog/css/map.css'%}" type="text/css"> <link rel="stylesheet" href="{% static 'catalog/css/map.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'catalog/css/body.css'%}" type="text/css"> <link rel="stylesheet" href="{% static 'catalog/css/body.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'catalog/css/modal1.css'%}" type="text/css"> <link rel="stylesheet" href="{% static 'catalog/css/modal1.css' %}" type="text/css">
<!-- <link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">--> <!-- <link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">-->
<link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css"> <link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css">
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
<!-- <script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>--> <!-- <script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>-->
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script> <script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>
<script src="{% static 'catalog/js/openLayers4.js'%}"></script> <script src="{% static 'catalog/js/openLayers4.js' %}"></script>
<script src="{% static 'catalog/js/sidtMap.js'%}"></script> <script src="{% static 'catalog/js/sidtMap.js' %}"></script>
{% endblock %} {% endblock %}
{% block messages %} {% block messages %}
...@@ -98,7 +98,8 @@ ...@@ -98,7 +98,8 @@
<small class="pull-right">20%</small> <small class="pull-right">20%</small>
</h3> </h3>
<div class="progress xs"> <div class="progress xs">
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"> <div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar"
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">20% Complete</span> <span class="sr-only">20% Complete</span>
</div> </div>
</div> </div>
...@@ -146,7 +147,7 @@ ...@@ -146,7 +147,7 @@
</span> </span>
</a> </a>
<ul class="treeview-menu sidebar-form"> <ul class="treeview-menu sidebar-form">
<li class="col-xs-12">{{searchForm.platform}}</li> <li class="col-xs-12">{{ searchForm.platform }}</li>
</ul> </ul>
</li> </li>
<li class="treeview"> <li class="treeview">
...@@ -173,7 +174,7 @@ ...@@ -173,7 +174,7 @@
</span> </span>
</a> </a>
<ul class="treeview-menu sidebar-form"> <ul class="treeview-menu sidebar-form">
<li>{{searchForm.polygon}}</li> <li>{{ searchForm.polygon }}</li>
</ul> </ul>
</li> </li>
<li class="treeview "> <li class="treeview ">
...@@ -232,17 +233,59 @@ ...@@ -232,17 +233,59 @@
<a href="#" class="btn btn-default btn-flat">Profile</a> <a href="#" class="btn btn-default btn-flat">Profile</a>
</div> </div>
<div class="pull-right"> <div class="pull-right">
<a href="{% url 'logout'%}?next={{request.path}}" class="btn btn-default btn-flat">Sign out</a> <a href="{% url 'logout' %}?next={{ request.path }}" class="btn btn-default btn-flat">Sign out</a>
</div> </div>
</li> </li>
</ul> </ul>
{% endblock %} {% endblock %}
{% block history %}
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-history"></i>
</a>
<ul class="dropdown-menu">
<!-- User image -->
<li class="user-header">
<p>
Historial de compras
</p>
</li>
<div class="form-group">
<br>
<ul class="sidebar-menu" data-widget="tree">
<!-- History element -->
<li>
<a class="treeview " href="../reports/T15QZD_sclData">
<i class="fa fa-line-chart"></i>
<span>Report #</span>
<span class="pull-right-container">
<span class="label label-primary pull-right"></span>
</span>
</a>
</li>
<!-- End History element -->
<!-- History element -->
<li>
<a class="treeview " href="../reports/T16QBJ_sclData">
<i class="fa fa-line-chart"></i>
<span>Report #</span>
<span class="pull-right-container">
<span class="label label-primary pull-right"></span>
</span>
</a>
</li>
<!-- End History element -->
</ul>
</div>
</ul>
{% endblock %}
{% block content %} {% block content %}
<div id="map" class="map" tabindex="0"> </div> <div id="map" class="map" tabindex="0"></div>
<footer class="my-footer"> <footer class="my-footer">
<strong> <strong>
<a href="http://www.centrogeo.org.mx/">© 2018 Centro de Investigación en Ciencias de Información Geoespacial</a> <a href="http://www.centrogeo.org.mx/">© 2018 Centro de Investigación en Ciencias de Información
Geoespacial</a>
</strong> </strong>
</footer> </footer>
{% endblock %} {% endblock %}
......
...@@ -12,5 +12,4 @@ urlpatterns = [ ...@@ -12,5 +12,4 @@ urlpatterns = [
url(r'^cartrequest/$', views.saveInCart, name='cart-rqst'), url(r'^cartrequest/$', views.saveInCart, name='cart-rqst'),
url(r'^fromcartrqst/$', views.getFromCart, name='from-cart-rqst'), url(r'^fromcartrqst/$', views.getFromCart, name='from-cart-rqst'),
url(r'^purchcartrqst/$', views.purchaseProduct, name='purch-prod-rqst'), url(r'^purchcartrqst/$', views.purchaseProduct, name='purch-prod-rqst'),
url(r'^scl/$', views.L2ASCL_data, name='L2ASCL-data')
] ]
...@@ -49,6 +49,7 @@ def requestToImage(request): ...@@ -49,6 +49,7 @@ def requestToImage(request):
img_link = request.GET['value'] img_link = request.GET['value']
r = requests.get(img_link, auth=("emmhp", "geoemm29"), stream=True) r = requests.get(img_link, auth=("emmhp", "geoemm29"), stream=True)
img_str = base64.b64encode(r.content) img_str = base64.b64encode(r.content)
img_str = img_str.decode('utf-8')
return JsonResponse({'img': img_str}) return JsonResponse({'img': img_str})
...@@ -91,6 +92,10 @@ def productList(request): ...@@ -91,6 +92,10 @@ def productList(request):
# img_link = products[p]['link_icon'] # img_link = products[p]['link_icon']
# img_link = img_link[:img_link.find("/")+2] + "emmhp:geoemm29@" + img_link[img_link.find("/")+2:] # img_link = img_link[:img_link.find("/")+2] + "emmhp:geoemm29@" + img_link[img_link.find("/")+2:]
if products[p].get('tileid') is None:
titleid = products[p]['title'].split("_")
products[p]['tileid'] = titleid[5][1:]
catalog.append({ catalog.append({
'process' : process, 'process' : process,
'start_date' : init_date, 'start_date' : init_date,
...@@ -262,11 +267,11 @@ def purchaseProduct(request): ...@@ -262,11 +267,11 @@ def purchaseProduct(request):
## TODO: Add product L1C to Cart DB after product download. ## ## TODO: Add product L1C to Cart DB after product download. ##
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
def L2ASCL_data(request): # def L2ASCL_data(request):
with open("/home/mchc/data.json") as f: # with open("/home/ulises/REPSAT_NAS/mario_repsat_test/T15QZD_sclData.json") as f:
json_data = json.load(f) # json_data = json.load(f)
print(json_data) # print(json_data)
return render(request, 'L2ASCL_data.html', {"labels":",".join([k for k in json_data]), "vegetation":[v["4"] for k,v in json_data.items()] }) # return render(request, 'L2ASCL_data.html', {"labels":",".join([k for k in json_data]), "vegetation":[v["4"] for k,v in json_data.items()] })
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# def purchaseProduct(request): # def purchaseProduct(request):
# """ # """
......
No preview for this file type
This diff is collapsed.
from django.conf.urls import url from django.conf.urls import url
from . import views from . import views
from reports import views
urlpatterns = [ urlpatterns = [
url(r'^$', views.report_L2ASCL, name='report'), url(r'^(?P<report>[\w\-]+)/$', views.report_L2ASCL, name='report'),
url(r'^(?P<report>\w+)$', views.report_L2ASCL, name='report'),
] ]
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import io
from django.http import FileResponse
from reportlab.pdfgen import canvas
from django.shortcuts import render from django.shortcuts import render
# Create your views here. # Create your views here.
from collections import OrderedDict from collections import OrderedDict
import json import json
#-------------------------------------------------------------------------------
def report_L2ASCL(request, report=0):
with open("/home/mario/NAS_MarioCh/mario_repsat_test/T15QZD_sclData.json") as f: # -------------------------------------------------------------------------------
from reportlab.pdfgen import canvas
from GeoInt_SIDT import settings
def report_L2ASCL(request, report):
with open("/home/ulises/REPSAT_NAS/mario_repsat_test/"+report+".json") as f:
json_data = OrderedDict(json.load(f)) json_data = OrderedDict(json.load(f))
graphData = dict() graphData = dict()
graphData['type']="line" graphData['type'] = "line"
data=dict() data = dict()
data['labels'] = [ k for k,v in sorted(json_data.items()) ] data['labels'] = [k for k, v in sorted(json_data.items())]
# data['click']="chartOnClick" # data['click']="chartOnClick"
data['datasets'] = list() data['datasets'] = list()
labels = set() labels = set()
for d in json_data: for d in json_data:
labels |= set(json_data[d].keys()) labels |= set(json_data[d].keys())
labels.remove('date') labels.remove('date')
labelNames = ["No Data", "Saturated", "Shadows", "Cloud Shadows", "Vegetation", "Not-Vegetated", "Whater", "Unclassified", "Cloud Medium Probablilty", "Cloud Hight Probablilty", "Thin Cirrus", "Snow"] labelNames = ["No Data", "Saturated", "Shadows", "Cloud Shadows", "Vegetation", "Not-Vegetated", "Whater",
colors = ["Black", "Red", "DarkGray", "Brown", "Green", "Yellow", "Blue", "Grey", "LightGray", "White", "Aqua", "Pink"] "Unclassified", "Cloud Medium Probablilty", "Cloud Hight Probablilty", "Thin Cirrus", "Snow"]
colors = ["Black", "Red", "DarkGray", "Brown", "Green", "Yellow", "Blue", "Grey", "LightGray", "White", "Aqua",
"Pink"]
for l in labels: for l in labels:
item = dict() item = dict()
item['label'] = labelNames[int(l)] item['label'] = labelNames[int(l)]
# item['fill'] = "false"
if l == "0": if l == "0":
item['hidden'] = "true" item['hidden'] = "true"
item['data'] = [ v[l] * 60*60/1000000. for k,v in sorted(json_data.items()) if l in v] item['data'] = [v[l] * 60 * 60 / 1000000. for k, v in sorted(json_data.items()) if l in v]
item['backgroundColor']=colors[int(l)] item['backgroundColor'] = colors[int(l)]
data['datasets'].append(item) data['datasets'].append(item)
graphData['data']=data graphData['data'] = data
#print(settings.BASE_URL)
# graphData['options']['responsive']=True
# graphData['options']['maintainAspectRatio']=False
#print(json.dumps(graphData).encode("utf-8"))
# graphData['options']['responsive']=True return render(request, 'L2ASCL_data.html', {"graphData": json.dumps(graphData), "report_name": report})
# graphData['options']['maintainAspectRatio']=False # -------------------------------------------------------------------------------
print( json.dumps(graphData).encode("utf-8"))
return render(request, 'L2ASCL_data.html', {"graphData":json.dumps(graphData).encode("utf-8")})
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