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
8d8086e7
Commit
8d8086e7
authored
Feb 06, 2019
by
Sergio Adrian Gongora Euan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DB of store of products
parent
5d275711
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
50 deletions
+67
-50
models.py
catalog/models.py
+14
-10
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 @
8d8086e7
...
...
@@ -54,18 +54,22 @@ class Process(models.Model):
productLevel
=
models
.
CharField
(
max_length
=
8
)
class
Search
(
models
.
Model
):
user
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
)
startDate
=
models
.
DateTimeField
(
verbose_name
=
'Start Date'
)
endDate
=
models
.
DateTimeField
(
verbose_name
=
'End Date'
)
process
=
models
.
ForeignKey
(
Process
,
on_delete
=
models
.
CASCADE
,
default
=
''
)
clouds
=
models
.
IntegerField
(
default
=
4
)
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='')
clouds
=
models
.
IntegerField
(
default
=
4
)
class
Purchase
(
models
.
Model
):
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
)
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 @
8d8086e7
...
...
@@ -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 @
8d8086e7
...
...
@@ -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