Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
GeoInt_SIDT
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mario Chirinos Colunga
GeoInt_SIDT
Commits
43723422
Commit
43723422
authored
Feb 06, 2019
by
Luis Ernesto Dominguez Uriostegui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.geoint.mx/mario.chirinos/GeoInt_SIDT
into dev
parents
eb146bfc
6ddcc845
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
41 deletions
+58
-41
models.py
catalog/models.py
+5
-1
dataRetrieval.js
catalog/static/catalog/js/dataRetrieval.js
+21
-16
views.py
catalog/views.py
+32
-24
No files found.
catalog/models.py
View file @
43723422
...
...
@@ -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
)
catalog/static/catalog/js/dataRetrieval.js
View file @
43723422
...
...
@@ -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
);
});
});
}
});
...
...
catalog/views.py
View file @
43723422
...
...
@@ -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
})
##-------------------------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment