Commit 43723422 authored by Luis Ernesto Dominguez Uriostegui's avatar Luis Ernesto Dominguez Uriostegui
parents eb146bfc 6ddcc845
......@@ -55,16 +55,20 @@ class Process(models.Model):
class Search(models.Model):
area = models.TextField(null=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
aggreg_date = models.DateTimeField(auto_now=True) # date of product aggregation
startDate = models.DateTimeField(verbose_name='Start Date')
endDate = models.DateTimeField(verbose_name='End Date')
process = models.ForeignKey(Process, on_delete=models.CASCADE, default='')
#process = models.ForeignKey(Process, on_delete=models.CASCADE, default='')
clouds = models.IntegerField(default=4)
class Purchase(models.Model):
aggreg_date = models.DateTimeField(auto_now=True) # date of product aggregation
user = models.ForeignKey(User, on_delete=models.CASCADE)
search = models.ForeignKey(Search, on_delete=models.CASCADE)
productList = models.TextField(verbose_name="JSON Product List")
purchased = models.BooleanField(default=False)
price = models.FloatField(default=0.0)
......@@ -342,7 +342,10 @@ $(document).ready(function () {
var clone = document.importNode(temp.content, true);
//document.querySelector('#product-list-globe').appendChild(clone);
document.querySelector('#L-' + data.product.tileid).appendChild(clone);
// console.log('#L-' + data.product.tileid);
setTimeout(() => {
document.querySelector('#L-' + data.product.tileid).appendChild(clone);
},100);
}
});
......@@ -432,21 +435,23 @@ $(document).ready(function () {
dataType : 'json',
success : function (data) {
productsToObtain = [];
data.product_list.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);
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);
});
});
}
});
......
......@@ -2,7 +2,7 @@
from __future__ import unicode_literals
from django.shortcuts import render
from catalog.forms import ASFSearchForm
from catalog.models import Polygon, CartProduct, Product_l1c
from catalog.models import Polygon, CartProduct, Product_l1c, Search, Purchase
from django.http import HttpResponse, JsonResponse, HttpResponseRedirect
from django.urls import reverse
from django.views.generic.base import View
......@@ -62,10 +62,12 @@ def productList(request):
req = dict(request.POST)
req.pop('csrfmiddlewaretoken', None)
user = User.objects.get(id=request.user.id)
process = req['platform'][0]
area = req['polygon'][0]
init_date = req['start'][0][:10]
end_date = req['end'][0][:10]
clouds = req['cloudPercentage'][0]
cloud_percentage = "[0 TO " + req['cloudPercentage'][0] + "]"
......@@ -107,6 +109,17 @@ def productList(request):
'img' : img_preview
})
if(len(catalog)!=0):
listSearch = Search(
user = user,
startDate = init_date,
endDate = end_date,
#process = process,
clouds = clouds,
area = area
)
listSearch.save()
return JsonResponse({'catalog': catalog});
# return HttpResponse(status=204)
......@@ -171,22 +184,17 @@ def saveInCart(request):
user = User.objects.get(id=request.user.id)
product_list = json.loads(request.POST['cart_product_list'])
for product in product_list:
p_uuid = product['uuid']
p_info = product['info']
PRODUCT_EXISTS = CartProduct.objects.filter(uuid=p_uuid, user=user).exists()
if not PRODUCT_EXISTS:
cartProd = CartProduct(
user = user,
uuid = p_uuid,
info = json.dumps(p_info, indent=3, sort_keys=True, ensure_ascii=True),
purchased = False
)
cartProd.save()
search = Search.objects.filter(user=user).last()
if(len(product_list)!=0):
cartProd = Purchase(
user = user,
search = search,
productList = json.dumps(product_list, indent=3, sort_keys=True, ensure_ascii=True),
purchased = False,
price = 5.0
)
cartProd.save()
return HttpResponse(status=204)
......@@ -197,16 +205,16 @@ def getFromCart(request):
"""
user = User.objects.get(id=request.user.id)
prod_uuid_list = request.POST['product_uuid_list'].split(",")
prod_list = []
for prod_uuid in prod_uuid_list:
product = CartProduct.objects.filter(uuid=prod_uuid, user=user).first()
product_list = Purchase.objects.values('user', 'productList', 'purchased','price').filter(user=user, purchased=0)
for products in product_list:
product = json.loads(products['productList'])
prod_list.append({
'uuid' : product.uuid,
'info' : json.loads(product.info)
'purchased': products['purchased'],
'price' : products['price'],
'catalog': product
})
return JsonResponse({'product_list': prod_list})
##-------------------------------------------------------------------------------
......
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