Commit f0537364 authored by José Luis Uc's avatar José Luis Uc

Merge branch 'dev' of gitlab.geoint.mx:mario.chirinos/GeoInt_SIDT into dev

parents b0ea183d f5991429
......@@ -331,7 +331,7 @@ div .menu-info h4 {
/*}*/
div #product-list-globe {
max-height: 773px;
max-height: 820px;
overflow: auto;
}
......@@ -363,6 +363,11 @@ ul.product_list_category li:hover div.bg-geo {
display: block;
}
div #product-list-cart{
max-height: 820px;
overflow: auto;
}
/*div #product-list-cart-items {
max-height: 167px;
overflow: auto;
......
......@@ -17,7 +17,8 @@ html, body
position:absolute;
bottom:0;
border: 0px solid blue;
z-index: 99999;
/* z-index: 99999; */
z-index: 6 !important;
width: 100%;
height:32px;
vertical-align: middle;
......
......@@ -66,6 +66,42 @@ var makeRequest = function (value) {
});
};
function updateCart(){
$("#product-list-cart").empty();
$.ajax({
type: 'POST',
url: prod_from_cartDB_url,
data: {
'csrfmiddlewaretoken': document.getElementsByName('csrfmiddlewaretoken')[0].value
},
dataType: 'json',
success: function (data) {
productsToObtain = [];
createProductContainer(data.product_list);
data.product_list.forEach(function (products) {
let id = "L-" + products.aggreg_date.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "-");
products.catalog.forEach(function (product) {
var temp_2 = document.querySelector('#product_cart_2');
// filling template
temp_2.content.querySelector('li').id = product.uuid;
temp_2.content.querySelector('h4').id = product.uuid + "-h4";
temp_2.content.querySelector('h4').textContent = product.info.producttype + "_" + product.info.tileid;
temp_2.content.querySelector('p').textContent = product.info.beginposition;
temp_2.content.querySelector('img').src = "data:image/jpeg;base64, " + product.info.img;
temp_2.content.querySelectorAll('span')[1].textContent = product.info.identifier;
temp_2.content.querySelectorAll('span')[2].textContent = product.info.size;
temp_2.content.querySelectorAll('span')[3].textContent = product.info.instrumentname;
var clone_2 = document.importNode(temp_2.content, true);
//document.querySelector('#product-list-cart-items').appendChild(clone_2);
document.querySelector('#' + id).appendChild(clone_2);
});
});
}
});
};
function drawPolygon(element) {
polygonList.forEach(function (polygon) {
......@@ -171,14 +207,15 @@ function drawApiResponse(element) {
}
function createProductContainer() {
var temp_1 = document.querySelector('#product_cart_1');
// filling template
temp_1.content.querySelector('span').textContent = "Product";
var clone_1 = document.importNode(temp_1.content, true);
document.querySelector('#product-list-cart').appendChild(clone_1);
function createProductContainer(products) {
products.forEach(function(list){
var temp_1 = document.querySelector('#product_cart_1');
let name = list.aggreg_date.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "-");
temp_1.content.querySelector('span').textContent = name;
temp_1.content.querySelector('ul .control-sidebar-menu').id = "L-" + name;
var clone_1 = document.importNode(temp_1.content, true);
document.querySelector('#product-list-cart').appendChild(clone_1);
})
}
let productCategory = new Map();
......@@ -416,45 +453,7 @@ $(document).ready(function () {
success: function () {
cartProductList = [];
productUUIDListCart.push.apply(productUUIDListCart, productsToObtain);
if (!IS_PRODUCT_CONTAINER) {
// building product container
createProductContainer();
IS_PRODUCT_CONTAINER = true; // this flag is set to false when products are purchased
}
// request to DB for showing the products in cart
// variable prod_from_cartDB_url in map.html
$.ajax({
type : 'POST',
url : prod_from_cartDB_url,
data : {
'csrfmiddlewaretoken' : document.getElementsByName('csrfmiddlewaretoken')[0].value,
'product_uuid_list' : productsToObtain.toString()
},
dataType : 'json',
success : function (data) {
productsToObtain = [];
data.product_list.forEach(function (products) {
products.catalog.forEach(function(product){
var temp_2 = document.querySelector('#product_cart_2');
// filling template
temp_2.content.querySelector('li').id = product.uuid;
temp_2.content.querySelector('h4').id = product.uuid + "-h4";
temp_2.content.querySelector('h4').textContent = product.info.producttype + "_" + product.info.tileid;
temp_2.content.querySelector('p').textContent = product.info.beginposition;
temp_2.content.querySelector('img').src = "data:image/jpeg;base64, " + product.info.img;
temp_2.content.querySelectorAll('span')[1].textContent = product.info.identifier;
temp_2.content.querySelectorAll('span')[2].textContent = product.info.size;
temp_2.content.querySelectorAll('span')[3].textContent = product.info.instrumentname;
var clone_2 = document.importNode(temp_2.content, true);
document.querySelector('#product-list-cart-items').appendChild(clone_2);
});
});
}
});
updateCart();
}
});
} else {
......@@ -491,9 +490,10 @@ $(document).ready(function () {
'csrfmiddlewaretoken' : document.getElementsByName('csrfmiddlewaretoken')[0].value,
'product_objects' : JSON.stringify(productObject),
'wkt' : $("#product-form input[name=polygon]").val(),
'startDate' : $("#product-form input[name=start]").val(),
'endDate' : $("#product-form input[name=end]").val(),
'clouds' : $("#product-form input[name=cloudPercentage]").val(),
'startDate' : $("#product-form input[name=start]").val(),
'endDate' : $("#product-form input[name=end]").val(),
'clouds' : $("#product-form input[name=cloudPercentage]").val(),
'usuario' : $("#product-form input[name=user_name]").val()
},
dataType : 'json'
});
......
......@@ -104,7 +104,7 @@
<!-- Create the 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="cart"><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-shopping-cart"></i></a>
<li id="cart"><a href="#control-sidebar-settings-tab" onclick="updateCart()" data-toggle="tab"><i class="fa fa-shopping-cart"></i></a>
</li>
</ul>
<!-- Tab panes -->
......
......@@ -137,6 +137,7 @@
<!-- <form role="form" target="catalogFrame" action="{% url 'productList' %}" method="post"> -->
<form id='product-form' role="form" method="post">
{% csrf_token %}
<input type="hidden" id="user_name" name="user_name" value={{user.get_username}}>
<ul class="sidebar-menu" data-widget="tree">
<li class="treeview">
<a href="#">
......
......@@ -80,7 +80,7 @@
</a>
<ul class="treeview-menu sidebar-form">
<li>
<ul id="product-list-cart-items" class="control-sidebar-menu"></ul>
<ul id="" class="control-sidebar-menu product_list_category"></ul>
</li>
</ul>
</li>
......@@ -95,7 +95,7 @@
<p></p>
</div>
</a>
<div class="info-product-cart-box bg-geo">
<div class="info-product-box bg-geo">
<span class="info-product-box-img">
<img src="">
</span>
......
......@@ -12,12 +12,14 @@ from django.core import management
#from urllib import urlencode
#from collections import OrderedDict
import requests, json, unicodedata, sys, base64
import os
import sys
sys.path.append('../GeoSentinel/')
from geosentinel import APISentinel, polygonToBox
sentinel = APISentinel.APISentinel('emmhp', 'geoemm29')
NAS_PATH = '/home/david/NAS/'
# Create your views here.
......@@ -206,13 +208,14 @@ def getFromCart(request):
user = User.objects.get(id=request.user.id)
prod_list = []
product_list = Purchase.objects.values('user', 'productList', 'purchased','price').filter(user=user, purchased=0)
product_list = Purchase.objects.values('user', 'productList', 'purchased', 'price', 'aggreg_date').filter(user=user, purchased=0)
for products in product_list:
product = json.loads(products['productList'])
prod_list.append({
'purchased': products['purchased'],
'price' : products['price'],
'aggreg_date' : products['aggreg_date'],
'catalog': product
})
return JsonResponse({'product_list': prod_list})
......@@ -267,17 +270,36 @@ def purchaseProduct(request):
print(request.POST['startDate'])
print(request.POST['endDate'])
print(request.POST['clouds'])
print(request.POST['usuario'])
username = request.POST['usuario']
fecha_inicio = request.POST['startDate']
fecha_fin = request.POST['endDate']
print(fecha_inicio.replace("-", ""))
print(fecha_fin.replace("-", ""))
userdir = NAS_PATH + "repsat_test_dev/"+username ##crea el directorio del usuario
if not os.path.exists(userdir):
os.makedirs(userdir)
products_dir = NAS_PATH + "sentinelImages/L2A/"
linksDir = userdir+"/L2A/"
#obtiene los datos para el json
data = {}
data['wkt'] = request.POST['wkt']
data['platform'] = 'Sentinel-2'
data['productLevel'] = 'L2A'
data['startDate'] = request.POST['startDate']
data['endDate'] = request.POST['endDate']
data['startDate'] = fecha_inicio.replace("-", "") #quita los guiones de la fecha
data['endDate'] = fecha_fin.replace("-", "") #quita los guiones de la fecha
#~ data['startDate'] = request.POST['startDate']
#~ data['endDate'] = request.POST['endDate']
data['clouds'] = request.POST['clouds']
data['productsDir'] = '/home/david/NAS/sentinelImages/L2A/'
data['linksDir'] = '/home/david/centroGEO/repsat/tests/L2A/'
#~ data['productsDir'] = '/home/david/NAS/sentinelImages/L2A/'
#~ data['linksDir'] = '/home/david/centroGEO/repsat/tests/L2A/'
data['productsDir'] = products_dir
data['linksDir'] = linksDir
data['username'] = 'mario-chirinos'
data['password'] = 'r4nc0r4u'
......@@ -286,7 +308,7 @@ def purchaseProduct(request):
json_data = json.dumps(data, indent=4)
print(json_data)
#escribe el json en el archivo
fidProductsFile = open("/home/david/centroGEO/repsat/GeoInt_SIDT/findProducts.json", "w")
fidProductsFile = open(userdir+"/findProducts.json", "w")
fidProductsFile.write(json_data)
fidProductsFile.close()
......
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