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
69c31a50
Commit
69c31a50
authored
Aug 31, 2018
by
Renán Sosa Guillen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
performance improvement
parent
6394ede9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
178 additions
and
135 deletions
+178
-135
populate_products_l1c.py
catalog/management/commands/populate_products_l1c.py
+24
-14
populate_products_l2a.py
catalog/management/commands/populate_products_l2a.py
+21
-10
models.py
catalog/models.py
+0
-5
body.css
catalog/static/css/body.css
+6
-0
dataRetrieval.js
catalog/static/js/dataRetrieval.js
+117
-99
map.html
catalog/templates/map.html
+1
-1
templates.html
catalog/templates/templates.html
+9
-6
No files found.
catalog/management/commands/populate_products_l1c.py
View file @
69c31a50
...
@@ -44,8 +44,13 @@ class Command(BaseCommand):
...
@@ -44,8 +44,13 @@ class Command(BaseCommand):
uri
=
"https://scihub.copernicus.eu/dhus/odata/v1/Products?$filter=Name eq '"
+
product_name
+
"'"
uri
=
"https://scihub.copernicus.eu/dhus/odata/v1/Products?$filter=Name eq '"
+
product_name
+
"'"
r
=
requests
.
get
(
uri
,
auth
=
(
usr
,
pwd
))
r
=
requests
.
get
(
uri
,
auth
=
(
usr
,
pwd
))
root
=
ET
.
fromstring
(
r
.
content
)
root
=
ET
.
fromstring
(
r
.
content
)
print
root
# base_link = root[5][0].text
# base_link = root[5][0].text
uuid
=
root
[
5
][
11
][
0
]
.
text
try
:
uuid
=
root
[
5
][
11
][
0
]
.
text
except
:
print
root
print
"
\n
"
data_dict
=
apiSentinel
.
get_product_odata
(
uuid
,
full
=
True
)
data_dict
=
apiSentinel
.
get_product_odata
(
uuid
,
full
=
True
)
...
@@ -68,18 +73,23 @@ class Command(BaseCommand):
...
@@ -68,18 +73,23 @@ class Command(BaseCommand):
PRODUCT_EXISTS
=
Product_l1c
.
objects
.
filter
(
identifier
=
file_name
)
.
exists
()
PRODUCT_EXISTS
=
Product_l1c
.
objects
.
filter
(
identifier
=
file_name
)
.
exists
()
if
not
PRODUCT_EXISTS
:
if
not
PRODUCT_EXISTS
:
data_dict
=
self
.
generate_json
(
file_name
)
try
:
# print json.dumps(data_dict, indent=3, sort_keys=True, default=str)
data_dict
=
self
.
generate_json
(
file_name
)
# print json.dumps(data_dict, indent=3, sort_keys=True, default=str)
product_l1c
=
Product_l1c
(
uuid
=
data_dict
[
'id'
],
product_l1c
=
Product_l1c
(
identifier
=
data_dict
[
'Identifier'
],
uuid
=
data_dict
[
'id'
],
file_path
=
path
,
identifier
=
data_dict
[
'Identifier'
],
json
=
json
.
dumps
(
data_dict
,
indent
=
3
,
sort_keys
=
True
,
ensure_ascii
=
True
,
default
=
str
)
file_path
=
path
,
)
json
=
json
.
dumps
(
data_dict
,
indent
=
3
,
sort_keys
=
True
,
ensure_ascii
=
True
,
default
=
str
)
)
product_l1c
.
save
()
print
"Id: "
+
data_dict
[
'id'
]
product_l1c
.
save
()
print
"Id: "
+
data_dict
[
'id'
]
except
:
print
"Error con el archivo "
+
file_name
else
:
else
:
print
"Product "
+
file_name
+
"is already in DB."
# print "Product " + file_name + " is already in DB."
pass
catalog/management/commands/populate_products_l2a.py
View file @
69c31a50
...
@@ -33,13 +33,24 @@ class Command(BaseCommand):
...
@@ -33,13 +33,24 @@ class Command(BaseCommand):
for
file
in
file_list
:
for
file
in
file_list
:
file_name
=
file
.
replace
(
".zip"
,
''
)
file_name
=
file
.
replace
(
".zip"
,
''
)
prod_l1c
=
Product_l1c
.
objects
.
all
()
.
filter
(
identifier
=
file_name
)[
0
]
try
:
PRODUCT_EXISTS
=
Product_l2a
.
objects
.
filter
(
identifier
=
file_name
)
.
exists
()
product_l2a
=
Product_l2a
(
prod_l1c
=
prod_l1c
,
if
not
PRODUCT_EXISTS
:
identifier
=
prod_l1c
.
identifier
,
prod_l1c
=
Product_l1c
.
objects
.
filter
(
identifier
=
file_name
)[
0
]
file_path
=
path
)
product_l2a
=
Product_l2a
(
prod_l1c
=
prod_l1c
,
product_l2a
.
save
()
identifier
=
prod_l1c
.
identifier
,
print
prod_l1c
.
identifier
file_path
=
path
)
product_l2a
.
save
()
print
prod_l1c
.
identifier
else
:
"Existe"
except
:
print
"Error con archivo "
+
file_name
catalog/models.py
View file @
69c31a50
...
@@ -27,11 +27,6 @@ class Polygon(models.Model):
...
@@ -27,11 +27,6 @@ class Polygon(models.Model):
wkt_polygon
=
models
.
TextField
(
null
=
True
)
wkt_polygon
=
models
.
TextField
(
null
=
True
)
class
KeyNameTable
(
models
.
Model
):
id
=
models
.
CharField
(
max_length
=
10
,
primary_key
=
True
,
unique
=
True
)
name
=
models
.
CharField
(
max_length
=
65
)
class
Product_l1c
(
models
.
Model
):
class
Product_l1c
(
models
.
Model
):
uuid
=
models
.
CharField
(
max_length
=
50
)
uuid
=
models
.
CharField
(
max_length
=
50
)
identifier
=
models
.
CharField
(
max_length
=
50
)
identifier
=
models
.
CharField
(
max_length
=
50
)
...
...
catalog/static/css/body.css
View file @
69c31a50
...
@@ -361,6 +361,12 @@ div .sidebar-button button {
...
@@ -361,6 +361,12 @@ div .sidebar-button button {
bottom
:
30px
;
bottom
:
30px
;
}
}
.single-product-input
input
[
type
=
checkbox
]
{
float
:
right
;
margin-right
:
5%
;
margin-top
:
8%
;
}
/*ul.control-sidebar-menu input[type=checkbox] {*/
/*ul.control-sidebar-menu input[type=checkbox] {*/
/*position: absolute;*/
/*position: absolute;*/
/*right: 20px;*/
/*right: 20px;*/
...
...
catalog/static/js/dataRetrieval.js
View file @
69c31a50
...
@@ -122,7 +122,9 @@ function erase_product_list_globe() {
...
@@ -122,7 +122,9 @@ function erase_product_list_globe() {
function
erase_product_list_globe_by_id
(
element_id
)
{
function
erase_product_list_globe_by_id
(
element_id
)
{
var
$li_element
=
$
(
'li#'
+
element_id
);
var
$div_element
=
$
(
'div#'
+
element_id
+
"-div"
);
var
$li_element
=
$
(
'li#'
+
element_id
+
"-li"
);
$div_element
[
0
].
parentNode
.
removeChild
(
$div_element
[
0
]);
$li_element
[
0
].
parentNode
.
removeChild
(
$li_element
[
0
]);
$li_element
[
0
].
parentNode
.
removeChild
(
$li_element
[
0
]);
}
}
...
@@ -138,7 +140,7 @@ function drawApiResponse(element) {
...
@@ -138,7 +140,7 @@ function drawApiResponse(element) {
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
(
"-
h4
"
,
''
))
{
if
(
data
.
uuid
===
element
.
id
.
replace
(
"-
li
"
,
''
))
{
element
.
style
.
textDecoration
=
'underline'
;
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
);
prevfeature
=
osmap
.
addfootprint
(
data
.
product
.
footprint
,
prevfeature
);
...
@@ -192,9 +194,12 @@ $(document).click(function (event) {
...
@@ -192,9 +194,12 @@ $(document).click(function (event) {
});
});
function
no_prods_modal
()
{
function
mssgModal
(
info
)
{
$
(
'aside'
).
removeClass
(
"control-sidebar-open"
);
var
modal
=
document
.
querySelector
(
'#mssg-modal'
);
$
(
'#no-prods-modal'
).
modal
(
'show'
);
// filling template
modal
.
querySelector
(
'.modal-title'
).
textContent
=
info
.
title
;
modal
.
querySelector
(
'.modal-body'
).
querySelector
(
'p'
).
textContent
=
info
.
body
;
$
(
'#mssg-modal'
).
modal
(
'show'
);
}
}
...
@@ -242,9 +247,7 @@ $(document).ready(function () {
...
@@ -242,9 +247,7 @@ $(document).ready(function () {
// function for making POST request to productList in view.py
// function for making POST request to productList in view.py
$
(
'#product-form'
).
submit
(
function
(
event
)
{
$
(
'#product-form'
).
submit
(
function
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
erase_product_list_globe
();
erase_product_list_globe
();
var
submit_data
=
$
(
'#product-form'
).
serialize
();
var
submit_data
=
$
(
'#product-form'
).
serialize
();
// petición de producto a base de datos
// petición de producto a base de datos
...
@@ -261,9 +264,7 @@ $(document).ready(function () {
...
@@ -261,9 +264,7 @@ $(document).ready(function () {
// productListGlobe = data.catalog;
// productListGlobe = data.catalog;
// console.log('GLOBEEE: ', productListGlobe);
// console.log('GLOBEEE: ', productListGlobe);
if
(
product_list
.
catalog
.
length
<=
0
)
{
if
(
product_list
.
catalog
.
length
>
0
)
{
no_prods_modal
();
}
else
{
console
.
log
(
"DEFS: ahora crea producto"
);
console
.
log
(
"DEFS: ahora crea producto"
);
data
.
catalog
.
forEach
(
function
(
data
)
{
data
.
catalog
.
forEach
(
function
(
data
)
{
...
@@ -280,15 +281,16 @@ $(document).ready(function () {
...
@@ -280,15 +281,16 @@ $(document).ready(function () {
var
temp
=
document
.
querySelector
(
'#product_list_template'
);
var
temp
=
document
.
querySelector
(
'#product_list_template'
);
// filling template
// filling template
temp
.
content
.
querySelector
(
'li'
).
id
=
data
.
uuid
;
temp
.
content
.
querySelector
(
'.single-product-input'
).
id
=
data
.
uuid
+
"-div"
;
temp
.
content
.
querySelector
(
'h4'
).
id
=
data
.
uuid
+
"-h4"
;
temp
.
content
.
querySelector
(
'input'
).
value
=
data
.
uuid
;
temp
.
content
.
querySelector
(
'h4'
).
textContent
=
data
.
product
.
producttype
+
"_"
+
data
.
product
.
tileid
;
temp
.
content
.
querySelector
(
'li'
).
id
=
data
.
uuid
+
"-li"
;
temp
.
content
.
querySelector
(
'p'
).
textContent
=
data
.
product
.
beginposition
;
temp
.
content
.
querySelector
(
'h4'
).
id
=
data
.
uuid
+
"-h4"
;
temp
.
content
.
querySelector
(
'input'
).
value
=
data
.
uuid
;
temp
.
content
.
querySelector
(
'h4'
).
textContent
=
data
.
product
.
producttype
+
"_"
+
data
.
product
.
tileid
;
temp
.
content
.
querySelector
(
'img'
).
src
=
"data:image/jpeg;base64, "
+
data
.
img
;
temp
.
content
.
querySelector
(
'p'
).
textContent
=
data
.
product
.
beginposition
;
temp
.
content
.
querySelectorAll
(
'span'
)[
1
].
textContent
=
data
.
product
.
identifier
;
temp
.
content
.
querySelector
(
'img'
).
src
=
"data:image/jpeg;base64, "
+
data
.
img
;
temp
.
content
.
querySelectorAll
(
'span'
)[
2
].
textContent
=
data
.
product
.
size
;
temp
.
content
.
querySelectorAll
(
'span'
)[
1
].
textContent
=
data
.
product
.
identifier
;
temp
.
content
.
querySelectorAll
(
'span'
)[
3
].
textContent
=
data
.
product
.
instrumentname
;
temp
.
content
.
querySelectorAll
(
'span'
)[
2
].
textContent
=
data
.
product
.
size
;
temp
.
content
.
querySelectorAll
(
'span'
)[
3
].
textContent
=
data
.
product
.
instrumentname
;
var
clone
=
document
.
importNode
(
temp
.
content
,
true
);
var
clone
=
document
.
importNode
(
temp
.
content
,
true
);
document
.
querySelector
(
'#product-list-globe'
).
appendChild
(
clone
);
document
.
querySelector
(
'#product-list-globe'
).
appendChild
(
clone
);
...
@@ -301,6 +303,12 @@ $(document).ready(function () {
...
@@ -301,6 +303,12 @@ $(document).ready(function () {
});
});
showProductTabPane
();
showProductTabPane
();
}
else
{
$
(
'aside'
).
removeClass
(
"control-sidebar-open"
);
mssgModal
({
title
:
"No products were found!"
,
body
:
"Parameters for this search brought no results."
});
}
}
}
}
});
});
...
@@ -310,96 +318,106 @@ $(document).ready(function () {
...
@@ -310,96 +318,106 @@ $(document).ready(function () {
// agrega producto al carrito
// agrega producto al carrito
$
(
'#product-to-cart-form'
).
submit
(
function
(
event
)
{
$
(
'#product-to-cart-form'
).
submit
(
function
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
var
ul_element
=
document
.
getElementById
(
'product-list-globe'
);
var
submit_data
=
$
(
'#product-to-cart-form'
).
serialize
();
if
(
ul_element
.
firstChild
)
{
console
.
log
(
"Submitted data:"
,
typeof
(
submit_data
));
console
.
log
(
"ULEMA: "
,
ul_element
);
console
.
log
(
"Submitted data:"
,
submit_data
);
var
submit_data
=
$
(
'#product-to-cart-form'
).
serialize
();
console
.
log
(
"Submitted data:"
,
typeof
(
submit_data
));
var
submit_data_array
=
submit_data
.
split
(
"&product_selected="
);
console
.
log
(
"Submitted data:"
,
submit_data
);
var
submit_data_array
=
submit_data
.
split
(
"&product_selected="
);
console
.
log
(
"djdj: "
,
productListGlobe
);
productListGlobe
.
forEach
(
function
(
data
)
{
console
.
log
(
"djdj: "
,
productListGlobe
);
if
(
submit_data_array
.
indexOf
(
data
.
uuid
)
>
-
1
)
{
productListGlobe
.
forEach
(
function
(
data
)
{
console
.
log
(
"DATA sí esta: "
,
data
.
uuid
);
if
(
submit_data_array
.
indexOf
(
data
.
uuid
)
>
-
1
)
{
console
.
log
(
"SS: "
,
data
.
product
.
size
);
console
.
log
(
"DATA sí esta: "
,
data
.
uuid
);
cartProductList
.
push
({
console
.
log
(
"SS: "
,
data
.
product
.
size
);
'uuid'
:
data
.
uuid
,
productUUIDListCart
.
push
(
data
.
uuid
);
'info'
:
{
erase_product_list_globe_by_id
(
data
.
uuid
);
'producttype'
:
data
.
product
.
producttype
,
'tileid'
:
data
.
product
.
tileid
,
cartProductList
.
push
({
'beginposition'
:
data
.
product
.
beginposition
,
'uuid'
:
data
.
uuid
,
'img'
:
data
.
img
,
'info'
:
{
'identifier'
:
data
.
product
.
identifier
,
'producttype'
:
data
.
product
.
producttype
,
'size'
:
data
.
product
.
size
,
'tileid'
:
data
.
product
.
tileid
,
'instrumentname'
:
data
.
product
.
instrumentname
'beginposition'
:
data
.
product
.
beginposition
,
}
'img'
:
data
.
img
,
});
'identifier'
:
data
.
product
.
identifier
,
productUUIDListCart
.
push
(
data
.
uuid
);
'size'
:
data
.
product
.
size
,
erase_product_list_globe_by_id
(
data
.
uuid
);
'instrumentname'
:
data
.
product
.
instrumentname
}
}
});
});
// request para guardado de producto en carrito
// variable prod_cart_url en map.html
$
.
ajax
({
type
:
'POST'
,
url
:
prod_cart_url
,
data
:
{
'csrfmiddlewaretoken'
:
document
.
getElementsByName
(
'csrfmiddlewaretoken'
)[
0
].
value
,
'cart_product_list'
:
JSON
.
stringify
(
cartProductList
)
},
success
:
function
()
{
cartProductList
=
[];
// PRODUCT_COUNTER += 1; // this variable counts the number of products in shopping cart
// PRODUCT_COUNTER_STR = PRODUCT_COUNTER.toString();
// var temp_1 = document.querySelector('#product_cart_1');
// var prod_id = temp_1.content.querySelectorAll('ul')[1].id + "-" + PRODUCT_COUNTER_STR;
// // filling template
// temp_1.content.querySelector('span').textContent = "Product " + PRODUCT_COUNTER_STR;
// temp_1.content.querySelectorAll('ul')[1].id = prod_id;
// var clone_1 = document.importNode(temp_1.content, true);
// document.querySelector('#product-list-cart').appendChild(clone_1);
if
(
!
IS_PRODUCT_CONTAINER
)
{
createProductContainer
();
IS_PRODUCT_CONTAINER
=
true
;
}
}
});
// request a DB para mostrar los productos en el carrito
if
(
cartProductList
.
length
>
0
)
{
// variable prod_from_cartDB_url en map.html
// request para guardado de producto en carrito
// variable prod_cart_url en map.html
$
.
ajax
({
$
.
ajax
({
type
:
'POST'
,
type
:
'POST'
,
url
:
prod_
from_cartDB
_url
,
url
:
prod_
cart
_url
,
data
:
{
data
:
{
'csrfmiddlewaretoken'
:
document
.
getElementsByName
(
'csrfmiddlewaretoken'
)[
0
].
value
,
'csrfmiddlewaretoken'
:
document
.
getElementsByName
(
'csrfmiddlewaretoken'
)[
0
].
value
,
'
product_uuid_list'
:
productUUIDListCart
.
toString
(
)
'
cart_product_list'
:
JSON
.
stringify
(
cartProductList
)
},
},
dataType
:
'json'
,
success
:
function
()
{
success
:
function
(
data
)
{
cartProductList
=
[];
productUUIDListCart
=
[];
// PRODUCT_COUNTER += 1; // this variable counts the number of products in shopping cart
data
.
product_list
.
forEach
(
function
(
product
)
{
// PRODUCT_COUNTER_STR = PRODUCT_COUNTER.toString();
var
temp_2
=
document
.
querySelector
(
'#product_cart_2'
);
// var temp_1 = document.querySelector('#product_cart_1');
// filling template
// var prod_id = temp_1.content.querySelectorAll('ul')[1].id + "-" + PRODUCT_COUNTER_STR;
temp_2
.
content
.
querySelector
(
'li'
).
id
=
product
.
uuid
;
temp_2
.
content
.
querySelector
(
'h4'
).
id
=
product
.
uuid
+
"-h4"
;
// // filling template
temp_2
.
content
.
querySelector
(
'h4'
).
textContent
=
product
.
info
.
producttype
+
"_"
+
product
.
info
.
tileid
;
// temp_1.content.querySelector('span').textContent = "Product " + PRODUCT_COUNTER_STR;
temp_2
.
content
.
querySelector
(
'p'
).
textContent
=
product
.
info
.
beginposition
;
// temp_1.content.querySelectorAll('ul')[1].id = prod_id;
temp_2
.
content
.
querySelector
(
'img'
).
src
=
"data:image/jpeg;base64, "
+
product
.
info
.
img
;
temp_2
.
content
.
querySelectorAll
(
'span'
)[
1
].
textContent
=
product
.
info
.
identifier
;
// var clone_1 = document.importNode(temp_1.content, true);
temp_2
.
content
.
querySelectorAll
(
'span'
)[
2
].
textContent
=
product
.
info
.
size
;
// document.querySelector('#product-list-cart').appendChild(clone_1);
temp_2
.
content
.
querySelectorAll
(
'span'
)[
3
].
textContent
=
product
.
info
.
instrumentname
;
if
(
!
IS_PRODUCT_CONTAINER
)
{
createProductContainer
();
var
clone_2
=
document
.
importNode
(
temp_2
.
content
,
true
);
IS_PRODUCT_CONTAINER
=
true
;
document
.
querySelector
(
'#product-list-cart-items'
).
appendChild
(
clone_2
);
}
// document.querySelector('#' + prod_id).appendChild(clone_2);
// request a DB para mostrar los productos en el carrito
// variable prod_from_cartDB_url en map.html
$
.
ajax
({
type
:
'POST'
,
url
:
prod_from_cartDB_url
,
data
:
{
'csrfmiddlewaretoken'
:
document
.
getElementsByName
(
'csrfmiddlewaretoken'
)[
0
].
value
,
'product_uuid_list'
:
productUUIDListCart
.
toString
()
},
dataType
:
'json'
,
success
:
function
(
data
)
{
productUUIDListCart
=
[];
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
);
// document.querySelector('#' + prod_id).appendChild(clone_2);
});
}
});
});
}
}
});
});
}
else
{
mssgModal
({
title
:
"No products selected!"
,
body
:
"Select one or more products to send to your cart."
});
}
}
}
);
}
});
});
});
});
catalog/templates/map.html
View file @
69c31a50
...
@@ -243,7 +243,7 @@
...
@@ -243,7 +243,7 @@
{% endblock %}
{% endblock %}
{% block templates %}{% include "templates.html" %}{% endblock %}
{% block templates %}{% include "templates.html" %}{% endblock %}
{% block modal1 %}{% include "
noProducts
Modal.html" %}{% endblock %}
{% block modal1 %}{% include "
mssg
Modal.html" %}{% endblock %}
{% block scripts %}
{% block scripts %}
<script>
<script>
...
...
catalog/templates/templates.html
View file @
69c31a50
...
@@ -22,14 +22,17 @@
...
@@ -22,14 +22,17 @@
<!-- product list template -->
<!-- product list template -->
<template
id=
"product_list_template"
>
<template
id=
"product_list_template"
>
<div
id=
""
class=
"single-product-input"
>
<input
type=
"checkbox"
name=
"product_selected"
value=
""
checked
>
</div>
<li
id=
""
onclick=
"drawApiResponse(this);"
>
<li
id=
""
onclick=
"drawApiResponse(this);"
>
<a
href=
"javascript:void(0)"
>
<a
href=
"javascript:void(0)"
>
<i
class=
"menu-icon glyphicon glyphicon-bookmark bg-red"
></i>
<i
class=
"menu-icon glyphicon glyphicon-bookmark bg-red"
></i>
<div
class=
"menu-info"
>
<div
class=
"menu-info"
>
<h4
id=
""
class=
"control-sidebar-subheading"
></h4>
<h4
id=
""
class=
"control-sidebar-subheading"
></h4>
<p></p>
<p></p>
<input
type=
"checkbox"
name=
"product_selected"
value=
""
checked
>
<!-- <input type="checkbox" name="product_selected" value="" checked> --
>
</div>
</div>
</a>
</a>
<div
class=
"info-product-box bg-geo"
>
<div
class=
"info-product-box bg-geo"
>
<span
class=
"info-product-box-img"
>
<span
class=
"info-product-box-img"
>
...
...
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